UNIVERSIDAD DE CHILE ´ ´ FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ´ DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION ˜ ´ DISENO Y DESARROLLO DE UNA HERRAMIENTA DE REPRESENTACION Y ´ VISUALIZACION DE REDES SOCIALES CON CAPACIDADES DISTRIBUIDAS ´ ´ MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVIL EN COMPUTACION FELIPE ANIBAL RICARDO ESPINOZA CASTILLO ´ PROFESOR GUIA: ´ CLAUDIO GUTIERREZ GALLARDO ´ MIEMBROS DE LA COMISION: GONZALO NAVARRO BADINO LUIS MATEU BRULE SANTIAGO DE CHILE SEPTIEMBRE 2013 Resumen Hoy existen diversas bases de datos centralizadas de relaciones de qui´en conoce a qui´en, como LittleSis y Poderopedia, que contienen informaci´on sobre relaciones y posibles conflic- tos de intereses entre las personas poderosas de un pa´ıs. Ellas son de mucha utilidad como medios de entrega de informacio´n a las personas. Ellas se basan en un modelo de red social que puede ser replicado en otras a´reas del conocimiento. Los investigadores y trabajadores sociales que se enfrentan con este tipo de estructuras sociales requieren aplicaciones que les faciliten su creacio´n y manejo. Con el objetivo de apo- yar el trabajo de estas personas, que no necesariamente tienen conocimientos avanzados de computacio´n, en esta memoria se abordo´ la creaci´on de una herramienta que le permitiera a sus usuarios crear y manejar informacio´n de las estructuras sociales en forma de redes en los contextos que ellos estimen convenientes. Este trabajo partio´ de la experiencia de una memoria similar realizada anteriormente por el ex alumno del DCC Manuel Bahamonde. En este trabajo se mejor´o su propuesta inicial, aprovechando su experiencia y usando el modelo mejorado propuesto por Mauro San Mart´ın en su tesis de doctorado. A partir de lo anterior, se cre´o una aplicaci´on web que le permite al usuario realizar las tareas sen˜aladas, con una interfaz amigable y usando las u´ltimas tecnolog´ıas en lo que a desarrollo web se refiere. Esta aplicaci´on adem´as permite la interacci´on entre los usuarios de la aplicaci´on ya que les provee herramientas para combinar la informacio´n que producen entre ellos. Este trabajo presento´ una gran gama de desaf´ıos t´ecnicos. Ellos refieren a la visualizacio´n manipulable de grafos, el manejo de eventos, la implementaci´on del modelo de redes sociales, entre otros. Adicionalmente, se logr´o un primer acercamiento a la integraci´on con tecnolog´ıas de la web sema´ntica, debido a que la informacio´n producida puede ser importada y exportada enformatoRDF.Elresultadofinalfueunaaplicacio´ndec´odigoabierto,operativayextensible que cumpli´o con los objetivos planteados inicialmente en la memoria. i A Mar´ıa Cristina, Andr´es, Jorge y Sim´on. ii Agradecimientos Tengo mucho que agradecer y a muchas personas, quienes han estado junto a m´ı a lo largo de toda esta etapa del proceso de aprendizaje que concluye con este trabajo de memoria. Estas personas han contribuido de alguna u otra forma en los resultados obtenidos hoy, por lo tanto es una buena instancia para agradecer por ello. Enprimerlugar,quieroagradeceramiprofesorgu´ıaClaudioGuti´errezconelcualmantuve una relaci´on de trabajo fruct´ıfera y amena, desde la idea inicial de este trabajo hasta su resultado final, siendo un apoyo fundamental para el cumplimiento de objetivos de esta, especialmente en periodos de confusi´on. Quiero agradecer tambi´en a las personas con las que adquir´ı experiencia laboral y fueron amigos desde temprana edad. Estas personas me ensen˜aron mucho de co´mo funciona la industria del software, aspectos t´ecnicos, de negocio, entre otros. Estas personas son: Daniel ´ Pizarro, Herna´n Sa´nchez, Alvaro Fau´ndez de Firenxis. Rolando Abarca, Felipe Bascun˜a´n y Juan Francisco Rodr´ıguez de Games for Food. David Assael, David Basulto y Gustavo Garc´ıa deArchDaily.Personasquienesmeentregaronresponsabilidad,confianzayconocimientopara desenvolverme como profesional desde un inicio. Tambi´en tengo que agradecer a los amigos que han estado conmigo, me han entregado su carin˜o y me han ensen˜ado muchas cosas u´tiles en la vida. Ellos son: Camilo Lo´pez, Carlota Gonza´lez, Juan Mun˜oz, Paola Veliz, C´esar Nun˜ez, Andr´es Rebolledo, Laura Barahona, Karla Elorza, Laura Lagos, Diana V´asquez, Melanie y Melissa Villavicencio, entre muchos otros m´as. Adema´s quiero mencionar a personas muy especiales que me ensen˜aron muchas cosas y acompan˜aron en las etapas que enfrent´e a lo largo de los an˜os: Giuliana Lunecke y Fabiola Quezada. Adem´as una mencio´n especial a Soledad Palma, quien estuvo siempre a mi lado en el desarrollo de esta memoria. Finalmentemisagradecimientosma´sgrandesamifamilia:Mar´ıaCristinaCastillo,Andr´es Godoy, Jorge Jesu´s Orellana y Simo´n Orellana. Quienes siempre me han entregado amor, comprensio´n y apoyo incondicional. De no ser por ellos no hubiera logrado las cosas que estoy logrando hoy en d´ıa. A todas estas personas, mis m´as sinceros agradecimientos, por todo. iii Tabla de contenido Introduccio´n 1 1. Descripcio´n del Proyecto 4 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.2. Objetivos Espec´ıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Resultados Esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Recursos Online de la Memoria . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Marco Conceptual 7 2.1. Conceptos de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1. Actor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2. V´ınculos Relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.3. Relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.4. Red Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2. Conceptos de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1. Desarrollo Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1.1. Desarrollo Front-End . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1.2. Desarrollo Back-End . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2. Modelo MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3. Frameworks de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3.1. Frameworks Server Side . . . . . . . . . . . . . . . . . . . . 12 2.2.3.2. Frameworks Client Side . . . . . . . . . . . . . . . . . . . . 12 2.2.4. HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4.1. SVG, gr´aficos vectoriales en la web . . . . . . . . . . . . . . 13 2.3. Herramientas Elegidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.1. Ruby on Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2. EmberJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3. D3.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3. Especificaci´on del Problema 15 3.1. Antecedentes y soluciones existentes . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.1. LittleSis y Poderopedia . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.2. Memoria Manuel Bahamonde . . . . . . . . . . . . . . . . . . . . . . 18 3.1.3. Otras Alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 iv 3.2. Relevancia del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3. Usuarios Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4. Requisitos de la Aplicacio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.1. Requisitos Funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.2. Requisitos de Calidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4. Descripci´on de la Soluci´on 22 4.1. SNM, Social Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1.1. Elementos de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . 22 4.1.2. Definici´on Matema´tica . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.3. Representaci´on Gra´fica . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.1.4. Representaci´on Como Triples . . . . . . . . . . . . . . . . . . . . . . 25 4.2. Arquitectura de la Aplicacio´n . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1. Arquitectura de Software . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.2. Entidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.3. Disen˜o de la Base de Datos . . . . . . . . . . . . . . . . . . . . . . . 30 5. Funcionamiento de la Solucio´n 32 5.1. Registro e Ingreso de Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2. Creacio´n de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.3. Edicio´n de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ´ 5.3.1. Area de Edicio´n de Redes Sociales . . . . . . . . . . . . . . . . . . . . 35 5.3.1.1. Modos de Edicio´n . . . . . . . . . . . . . . . . . . . . . . . 36 5.3.2. Creaci´on y Edici´on de Familias . . . . . . . . . . . . . . . . . . . . . 36 5.3.3. Creaci´on y Edici´on de Actores . . . . . . . . . . . . . . . . . . . . . . 38 5.3.4. Creaci´on y Edici´on de Relaciones . . . . . . . . . . . . . . . . . . . . 39 5.3.5. Creaci´on y Edici´on de Atributos en Nodos . . . . . . . . . . . . . . . 40 5.3.6. Creaci´on y Edici´on de Roles . . . . . . . . . . . . . . . . . . . . . . . 41 5.4. Exportacio´n en RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.5. Importacio´n en RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.6. Unio´n de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.7. Ejemplos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.7.1. Grupos de Trabajo del DCC, an˜o 2009 . . . . . . . . . . . . . . . . . 49 5.7.2. Rectores, Directores y Universidades . . . . . . . . . . . . . . . . . . 50 6. Conclusio´n 53 6.1. Evaluaci´on de la Solucio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.1.1. Cumplimiento de Objetivos . . . . . . . . . . . . . . . . . . . . . . . 54 6.2. Dificultades T´ecnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.2.1. Modelamiento de Redes Sociales . . . . . . . . . . . . . . . . . . . . . 55 6.2.2. Interfaz de Alta Interaccio´n en Desarrollo Web . . . . . . . . . . . . . 55 6.3. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.4. Distribucio´n del Software y Documentacio´n . . . . . . . . . . . . . . . . . . . 57 7. Bibliograf´ıa 58 v ´ Indice de tablas 4.1. Representaci´on en triples de la red social de la figura 4.2 . . . . . . . . . . . 26 vi ´ Indice de ilustraciones 2.1. Componentes Presentes en el Desarrollo Web . . . . . . . . . . . . . . . . . . 10 2.2. Modelo MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1. Interfaz de LittleSis, Rupert Murdoch . . . . . . . . . . . . . . . . . . . . . . 16 3.2. Interfaz de Poderopedia, Michelle Bachelet . . . . . . . . . . . . . . . . . . . 17 3.3. Interfaz de Grafo de Poderopedia, Michelle Bachelet . . . . . . . . . . . . . . 17 3.4. Interfaz SocialNetworks Manager . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1. Elementos Gra´ficos SNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2. Ejemplo Red Social de Amistad en SNM . . . . . . . . . . . . . . . . . . . . 25 4.3. Arquitectura General Aplicaci´on-Usuarios . . . . . . . . . . . . . . . . . . . 27 4.4. Arquitectura de la Aplicacio´n . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.5. Esquema Base de Datos de La Aplicacio´n . . . . . . . . . . . . . . . . . . . . 30 5.1. Interfaz de Inicio de La Aplicaci´on . . . . . . . . . . . . . . . . . . . . . . . 32 5.2. Formulario de Creaci´on de Usuarios . . . . . . . . . . . . . . . . . . . . . . . 33 5.3. Formulario de Ingreso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.4. Pantalla Principal de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . 34 5.5. Formulario Nueva Red Social . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.6. Lista de Redes Sociales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ´ 5.7. Area de Edicio´n de Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.8. Modos de Edicio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ´ 5.9. Area de Familias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.10.Formulario de Edicio´n de Familias . . . . . . . . . . . . . . . . . . . . . . . . 37 5.11.Detalle Familia Creada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.12.Formulario de Creacio´n de Actor . . . . . . . . . . . . . . . . . . . . . . . . 38 5.13.Ejemplo Actor con 2 Familias . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.14.Di´alogo de Eliminaci´on de Actor . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.15.Formulario de Creacio´n de Relacio´n. . . . . . . . . . . . . . . . . . . . . . . 40 5.16.An˜adiendo Atributos a un Actor . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.17.Formulario de Edicio´n de Rol . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.18.Bot´on de Exportaci´on de la Red Social . . . . . . . . . . . . . . . . . . . . . 42 5.19.Micro Ejemplo de Red Social . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.20.Importaci´on de una Red Social . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.21.Selecci´on de Redes a Unir . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.22.Selecci´on de Equivalencias entre Familias . . . . . . . . . . . . . . . . . . . . 47 5.23.Operaci´on de Uni´on de Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . 48 vii 5.24.Grupos de Trabajo DCC, an˜o 2009 . . . . . . . . . . . . . . . . . . . . . . . 49 5.25.Red Social de Universidades Pu´blicas . . . . . . . . . . . . . . . . . . . . . . 50 5.26.Red Social de Universidades Particulares . . . . . . . . . . . . . . . . . . . . 51 5.27.Red Social de Universidades Privadas . . . . . . . . . . . . . . . . . . . . . . 51 5.28.Red Social Universidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 viii Introduccio´n Existe una red social llamada LittleSis[12] que consiste en una base de datos de rela- ciones de qui´en conoce a qui´en entre gente pol´ıtica, econo´mica y socialmente poderosa en el mundo de las organizaciones en Estados Unidos. El fin de esa red es entregar el poder de la informaci´on a la sociedad civil. El origen del nombre de LittleSis se relaciona con el personaje Big Brother de la novela de George Orwell llamada Nineteen Eighty-Four. Este personaje consiste en un dictador que maneja toda la informaci´on sobre la poblaci´on. Big Brother posteriormente fue un concepto con el cual se describi´o un ente poderoso. De esta forma, al grupo compuesto por las personas poderosas y pol´ıticos de un pa´ıs se les atribuye esta imagen de Big Brother, por su poder e influencia en un pa´ıs. Esta es la motivaci´on para bautizar con el nombre LittleSis(Little Sister), en oposici´on a Big Brother, a una aplicacio´n cuyo fin es entregar poder de la informacio´n a toda la poblacio´n en lugar de esta minor´ıa poderosa. La idea detr´as de LittleSis tiene la capacidad de ser replicada en muchos pa´ıses con el mis- mo fin, esto es, el de entregar poder a la ciudadan´ıa e informarle sobre los posibles conflictos de inter´es que las autoridades locales y/o nacionales puedan tener al lidiar con el ejercicio de su poder. En el caso particular de Chile, existe una iniciativa llamada Poderopedia[16] que busca ser una r´eplica de LittleSis para Chile. En el caso de Poderopedia, uno de los l´ıderes de ese proyecto es el ex alumno del ´ DCC, Alvaro Graves, quienes tienen un modelo RDF publicado en un repositorio en Github[24].Poderopedia,aligualqueLittleSis,esunrepositoriocentralizadodeinformacio´n sobre la gente de poder pol´ıtico y econ´omico de Chile, sus relaciones entre s´ı y su relaci´on con organizaciones. Con toda sus potencialidades, tanto LittleSis como Poderopedia, poseen un fin muy parti- cular.Enestesentido,s´olotienenlacapacidaddecubrirlainformacio´nsobrelaspersonasmuy importantes del mundo pol´ıtico, social y econ´omico poderoso. Pero si una persona quisiera recolectar informacio´n sobre grupos de personas (por ejemplo la red social de la comunidad investigadora en computaci´on dentro de latinoam´erica) para formar una red social, estas 1
Description: