MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO

SILAS PEREIRA LIMA FILHO

HEURÍSTICAS PARA MIGRAÇÃO DE DADOS DO MODELO RELACIONAL PARA O MODELO EM GRAFO

Rio de Janeiro 2016 INSTITUTO MILITAR DE ENGENHARIA

SILAS PEREIRA LIMA FILHO

HEURÍSTICAS PARA MIGRAÇÃO DE DADOS DO MODELO RELACIONAL PARA O MODELO EM GRAFO

Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Sistemas e Computação. Orientadora: Profa. Maria Claudia Cavalcanti - D.Sc. Co-Orientadora: Profa. Claudia Marcela Justel - D.Sc.

Rio de Janeiro 2016 c2016

INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80 - Praia Vermelha Rio de Janeiro - RJ CEP 22290-270

Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es) e do(s) orientador(es).

004.69 Lima Filho, Silas Pereira S586e HEURÍSTICAS PARA MIGRAÇÃO DE DADOS DO MODELO RELACIONAL PARA O MODELO EM GRAFO / Silas Pereira Lima Filho, orientado por Ma- ria Claudia Cavalcanti e Claudia Marcela Justel - Rio de Janeiro: Instituto Militar de Engenharia, 2016.

77p.: il.

Dissertação (mestrado) - Instituto Militar de Enge- nharia, Rio de Janeiro, 2016.

1. Curso de Sistemas e Computação - teses e dis- sertações. 1. Bancos de Dados. 2. Modelagem de Da- dos. 3. Modelagem de Grafos. I. Cavalcanti, Maria Claudia. II. Justel, Claudia Marcela. III. Título. IV. Instituto Militar de Engenharia.

2 INSTITUTO MILITAR DE ENGENHARIA

SILAS PEREIRA LIMA FILHO

HEURÍSTICAS PARA MIGRAÇÃO DE DADOS DO MODELO RELACIONAL PARA O MODELO EM GRAFO

Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computa- ção do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Sistemas e Computação. Orientadora: Profa. Maria Claudia Cavalcanti - D.Sc. Co-Orientadora: Profa. Claudia Marcela Justel - D.Sc.

Aprovada em 06 de Dezembro de 2016 pela seguinte Banca Examinadora:

Profa. Maria Claudia Cavalcanti - D.Sc. do IME - Presidente

Profa. Claudia Marcela Justel - D.Sc. do IME

Profa. Jonice de Oliveira Sampaio - D.Sc. da UFRJ

Profa. Maria Cristina Rangel - D.Sc. da UFES

Rio de Janeiro 2016

3 Aos meus pais, pelo incentivo e exemplo que até hoje me impulsi- onam a continuar.

4 AGRADECIMENTOS

Agradeço primeiramente a Deus pela vitalidade e força para concluir o curso. Aos meus pais, que sempre foram exemplo de perseverança e determinação. Mesmo nos momentos mais difíceis . Em especial minhas orientadoras, Dra. Maria Claudia Reis Cavalcanti e Dra. Claudia Marcela Justel, pelo carinho, atenção e paciência.

5 “Soli Gracia. Sola Fide. Soli Deo Gloria. ”

FUNDAMENTOS DA REFORMA PROTESTANTE

6 SUMÁRIO

LISTA DE ILUSTRAÇÕES ...... 9

LISTA DE TABELAS ...... 11

LISTA DE SIGLAS ...... 12

1 INTRODUÇÃO ...... 15 1.1 Motivação ...... 16 1.2 Hipótese ...... 17 1.3 Objetivo ...... 18 1.4 Contribuições Esperadas ...... 18 1.5 Organização do Trabalho ...... 18

2 FUNDAMENTOS ...... 19 2.1 Modelagem de Bancos de Dados Relacionais ...... 19 2.2 Grafos, Redes Sociais e Predição de ligações ...... 21 2.2.1 Medidas de Centralidade ...... 22 2.2.2 Predição de Ligações ...... 25 2.3 Modelagem de Dados ...... 27

3 TRABALHOS RELACIONADOS ...... 29 3.1 Método de migração com foco na perda semântica ...... 29 3.2 Método de migração voltado para consultas ...... 30 3.3 Mapeamento com Mediação do Usuário ...... 31 3.4 métodos automáticos de mapeamento ...... 31 3.5 Discussão ...... 32

4 UM MÉTODO DE MIGRAÇÃO DE DADOS ...... 33 4.1 Visão Geral do Método ...... 34 4.2 Construção de Heurísticas ...... 35

5 EXPERIMENTOS USANDO ANÁLISES SOBRE REDES SOCI- AIS ...... 37 5.1 Experimento 1 ...... 37 5.1.1 Conjunto de Dados ...... 37

7 5.1.2 Análise dos Resultados ...... 38 5.2 Experimento 2 ...... 41 5.2.1 Conjunto de Dados ...... 41 5.2.2 Análise dos Resultados ...... 43

6 EXPERIMENTOS USANDO ANÁLISES PARA PREDIÇÃO DE LIGAÇÕES ...... 47 6.1 Experimento 3 ...... 47 6.1.1 Cenário do Experimento ...... 47 6.1.2 Medidas Topológicas ...... 49 6.1.3 Análise dos Resultados ...... 51

7 EXPERIMENTOS SOBRE A BASE DE DADOS TMDB ...... 58 7.1 Experimentos com Medidas de Centralidade num conjunto de dados do TMBD 58 7.2 Experimentos com Predição de Ligações num conjunto de dados do TMDB . 59

8 CONCLUSÃO ...... 70 8.1 Retrospecto ...... 70 8.2 Trabalho Desenvolvido ...... 70 8.3 Contribuições ...... 72 8.4 Limitações ...... 72 8.5 Trabalhos Futuros ...... 73

9 REFERÊNCIAS BIBLIOGRÁFICAS ...... 75

8 LISTA DE ILUSTRAÇÕES

FIG.2.1 Exemplo da abordagem ER ...... 20 FIG.2.2 Rede de relacionamentos numa academia de karatê (ZACHARY, 1977) ...... 22 FIG.2.3 Exemplo com as propriedades possíveis de um grafo (RODRIGUEZ; NEUBAUER, 2010)...... 27 FIG.2.4 Hierarquia de Grafos (RODRIGUEZ; NEUBAUER, 2010)...... 28

FIG.3.1 Grafo criado pelo método de Bordoloi e Kalita (2013) ...... 30 FIG.3.2 Esquemas de grafos criados por Wardani e Küng (2014) e Virgilio et al. (2013) ...... 31

FIG.4.1 Fluxo da migração do banco de dados via esquema conceitual para o grafo G=(V,E)...... 35 FIG.4.2 Fluxo para definição de uma heurística em um experimento ...... 36

FIG.5.1 Esquema conceitual e um exemplo do esquema do grafo gerado na primeira etapa...... 38 FIG.5.2 Grafo com os relacionamentos de Luta (azul) e Amizade (vermelho). . . . 39 FIG.5.3 Representação da heurística obtida no experimento 1 ...... 41 FIG.5.4 Esquema conceitual do banco de pessoas e filmes...... 42 FIG.5.5 Esquema do grafo para a Modelagem 3 ...... 42 FIG.5.6 Esquema do grafo para a Modelagem 4 ...... 43 FIG.5.7 Esquema do grafo para a Modelagem 5 ...... 43 FIG.5.8 Modelagem sugerida para um caso genérico do experimento 2...... 46

FIG.6.1 Recorte do grafo na modelagem 3 ...... 48 FIG.6.2 Recorte do grafo na modelagem 4 ...... 48 FIG.6.3 Recorte do grafo na modelagem 5 ...... 49 FIG.6.4 Possibilidades de combinação na modelagem 3 do grafo no experi- mento3...... 53 FIG.6.5 Possibilidades de combinação na modelagem 4 do grafo no experi- mento3...... 54 FIG.6.6 Possibilidades de combinação na modelagem 5 do grafo no experi- mento3...... 55 FIG.6.7 Esquema conceitual ...... 57

9 FIG.7.1 Recorte do Grafo da Modelagem 3 - 1 ...... 62 FIG.7.2 Recorte do Grafo da Modelagem 3 - 2 ...... 64 FIG.7.3 Recorte do Grafo da Modelagem 4 ...... 65 FIG.7.4 Recorte do Grafo da Modelagem 5 ...... 65 FIG.7.5 Recorte do Grafo para a Modelagem 5 ...... 68

10 LISTA DE TABELAS

TAB.4.1 Análises, modelagens e casos de modelagem analisados para cada experimento realizado...... 36

TAB.5.1 Resultados das medidas de centralidade, para um grafo não direci- onado...... 38 TAB.5.2 Resultados das medidas de centralidade para modelagem 3 ...... 44 TAB.5.3 Resultados das medidas de centralidade para modelagem 4 ...... 44 TAB.5.4 Resultados das medidas de centralidade para modelagem 5 ...... 44

TAB.6.1 Resultados das métricas para a Modelagem 3 ...... 51 TAB.6.2 Resultados das métricas para a Modelagem 4 ...... 52 TAB.6.3 Resultados das métricas para a Modelagem 5 ...... 52 TAB.6.4 Tipos de pares obtidos na aplicação das métricas...... 56 TAB.6.5 Tipo de previsão de ligação (pares) versus Modelagem: coeficientes possíveis...... 57

TAB.7.1 Ranking das medidas de centralidade para a Modelagem 3 ...... 59 TAB.7.2 Ranking das medidas de centralidade para a Modelagem 4 ...... 59 TAB.7.3 Ranking das medidas de centralidade para a Modelagem 5 ...... 60 TAB.7.4 Valores destacados de Jaccard para Modelagem 3 ...... 60 TAB.7.5 Valores destacados de Jaccard para Modelagem 4 ...... 61 TAB.7.6 Valores destacados de Jaccard para Modelagem 5 ...... 61 TAB.7.7 Valores destacados de Adamic/Adar para Modelagem 3 ...... 62 TAB.7.8 Pares Pessoa × Pessoa para Adamic/Adar na Modelagem 3 ...... 63 TAB.7.9 Valores destacados de Adamic/Adar para Modelagem 4 ...... 64 TAB.7.10 Ranking de Adamic/Adar para a Modelagem 5 ...... 65 TAB.7.11 Ranking de Katz para a Modelagem 3 ...... 66 TAB.7.12 Ranking de Katz para a Modelagem 4 ...... 66 TAB.7.13 Resultados de Katz para pares Filme × Filme nas três Modelagens . . . 67 TAB.7.14 Comparação de Resultados de Katz para as Modelagens 4 e 5 ...... 68

11 LISTA DE SIGLAS

SGBD Sistema de Gerenciamento de Bancos de Dados ER Entidade Relacionamento

12 RESUMO

A importância de trazer dados do modelo relacional para outros modelos e tecnologias tem sido amplamente debatidos, como por exemplo a publicação de dados como grafos RDF. Este modelo facilita a interoperabilidade de dados enquanto garante o uso uniforme de vocabulários para descrever dados. Além disso, esse modelo permite executar análises topológicas sobre os grafos, tal como ocorre nas análises de redes sociais, predição de ligações sistemas de recomendação. Existem inclusive, iniciativas para mapear de um banco de dados relacional para a repre- sentação em grafo. No entanto, eles não consideram as diferentes maneiras de gerar esses grafos, especialmente quando o objetivo é realizar análises topológicas. Este trabalho propõe um método de suporte para mapear os dados do modelo relacional para a repre- sentação em grafos. A principal contribuição é que a escolha do modelo do grafo deva considerar o tipo de análise topológica que será realizada pelo usuário. Experimentos são apresentados e mostram resultados interessantes, incluindo heurísticas e a confirmação de resultados em conjuntos mais complexos.

13 ABSTRACT

The importance of bringing the relational data to other models and technologies has been widely debated, as for example their publication as RDF graphs. This model facili- tates data interoperability in the meantime it grants the use of uniform vocabularies to describe the data. Moreover, it allows to perform topological analysis over these graphs, such as social analysis, link predictions or recommendations. There are already initiatives to map from a relational database to graph representation. However, they do not take into account the different ways to generate such graphs, spe- cially when the goal is to perform topological analysis. This work shows a supporting method for data mapping from the relational model to graph representation. The main contribution is that the graph model choice must consider the topological analysis inten- ded. Experiments are reported and show interesting results, including modeling heuristics and the result endorsement with more complex data.

14 1 INTRODUÇÃO

Existem três razões principais para converter dados armazenados em banco de dados relacionais para outros modelos de representação: interoperabilidade, tomada de decisão e desempenho de consulta. A primeira é relacionada com a facilitação de intercâmbio de dados entre organizações. O modelo hierárquico, representado normalmente por XML e JSON, foi utilizado para tal propósito. O segundo motivo é direcionado para modelos analíticos, que facilitam a análise de dados para a tomada de decisão. Modelos multidi- mensionais e grafos são úteis nesse caso. Finalmente, o terceiro motivo foca na otimização de consultas, que são direcionadas para modelos de agregação. (EVANS, 2004), (SADA- LAGE; FOWLER, 2013). Durante os últimos anos, na busca pela interoperabilidade, várias iniciativas surgiram na direção da construção de um espaço de dados global, também conhecido como Web de Dados (BIZER et al., 2009). Linked Data1 é um conjunto de boas práticas para provedo- res de dados na web semântica. Através da linguagem RDF2, cujo uso é uma boa prática recomendada, o usuário consegue publicar dados conectados a outros conjuntos já exis- tentes na web de dados. A linguagem RDF utiliza um modelo simplista para representar os dados, que consiste na tripla hsujeito,predicado,objetoi. Essa representação facilita o reuso de vocabulários e taxonomias reconhecidas de modo a prover interoperabilidade. A tripla pode ser vista como a conexão de dois nós de um grafo, isso é, o predicado pode ser representado por uma aresta, e ambos sujeito e objeto são vistos como nós. Por décadas, o modelo de grafos tem sido amplamente explorado para a análise to- pológica, e existem vários algoritmos e aplicações na literatura. Normalmente, esses algo- ritmos são utilizados no contexto de redes sociais, sistemas de recomendação, predição de ligações e outros. No entanto, com o crescimento da disponibilidade de grafos na Web de Dados, e com o surgimento de novas tecnologias, o uso de grafos e parte de sua teoria tem sido aplicada em outros campos, como Linked Data. Nessa direção, algumas alternativas para mapear dados relacionais para grafos RDF surgiram, como o D2R (BIZER, 2016). No entanto, tais iniciativas focam em um mapeamento sintático e não nas questões de modelagem de grafos. Por outro lado, existem trabalhos que analisam a modelagem de grafos, como por exemplo Virgilio et al. (2014), Wardani e Küng (2014) e Bordoloi e

1http://linkeddata.org 2http://www.w3.org/RDF/

15 Kalita (2013). No entanto, os autores utilizam uma abordagem específica que não leva em consideração alternativas de modelagem e as consequências da modelagem escolhida em alguma análise topológica.

1.1 MOTIVAÇÃO

Enxergar a estrutura de um conjunto de dados baseado na organização de um grafo pode ser uma tarefa de certo modo trivial. A facilidade que um grafo traz para a compreensão de um conjunto também é um fator a mais para a sua utilização. Embora as já citadas facilidades pareçam atrativas, dependendo do tamanho do conjunto de dados, a tarefa de analisar e compreender a topologia do grafo torna-se complicada e custosa para o ponto de vista humano. A utilização de grafos pode ter aplicações distintas, e algumas ferramentas disponíveis atualmente podem abordar uma ou mais finalidades. Dividimos essas finalidades em duas: o armazenamento de dados usando a estrutura de grafos e, a manipulação de grafos. Angles (2012) realiza uma comparação entre algumas dessas ferramentas de armazenamento. Comparando a estrutura de dados, consultas e restrições de integridade de cada ferramenta. Os SGBD’s comparados variam de popularidade, mas destacamos alguns já conhecidos no meio acadêmico e corporativo como: Neo4j (WEBBER, 2012), HyperGraphDB (IORDANOV, 2010), AllegroGraph3 e Infinite Graph4. Ainda focado nas ferramentas de armazenamento, Angles e Gutiérrez (2008) trazem uma discussão detalhada sobre o modelo de dados em grafo, um breve resumo de seu surgimento e uma comparação entre outros tipos de modelos de dados. Nesse trabalho, os autores citam dois principais empregos para o modelo de dados em grafo, aplicações clássicas de bancos de dados e o uso em redes complexas. As aplicações clássicas en- volvem questões como a substituição das ferramentas de armazenamento normalmente utilizadas. Como em casos que o modelo de dados relacional pode omitir a semântica de alguns dados, ou em que a estrutura do modelo não acompanhou o crescimento da complexidade dos dados. Na segunda aplicação, redes complexas, os autores citam fer- ramentas de bancos de dados específicos em que os dados, em uma grande quantidade, estão estruturados tomando alguns conceitos de redes complexas. Quatro casos de apli- cação de redes complexas são: redes sociais, redes biológicas, redes de informação e redes tecnológicas.

3http://www.franz.com/agraph/allegrograph 4http://www.objectivity.com/products/infinitegraph/

16 As ferramentas de manipulação focam em como melhor analisar e reproduzir visual- mente um grafo. Para a tarefa de análise, elas utilizam conceitos que podem ser obtidos da teoria de grafos para extrair informações sobre as conexões entre os vértices. Como por exemplo, utilizando as medidas de centralidade. Já na tarefa de visualização, os grafos são manipulados de modo a facilitar a sua leitura através de reorganização da disposição dos nós. As ferramentas podem utilizar algoritmos de reorganização dos nós como os de Kamada e Kawai (1989) e Fruchterman e Reingold (1991). A identificação de grupos e subgrafos também é facilitada pela visualização, ajudando o usuário a realizar essa tarefa mais rapidamente. Algumas das ferramentas que destacamos nesse contexto são: Graph- viz (GANSNER; NORTH, 2000), a biblioteca Igraph (CSARDI; NEPUSZ, 2006), Snap (LESKOVEC; SOSIČ, 2016), Pajek (BATAGELJ; MRVAR, 2004) e Gephi (BASTIAN et al., 2009). Elas podem abraçar tanto a função de análise e visualização. Com a criação dessas novas ferramentas que usam tanto o formato de um grafo para armazenar os seus dados, como também algumas métricas da teoria de grafos para con- sultar e analisar os dados, torna-se comum e usual a comparação de tais ferramentas e o aprofundamento em tal área. Mesmo com a difusão de grafos crescendo, é notório que os sistemas de gerenciamento de bancos de dados (SGBD) relacionais ainda são os mais populares entre os modeladores e usuários5. Não existe um consenso sobre como os dados devem ser modelados nos grafos. Exceto pelas limitações de modelo ou pela ferramenta escolhida, ou ainda considerando o ambiente em que o dado está inserido, ao usuário é permitido criar os objetos/entidades como nós e ligações do grafo, como lhe convém.

1.2 HIPÓTESE

Como citado anteriormente, não há um método de como mapear os dados de um banco relacional para uma representação em grafos, considerando as diversas alternativas de modelagem. Por causa de tal liberdade, como afirmar que a modelagem escolhida para um conjunto de dados é o que melhor atende um determinado problema? Assim, como a topologia de uma rede pode influenciar a recuperação de informação, para melhor ou pior, dadas as diversas possibilidades de modelos e modelagens, é preciso estudar o impacto que estas alternativas têm nas análises topológicas que se quer realizar. A hipótese deste trabalho é que a partir de um estudo sobre o impacto de alternativas de modelagem é possível definir heurísticas para compor um método de migração de dados que parte do modelo conceitual para o modelo em grafo.

5http://db-engines.com/en/ranking

17 1.3 OBJETIVO

O objetivo desse trabalho é apresentar um conjunto de heurísticas que, no contexto de um método de mapeamento de dados entre modelos, possa auxiliar a tarefa de modelagem de dados em grafos. Tal método parte da análise do esquema conceitual, que é derivado de um esquema lógico de um banco de dados. E pressupõe que ambos já estivessem disponi- bilizados para a tarefa de análise. A principal contribuição deste trabalho é a identificação de tais heurísticas que levam em consideração as análises topológicas intencionadas. Elas foram identificadas com base nos resultados obtidos de experimentos de análise topológica (e.g. medidas de centralidade e predição de ligações) sobre diferentes modelagens.

1.4 CONTRIBUIÇÕES ESPERADAS

Assim, entre as contribuições esperadas para este trabalho podemos citar:

• conjunto de heurísticas para modelagem em grafo;

• experimentos evidenciando o comportamento distinto dos dados para alternativas de modelagem;

• esboço de um método para mapeamento entre um esquema conceitual e um grafo.

1.5 ORGANIZAÇÃO DO TRABALHO

O trabalho atual está dividido em 8 capítulos. O capítulo 2 apresenta os conceitos ne- cessários para a realização dos experimentos e também uma discussão sobre modelos de dados grafos. No capítulo 3, os trabalhos e ferramentas relacionados com essa mesma tarefa, migrar dados do banco relacional, são apresentados e discutidos. No capítulo 4, a proposta de como abordamos tal tarefa é apresentada. Sucessivamente, os capítulos 5 e 6 trazem os experimentos realizados, seus resultados e suas heurísticas. O capítulo 7 contém um experimento feito com dados reais do TMDB confirmando o comportamento dos dados nos experimentos anteriores. Finalmente, o capítulo 8 indica possíveis pontos para trabalhos futuros e a conclusão.

18 2 FUNDAMENTOS

Nesse capítulo serão apresentados os conceitos necessários e utilizados para o desenvolvi- mento desse trabalho. Abordando alguns princípios de Bancos de Dados e as abordagens de modelos de dados, uma parte da Teoria de Grafos que aborda as medidas de centrali- dade e predição de ligações, e alguns pontos sobre modelagem de dados segundo o modelo em grafo.

2.1 MODELAGEM DE BANCOS DE DADOS RELACIONAIS

No projeto de um banco de dados, é necessário que sejam especificados quais informações serão armazenadas durante o processo de “criação/planejamento” do banco. Segundo Heu- ser (2001), a modelagem de dados deve explicitar quais serão as informações armazenadas pelo SGBD. Pode-se dizer que o esquema de dados especifica quais informações serão abrangidas pelo banco de dados. A modelagem de dados pode ser realizada em níveis diferentes de abstração, que são: conceitual, lógico e físico. Sendo os níveis conceitual e lógico os mais abordados na fase de projeto do banco. O primeiro nível de abstração da modelagem é o nível conceitual. A abordagem mais popular para a modelagem de dados no nível conceitual é o modelo Entidade-Relacionamento(ER), criado por Peter Chen (CHEN, 1976). A abordagem ER permite, de maneira simples e de certa forma limitada, especificar quais informações o banco deve armazenar e o contexto dos dados, mostrando assim como se relacionam no banco. O modelo ER no entanto não descreve quais tabelas e atributos serão criados especificamente dentro do Sistema de Gerenciamento de Banco de Dados (SGBD). Sendo o nível mais alto de abstração, a abordagem ER pode ser utilizada tanto por profissionais de banco de dados como por usuários de outras áreas (em um nível limitado de uso). O modelo conceitual possui elementos essenciais para a descrição de um esquema de dados. Segundo Heuser (2001):

• Entidade - objeto da realidade sobre qual se deseja armazenar alguma informação

• Relacionamento - associação entre ocorrências de entidades

• Atributo - dado associado a uma instância de entidade ou relacionamento

Se considerarmos o Relacionamento como um meio de interação de entidades, pode- mos considerar como intrínsecos ao conceito de Relacionamento os conceitos de:

19 • Cardinalidade

• Generalização/Especialização

FIG. 2.1: Exemplo da abordagem ER

A figura 2.1 representa um exemplo de esquema de um banco de dados relacional. É importante destacar um detalhe na figura, a cardinalidade das entidades. Tomando Heuser (2001) e Elmasri et al. (2005) como base, define-se cardinalidade como o número mínimo e máximo de ocorrências de uma entidade associada a uma ocorrência de entidade através de um relacionamento. Na figura é possível identificar cardinalidades 1:1; 1:n; 0:n. No caso da entidade Fornecedor, ela possui cardinalidade 1:n, isso significa que um determinado Fornecedor pode ter, no mínimo e no máximo, uma instância da entidade Produto. Isso informa ao banco de dados que, todo Fornecedor que for mantido é obrigado a vender algum produto, e exclusivamente um determinado produto. A entidade Dependente possui cardinalidade 1:n associada à entidade Funcionário. Isso determina que um Dependente deve ter no máximo um funcionário associado a si mesmo. O modelo lógico é o segundo nível de abstração durante o projeto de um banco de dados. Nele é possível ter uma visão mais próxima de como as informações serão armazenadas pelo SGBD. Nesse nível de abstração, as características dos atributos (seu nome, tipo de dado e tamanho) serão mantidas pelo SGBD. A transição entre o nível conceitual e lógico pode acarretar em perda ou distorção de informação/semântica. Como no caso de um relacionamento n:m no modelo ER. Esse relacionamento no nível lógico será transformado em uma relação (tabela). Muito é falado sobre modelos e modelagens de dados. Em algumas situações os dois nomes são usados indistintamente, seja quando o usuário deseja referir-se ao conjunto de informações que o banco deve armazenar, ou quando refere-se ao modelo/estrutura que

20 organizará os dados do banco. Formalmente, Elmasri et al. (2005) define modelo de dados como a coleção de conceitos que são usados para descrever a estrutura de um banco de dados. A modelagem é o resultado do que se modela a partir de um modelo de dados, como as entidades específicas que foram criadas e as ligações entre elas. Entende-se que a modelagem não deve ferir as restrições definidas pelo modelo de dados.

2.2 GRAFOS, REDES SOCIAIS E PREDIÇÃO DE LIGAÇÕES

Um grafo G pode ser definido como a relação G (V,E) de dois conjuntos distintos, onde V é um conjunto de vértices do grafo e E é um conjunto de arestas. Um elemento e ∈ E

é um par ordenado de vértices (vi, vj), onde vi, vj ∈ V . Um vértice também pode ser chamado de nó, e uma aresta pode ser chamada de link. Um grafo G é denominado direcionado caso o par de vértices de um elemento e ∈ E especifique o vértice origem e o vértice destino. Um grafo é dito não direcionado caso não haja distinção de qual seja o nó origem e destino. O conjunto de nós conectados por uma aresta a um determinado nó x é chamado de vizinhos de x, e denotado por Γ(x). A cardinalidade de Γ(x) é o grau do vértice x. Um caminho p é uma sequência de nós, tal que, nessa sequência, exista uma aresta entre os nós. Num grafo direcionado, os caminhos só possuem um sentido em que devam ser percorridos, enquanto que num grafo não direcionado não há tal obrigatoriedade. O comprimento de um caminho é definido pela quantidade de arestas por onde um caminho percorre. Uma aresta pode ser reincidente ou não, e um caminho pode passar por um nó mais de uma vez. O menor caminho entre dois nós é uma rede/caminho p dentro de um grafo G de modo que não há nenhum outro caminho com comprimento menor nesse mesmo grafo. Sendo G um grafo não direcionado, dizemos que ele é conexo caso exista para qualquer par de nós x, y ∈ G um caminho p entre eles. Dado G como um grafo não direcionado, uma outra forma de representação desse grafo é através de uma Matriz de Adjacência denotada A(G) (caso não seja necessário, pode ser omitir o nome do grafo). Os elementos dessa matriz representam as arestas entre os nós do grafo. Um grafo que possui n vértices, é representado por uma matriz de dimensão n x n. O elemento Ai,j será 1 caso exista uma aresta entre o par de vértices i, j, caso contrário Ai,j será 0. Os grafos são usados em diversas aplicações, e permitem modelar diferentes proble- mas. Nos últimos anos, grafos tem sido usados para modelar redes de relacionamentos entre objetos ou pessoas, resultantes de atividades na sociedade moderna. Dentre essas re- des citamos por exemplo redes biológicas, de distribuição elétrica, páginas e links da web,

21 redes físicas de computadores. Todas essas redes apresentam a característica de serem de grande porte (não é possível usar estratégias triviais para tratá-las) e relativamente esparsas (a relação entre o número de nós e número de ligações é linear). Liben-Nowell e Kleinberg (2007) relatam que um tipo específico de rede tem recebido atenção, são elas as redes sociais. Redes sociais são casos onde a estrutura do grafo representam pessoas ou outras entidades ligadas a um contexto social. As arestas de tal grafo são a interação en- tre tais entidades, simbolizando algo como ligações de amizade, influência ou colaboração. Elas possuem a característica de serem altamente dinâmicas, ou seja, mudam rapidamente crescendo de tamanho pela adição de novas arestas. A figura 2.2 apesenta um desenho do grafo associado à rede proposta por Zachary (1977), criada a partir de relacionamentos de amizade observados entre os membros de uma academia de karatê. Esta rede foi muito utilizada pelos pesquisadores da área de detecção de comunidades devido ao seu tamanho reduzido, contendo 34 nós e 64 arestas.

FIG. 2.2: Rede de relacionamentos numa academia de karatê (ZACHARY, 1977)

2.2.1 MEDIDAS DE CENTRALIDADE

Uma das formas de análise topológica de uma rede social consiste em utilizar algumas métricas para determinar quais nós são importantes na rede, no sentido de melhor dis- tribuição de informação ou melhor conectividade em relação aos outros nós. Dentre as diversas métricas existentes na literatura de redes sociais denominadas medidas de cen- tralidade, destacamos: Grau, Proximidade, Intermediação, Autoridade e Hub. Consideramos G o grafo que representa uma rede. A centralidade de Grau é a mais simples das medidas para uma rede e pode ser definida para um nó x como a quantidade

22 de arestas ligadas a ele. Formalmente,

Cg(x) = |Γ(x) |, (2.1) onde Γ(x) é o conjunto de vértices adjacentes ao vértice (x) ∈ V . A centralidade de Proximidade é baseada na distância entre um nó e todos os outros nós da rede. Quanto maior o coeficiente de proximidade de um nó, menor a distância entre ele e o resto da rede. Formalmente,

X 1 Cp(x) = , (2.2) dist(x, s) s6=x onde dist(x, s) é o comprimento do menor caminho entre os nós x e s ∈ V . A centralidade de Intermediação mede a quantidade de vezes que um nó per- tence a caminhos entre pares de outros nós. Nós com coeficiente de intermediação alto são aqueles que mais influenciam a rede no sentido de controlar o fluxo de informação. Formalmente, x X ns,t Ci(x) = , (2.3) g(s, t) s6=t6=x

x onde ns,t, dado x ∈ V , é o número de caminhos mínimos entre os nós s, t ∈ V que contém o nó x e g(s, t) o número total de caminhos mínimos entre os nós s, t. Tanto Autoridade quanto Hub são métricas aplicadas unicamente em redes direcio- nadas. Newman (2010) define que nós com alta centralidade são aqueles apontados por outros nós com alta centralidade. No entanto, é possível que um nó tenha alto valor de centralidade, caso ele aponte para um nó que possua alto valor de centralidade. Podemos nesse caso separar os nós em, aqueles que apontam para os nós influentes (hub), e os que são repetidamente apontados e portanto são influentes (autoridade). Esses dois conceitos foram criados para identificar na Web a importância de uma página ou website e se baseiam na ideia de identificar páginas que são muito conectadas através de hiperlinks com outras páginas também muito conectadas. Dada uma página p na Web (consideramos uma rede representada por um grafo direcionado com n nós ou páginas e suas conexões), trata-se de estimar valores aut(p) e hub(p) para cada nó p de forma iterativa. Easley e Kleinberg (2010) definem aut(p) como a soma dos valores de hub das páginas que apontam para a página p.E hub(p) é definido como a soma dos aut(p) das páginas para quem p aponta. Kleinberg (1999) propõe um procedimento para reconhecimento da importância de

23 páginas na Web a partir da análise de páginas que apontam para ela. Para tal fim, são associados dois valores de ranking para cada página: o peso de autoridade e o peso de hub. Uma página é considerada boa autoridade se é apontada por muitos bons hubs, e uma página é considerada bom hub se aponta para muitas boas autoridades. Supondo que páginas e seus hiperlinks na Web são representados por um grafo dire- cionado (páginas representadas como vértices e hiperlinks como arestas direcionadas do grafo), é possível associar a cada página um peso de autoridade e um peso de hub pelo procedimento iterativo a seguir, conhecido na literatura como HITS (hyperlink-induced topic search) proposto pelo Kleinberg para a ferramenta de busca ASK 6. Inicialmente, para cada página do grafo direcionado, os pesos de autoridade e hub são valores escolhidos arbitrariamente. Dois tipos de operações são executadas, chamadas S e E. Na operação E, o peso de autoridade de cada página é atualizado de forma a receber o somatório dos pesos de hub de todas as páginas que apontam para ela. Na operação S, o peso de hub de cada página recebe o somatório dos pesos das páginas autoridade que são apontadas por ele. As fórmulas a seguir descrevem o cálculo dos pesos ai e hi para uma página i, onde B(i) é o conjunto de hiperlinks que chegam na página i e F (i) é o conjunto de hiperlinks que saem da página i: X ai = hj, j∈B(i) X hi = aj. j∈F (i) O procedimento repete iterativamente as operações E e S, normalizando os valores obtidos ao final da iteração, até que os pesos hub e autoridade cheguem a convergir (apresentem pe- quena variação ao respeito da iteração anterior, ou seja um erro pequeno pré-determinado). HITS utiliza a estrutura do grafo Web para decidir a relevância das páginas a partir de uma consulta e opera um subgrafo pequeno do grafo Web a partir de um vértice semente que depende da consulta na Web. Quando a consulta muda, a semente muda também. HITS pontua os vértices semente de acordo com sua autoridade e hub. A partir dessa pontuação, as páginas associadas aos vértices com maior peso de hub e autoridade são retornadas para o usuário como as páginas de maior relevância para a consulta. Uma forma alternativa de determinar os valores de hub e autoridade é a seguinte: Seja

A a matriz de adjacência do subgrafo (direcionado) do grafo Web Gq de dimensão n × n, obtido da consulta q na Web. Os vetores de pesos autoridade (v) e hub (u) representam

6http://www.dimap.ufrn.br/˜roberta/publicacoes/rita_magazine.pdf

24 os pesos de autoridade e hub para cada uma das n páginas do grafo Web contidas no subgrafo Gq e são v = (a1, ...an) e u = (h1, ..., hn). Pela fórmula anterior,

X ai = hj, j∈B(i) e X hi = aj, j∈F (i) podemos concluir que, v = AT .u e u = A.v.

T Considerando os pesos iniciais iguais a um, u0 = (1, ..., 1) e v0 = A (1, ..., 1). Logo, depois de k iterações obtemos o sistema:

T vk = A .A.vk−1

T uk = A.A .vk−1

Quando o processo iterativo converge, obtemos os pesos de hub e autoridade para as n páginas do subgrafo Gq. Informações complementares a respeito de redes sociais e medidas de centralidade podem ser encontradas nos livros de Newman (2010) e Easley e Kleinberg (2010).

2.2.2 PREDIÇÃO DE LIGAÇÕES

Além das análises topológicas voltadas para descobrir os nós que são mais influentes dentro de uma rede, é possível avaliar as ligações dos nós com o objetivo de prever futuras ligações entre elementos antes ainda não ligados. Esta área é conhecida como predição de ligações. Formalmente, o problema de predição de ligações consiste em, dada uma rede social num instante t, predizer com alguma segurança quais ligações serão adicionados na rede durante o intervalo de tempo entre t e um tempo futuro t0. Liben-Nowell e Kleinberg (2007) adaptaram alguns conceitos da Teoria de Grafos, Computação Científica e Ciências Sociais para definir coeficientes que permitem identifi- car ligações não existentes na rede. Dois tipos de métricas citadas nesse trabalho serão abordadas no nosso estudo. Todas elas geram um coeficiente para um par x, y de nós

25 não conectados. A métrica de vizinhos em comum analisa os nós adjacentes de cada nó do par x, y, onde o conjunto de nós adjacentes de x é notado por Γ(x). E a métrica de conjunto de caminhos, que utiliza informações sobre possíveis de caminhos na rede entre cada par de nós. Os coeficientes de Jaccard e Adamic/Adar são métricas de análise de vizinhos em comum. Enquanto que Katz analisa conjuntos de caminhos. Essas três métricas são definidas a seguir. O coeficiente de Jaccard é definido formalmente por:

|Γ(x) ∩ Γ(y)| score(x, y) = (2.4) |Γ(x) ∪ Γ(y)| e mede a probabilidade que ambos os nós x e y tenham a mesma característica, neste caso ter os mesmos vizinhos. O coeficiente de Adamic/Adar é definido por:

X 1 score(x, y) = (2.5) log |Γ(z)| z∈Γ(x)∩Γ(y) e considera também vizinhos comuns como a característica comum entre x e y, mas neste caso, em lugar de contar o número de vizinhos comuns, é atribuído um peso maior quando existem poucos vizinhos comuns. São considerados os vizinhos de um vértice z que seja vizinho comum entre x e y. Nós z com muitos vizinhos contribuem menos que nós z com poucos vizinhos no computo deste coeficiente. Enquanto que Katz é:

∞ X l hli score(x, y) = β . pathsx,y (2.6) l=1

hli onde pathsx,y denota o conjunto de todos os caminhos de comprimento exatamente l entre os nós x e y. Katz calcula uma soma que considera todos os caminhos entre x e y, exponencialmente amortizada pelo comprimento do caminho; quando é utilizado um valor β < 1, os caminhos de maior comprimento (valor l grande) contribuem menos no computo deste coeficiente, pois a parcela da soma correspondente tem associado um peso menor βl. É importante notar que para valores muito pequenos de β, Katz produz predições parecidas com vizinhos comuns, pois nesse caso caminhos de comprimento maior ou igual a 3 contribuem muito pouco para o cálculo da soma. Uma forma alternativa de calcular o coeficiente de Katz para todos os pares de nós x, y da rede é usando a matriz (I − βA)−1 − I, onde A é a matriz de adjacência do grafo que representa a rede (LIBEN-

26 NOWELL; KLEINBERG, 2007).

2.3 MODELAGEM DE DADOS

Seguindo a definição de modelo de dados da seção 2.1, e usando um grafo como estrutura de representação de dados, existe a possibilidade de escolher algumas variantes desta estrutura para atender da melhor maneira o universo/escopo/requisito que se pretende modelar. Rodriguez e Neubauer (2010) apontam que diversos modelos de grafos surgiram de acordo com a necessidade de um domínio. Cada modelo permite indicar se os nós ou arestas possuem atributos ou rótulos, se as arestas podem ter direcionamento e/ou peso, se os nós podem ser ligados por múltiplos relacionamentos ou não. A figura 2.3 representa as propriedades possíveis de um modelo de grafo, de modo que consiga armazenar nos seus elementos topológicos as informações necessárias relativas ao modelo desejado.

FIG. 2.3: Exemplo com as propriedades possíveis de um grafo (RODRIGUEZ; NEU- BAUER, 2010).

Segundo Rodriguez e Neubauer (2010), um modelo de grafo pode reunir mais de uma propriedade. A figura 2.4 mostra uma classificação de modelos de grafos. Cada modelo dessa figura possui sua especificidade e pode ter mais propriedades se comparado com algum modelo inferior dentro da hierarquia. Um grafo de propriedades (property graph) por exemplo, pode ter em sua estrutura nós e arestas com atributos e rótulos (label). Possui também múltiplos relacionamentos e direcionamento das arestas. Um grafo simples, no entanto, não possui direcionamento das arestas, múltiplos relacionamentos, atributos e auto-relacionamento. Um grafo de propriedades portanto, possui um maior poder de representatividade. Grafo de propriedades é o modelo de grafo usado por algumas ferramentas, tal como Neo4j. Uma de suas características é a expressividade. É possível representar

27 FIG. 2.4: Hierarquia de Grafos (RODRIGUEZ; NEUBAUER, 2010). modelos de grafos menos expressivos limitando as características do grafo, de modo que se adeque a um modelo mais simples. Por exemplo, caso um usuário queira armazenar um grafo simples, grafo esse que possui vértices e arestas sem rótulos e atributos. Um SGBD em grafos cujo modelo de dados seja o grafo de propriedades, consegue atender a demanda do usuário, que simplesmente, precisa inserir os dados de modo que se encaixem no modelo desejado. No caso citado, os vértices e arestas serão criados sem nenhum tipo de atributo. Importando dados de um banco relacional, as tuplas poderiam ser modeladas como vértices no grafo, e os atributos de cada tupla seriam ignorados. A expressividade de um grafo de propriedades também é notada pela alteração da modelagem do grafo sem ferir os requisitos do modelo original. Considere o caso em que o grafo de propriedades seja o modelo escolhido pelo usuário, e o grafo armazena em seus nós e arestas algum atributo. Caso o usuário queira representar um atributo armazenado nas arestas como um nó, basta criar um novo nó intermediário no lugar da aresta. Outro caso que ilustra uma alteração da modelagem sem alterar os requisitos do modelo original, seria a explicitação dos atributos de uma entidade como outros nós ligados estritamente ao nó original. O usuário pode alterar a modelagem e usar mais de um tipo de nó para o grafo que representem os diferentes atributos da pessoa.

28 3 TRABALHOS RELACIONADOS

Alguns trabalhos já abordam a etapa de análise de transição entre modelos de dados. A grande liberdade na criação de uma modelagem em grafo permite que ele seja criado visando um determinado objetivo. Virgilio et al. (2014) modelam o grafo visando a performance na consulta do banco de dados em grafo. Seu trabalho propõe que alguns nós do grafo possuem um contexto e semântica parecidos, baseado no esquema conceitual do banco relacional. Wardani e Küng (2014) realizam uma modelagem que visa evitar a perda semântica. Enquanto Bordoloi e Kalita (2013) utilizam uma modelagem que reutiliza os atributos das entidades, mirando evitar a redundância dos dados. Uma outra maneira de escolher um modelo é conceder ao usuário o poder de modelar o grafo como achar conveniente. Essa é a base do trabalho de Xirogiannopoulos et al. (2015). Algumas ferramentas também realizam esse mapeamento, mas com objetivo específico de uso do grafo. Como é o caso da ferramenta D2R, que transforma uma banco de dados relacional em um grafo com a estrutura modelada para a publicação de dados segundo regras da web semântica.

3.1 MÉTODO DE MIGRAÇÃO COM FOCO NA PERDA SEMÂNTICA

Nesse método, a migração é feita de modo que o grafo gerado seja próximo ao esquema conceitual, e não partindo do esquema relacional do banco de origem. A idéia central no trabalho de Wardani e Küng (2014) é criar um mapeamento entre o esquema relacional e o modelo em grafo tentando manter a abstração semântica. É sugerido um método de mapeamento que, baseado em outros trabalhos, cria um grafo que não difira do esquema conceitual do banco relacional. Wardani utiliza tanto o esquema conceitual e relacional para realizar o mapeamento. Para tal, os autores criam regras onde os elementos do banco relacional são usados como critério para realizar o mapeamento. Por exemplo, atributos que são usados como chave estrangeira no banco, servirão como critério para saber se ha- verá um relacionamento/aresta entre dois nós. Wardani realiza um mapeamento, usando como conjunto de dados de origem, o mesmo exemplo de Virgilio et al. (2013). É possível notar a diferença entre os mapeamentos nas figuras 3.2a e 3.2b. O trabalho de De Virgilio será detalhado na seção 3.2.

29 Bordoloi e Kalita (2013) apresentam um método de construção de um hipergrafo, que parte de um esquema relacional. Inicialmente, constroem-se grafos de dependências e “estrela”, evidenciando as relações de dependência entre os atributos para cada tabela. Em seguida, esses grafos são unidos em um único hipergrafo. Semelhante ao grafo chamado “template” (VIRGILIO et al., 2014), este hipergrafo representa o “esquema” do banco, onde os nós são os atributos das tabelas, e as arestas representam as dependências entre os atributos. Com base nesse hipergrafo, poderia ser gerado o hipergrafo dos dados, onde cada valor de atributo nas tuplas das relações passa a ser um nó, e as relações de dependência também são instanciadas. No entanto, este é um grafo complexo, com muitos nós. Para reduzir este grafo, o método proposto inclui uma análise de domínios comuns entre os atributos. Desta forma, levando em conta essa análise um outro hipergrafo de esquema é gerado, onde atributos de mesmo domínio, presentes em tabelas distintas, são representados uma única vez. Por fim, com base no hipergrafo do esquema, um hipergrafo de dados é gerado, onde um único nó representa um valor de um domínio específico. Assim, para cada valor já existente no grafo, ao acrescentar um novo dado que referencie este valor, basta criar a aresta necessária.

FIG. 3.1: Grafo criado pelo método de Bordoloi e Kalita (2013)

3.2 MÉTODO DE MIGRAÇÃO VOLTADO PARA CONSULTAS

Semelhante ao trabalho de Wardani e Küng (2014), em Virgilio et al. (2013), parte-se também da análise do esquema relacional, mas com o objetivo de minimizar o número de acessos necessários para recuperar dados de um modelo relacional. Em outro artigo Virgilio et al. (2014), o mesmo autor destaca que para fazer a transformação é preciso uma análise cuidadosa a partir de um esquema conceitual, de modo a resolver possíveis conflitos ao agregar entidades e relacionamentos. Para tal fim, propõe primeiramente o resgate do esquema conceitual ER a partir do esquema relacional. Com base nessa repre-

30 sentação é concebido um grafo “template”, que representa o esquema lógico dos dados a serem representados no grafo. Nesse esquema, as entidades e relacionamentos são conve- nientemente agrupados, respeitando as restrições de integridade referencial definidas no esquema relacional, e algumas regras definidas pelo autor. A ideia é agrupar entidades cujas instâncias irão aparecer juntas em algum resultado de consulta, otimizando dessa forma o processamento dessas consultas. A figura 3.2b monstra o grafo após o mapea- mento.

(a) (b)

FIG. 3.2: Esquemas de grafos criados por Wardani e Küng (2014) e Virgilio et al. (2013)

3.3 MAPEAMENTO COM MEDIAÇÃO DO USUÁRIO

Um trabalho recentemente publicado e que relata que um grafo pode ter diversas mode- lagens é o trabalho de Xirogiannopoulos et al. (2015). Nesse foi criado uma ferramenta de extração de dados de um banco de dados relacional para um modelo em grafo cha- mado GraphGen. De modo que o usuário realizar tanto a extração, como uma tarefa de análise do grafo, ou algum algoritmo sobre o grafo obtido. Essa ferramenta utiliza DSL, que é baseada em Datalog, para realizar as extrações do banco relacional. Este trabalho é o que mais se aproxima de levar em consideração que um conjunto de dados pode gerar diferentes modelos de grafos. No entanto, por mais que o usuário consiga fazer análises sobre o grafo extraído, não há um estudo sobre as consequências de escolha da modela- gem desejada. Por mais que o usuário tenha liberdade de escolher como será realizada a extração dos dados, sente-se a necessidade de entender o porquê da escolha.

3.4 MÉTODOS AUTOMÁTICOS DE MAPEAMENTO

Algumas ferramentas foram desenvolvidas com o intuito de explorar a estrutura de um grafo. Dentre elas, algumas possuem métodos para mapear os dados do banco relacional.

31 Elas podem ter funções distintas, como por exemplo, o armazenamento de dados como grafos, ou pelo menos uma estrutura que remetam grafos, visualização de grafos, análise e transformação/mapeamento de outros modelos de dados para grafos. Atualmente, existem alguns softwares que usam a estrutura de um grafo para arma- zenar e manter dados. Destacamos o Neo4J, que é o SGBD em grafos mais utilizado atualmente7. Ele possui uma linguagem própria chamada Cypher (PANZARINO, 2014) que permite ao usuário importar dados de bancos relacionais através de arquivos de texto. A ferramenta Gephi (BASTIAN et al., 2009) foca em ajudar o usuário a manipu- lar o grafo para uma melhor visualização. O Gephi permite, com a adição de algumas bibliotecas, mapear automaticamente dados de um banco relacional. Já o software D2R (BIZER, 2016) permite mapear um banco relacional para um grafo com modelagem voltada para web semântica, tornando os dados compatíveis com a iniciativa Linked Data, compatíveis com o formato RDF. A transição, ou migração automática de ferramentas diferentes pode ser vantajosa por evitar que o usuário gaste um grande tempo e esforço numa determinada tarefa. No entanto, é perigoso que algumas informações ou dados, sejam perdidos ou alterados após essa etapa.

3.5 DISCUSSÃO

Os trabalhos citados modelam o grafo segundo um objetivo determinado, seja a perda semântica, ou otimização de consultas ou publicação de dados na web de dados. Dentre os métodos e ferramentas até aqui apresentados, todos eles se propõem e conseguem realizar a transição entre o banco de dados relacional e algum modelo de grafo. Alguns podem exigir maior envolvimento do usuário para análise. Mesmo cumprindo o objetivo de transição, nenhum dos métodos até aqui analisados realizam a transformação de modelos, tendo como direcionamento a topologia do grafo. É interessante usar parte da teoria de grafos para ajudar a transição do relacional para o grafo. O trabalho de Xirogiannopoulos é o único que integra as análises de grafos no trabalho, mas as análises topológicas não são influentes para modelar o grafo. Os ex- perimentos relatados na seção 4.2 seguem essa abordagem, aproveitando a lacuna deixada nos trabalhos relacionados.

7http://db-engines.com/en/system/Neo4j

32 4 UM MÉTODO DE MIGRAÇÃO DE DADOS

Esta dissertação propõe o uso de um método que dê suporte ao mapeamento dos dados que estão no modelo relacional para o modelo em grafo. Diferente dos trabalhos relacionados, a ideia deste método leva em consideração que existem várias maneiras de mapear um grafo. O usuário pode se beneficiar dessa liberdade de alternativas para escolher a modelagem que melhor se encaixa para a análise que deseja executar. A base da proposta é guiar o usuário na escolha de que dados serão representados como vértices e que conexões de dados serão representadas como arestas. Um SGBDR representa os dados de acordo com o modelo relacional, i.e., cada item de dado corresponde a uma tupla descrita no esquema lógico. Como já explicado na seção 2.1, o esquema relacional (representação no nível lógico) normalmente é derivado de um esquema ER (nível conceitual), formado por entidades E e relacionamentos R que conectam instâncias de tais entidades. Um esquema ER é a representação de maior nível de abstração para dados armazenados no banco de dados, e ‘normalmente é dita a representação de dados mais próxima da realidade’. A descrição dos dados nesse nível tende a ser mais clara, o que facilita o entendimento e consequentemente, a tarefa de modelagem do grafo. Em um esquema conceitual, seja R um relacionamento existente entre duas entidades

E1 e E2. No mapeamento topológico usual, se para um par de instâncias (e1, e2), onde e1 ∈ E1 e e2 ∈ E2, há uma instância de relacionamento r ∈ R, este é mapeado em uma aresta no grafo, assim, e1, e2 ∈ V , e o par (e1, e2) ∈ E, de um grafo G. No entanto, é importante notar, que embora no grafo as instâncias e1 e e2 sejam vértices, originalmente elas pertencem a diferentes entidades do esquema ER, e portanto possuem significados diferentes. Outro ponto a ser destacado é que um relacionamento entre as entidades tam- bém pode ser de vários tipos, e ainda ter atributos próprios. Estes atributos podem dispor de informações importantes sobre o relacionamento, o que pode levar a uma representação explícita dos mesmos no grafo, para que sejam considerados na análise. A próxima seção apresenta uma visão geral do método de migração de dados onde se contextualiza a principal contribuição deste trabalho.

33 4.1 VISÃO GERAL DO MÉTODO

Neste trabalho assume-se que é possível derivar um esquema ER de um esquema rela- cional, oriundo de um banco de dados relacional usando técnicas de engenharia reversa (HEUSER, 2001). Essa engenharia reversa é utilizada normalmente quando o banco já está implementado. O esquema lógico traz informações de quais tabelas estão implemen- tadas fisicamente no banco e é o primeiro a ser obtido no processo de engenharia reversa. Em seguida, é obtido o esquema ER. Dessa forma, a partir de um esquema ER, e para cada par de entidades (E1,E2), que contém um relacionamento (R) entre elas no esquema, aplica-se um conjunto de heurísticas H. Cada heurística leva em conta o tipo de análise que se deseja realizar. Baseado em tais análises, o modelador é motivado a pensar nos vizinhos das entidades e nos atributos dos relacionamentos como potenciais vértices do grafo. Dependendo da análise que será feita, uma exploração maior no esquema é incen- tivada para que se obtenha um grafo mais rico em informações. A Figura 4.1 resume bem a proposta deste trabalho e seu contexto que se resume em: dado um esquema lógico (denotado por EL), extrai-se o esquema conceitual (denotado EC). Aplicando o conjunto de heurísticas H sobre EL, e ainda considerando o tipo de análise A que se pretende fazer, gera-se um conjunto de regras de mapeamento RM, responsável por traduzir/transportar as tuplas do esquema relacional em vértices e arestas do grafo G. Podemos separar as etapas do método de migração, representados na Figura 4.1 da seguinte maneira: 1o - Dado um banco de dados, extrair o esquema relacional EL. Nesse esquema estão representadas as relações (tabelas), as ligações entre si, a definição dos atributos, a conexão de tais atributos como chave estrangeira e as restrições aplicadas a todo o conjunto. 2o - Uma vez extraído EL, gerar o esquema conceitual EC usando engenharia reversa. Por ser a abstração dos dados que mais se aproxima da realidade a qual se quer modelar, o esquema conceitual é de mais fácil utilização. 3o - Na etapa de geração de regras de mapeamento são utilizados como entrada, o esquema conceitual EC, o esquema relacional EL, o conjunto de heurísticas H, um conjunto de análises A da qual algumas serão escolhidas, além de contar com a interação do usuário para selecionar os elementos do banco que serão levados em conta para a análise. Utilizando como base EL e EC, o usuário deve informar quais entidades de EC serão mapeadas para o grafo. O usuário também deve escolher o tipo de análise que será realizado sobre o grafo. O conjunto de heurísticas criado na geração das RM é útil para guiar o usuário na escolha da modelagem desejada.

34 4o - Com as etapas ‘preparatórias’ concluídas, são geradas as regras de mapeamento RM, que consistem num conjunto de algoritmos e procedimentos para fazer a migração de dados do banco no grafo. Nessa etapa, são identificadas as instâncias de entidades e relacionamentos do banco de dados que serão representados no grafo. A principal contribuição deste trabalho está na construção de um conjunto H de heurísticas. Para isso, foram realizados experimentos como explicado na seção a seguir.

FIG. 4.1: Fluxo da migração do banco de dados via esquema conceitual para o grafo G=(V,E).

4.2 CONSTRUÇÃO DE HEURÍSTICAS

Para a construção das heurísticas tomou-se como base três situações típicas de mo- delagem em um esquema conceitual, para construção das heurísticas. No caso (a), foi analisada a situação onde existe uma entidade com n autorelacionamentos. No caso

(b), o esquema possui um par de entidades (E1,E2) que podem estar ligadas através de m relacionamentos binários. E o último caso (c), onde existem um par de en- tidades (E1,E2) e apenas um relacionamento binário. As situações de modelagem escolhidas aparecem recorrentemente em muitos esquemas conceituais, até mesmo, em um único esquema, estas situações podem ser encontradas mais de uma vez. Escolheu-se então um banco de dados projetado com base nesta situação de modela- gem. A partir daí, foram realizados os experimentos da seguinte forma: os dados foram usados para gerar diferentes modelagens em grafo. Sobre cada modelagem (grafo) foi aplicado um conjunto de análises topológicas mais usadas. O objetivo desses experimen- tos foi avaliar o impacto sobre os resultados das análises topológicas para as diferentes modelagens em grafo. Os próximos capítulos apresentam os experimentos realizados e seus resultados. Os

35 bancos de dados escolhidos foram intencionalmente de pequeno porte, para explorar como as diferentes alternativas de modelagem de dados em grafos podem impactar nas análises que se objetiva fazer. Embora existam diferentes tipos de grafos, para este trabalho foi utilizado o grafo de propriedades, apresentado na seção 2.3. Os motivos da escolha são, permitir uma maior liberdade de modelagem e o fato desse tipo de grafo ser usado largamente na literatura.

FIG. 4.2: Fluxo para definição de uma heurística em um experimento

A Figura 4.2 exibe um fluxo de construção de uma heurística. A partir de um conjunto de dados (BD) e de um esquema conceitual (EC), são geradas diferentes alternativas de modelagem de grafos (G1,G2, ..., Gn), e para todas essas alternativas, são aplicadas um conjunto de análises pré-selecionadas (A1,A2, ..., An). Dos resultados de cada grafo, regras de comportamento foram identificadas de cada grafo e análise, (Ri(Gi,Ai), 1 ≤ i ≤ n). Dessas regras identificadas, criamos a heurística (H) para o conjunto. Os experimentos foram realizados com grau de dificuldade crescente, aumentando também a quantidade de dados usados. Em um primeiro momento foram realizados experimentos com um conjunto de análises topológicas voltadas para a aplicações da análise de redes sociais, como por exemplo medidas de centralidade. A seguir, foram realizados experimentos com análises topológicas voltadas para a predição de links, como por exemplo a métrica de Jaccard. A Tabela 4.1 apresenta quais foram as modelagens e análises utilizadas para cada experimento. Além de mostrar para cada experimento qual caso particular de modelagem do esquema conceitual está sendo abordado.

E1Rn - Caso (a) EnRm - Caso (b) EnR1 - Caso (c) Medidas Exp. 1 Modelagem 1 e 2 Centralidade Exp. 2 Modelagens 3, 4 e 5 Predição Exp. 3 Modelagens 3, 4 e 5 de Ligações Exp. 4 Modelagens 3, 4 e 5

TAB. 4.1: Análises, modelagens e casos de modelagem analisados para cada experimento realizado.

36 5 EXPERIMENTOS USANDO ANÁLISES SOBRE REDES SOCIAIS

Este capítulo apresenta os experimentos realizados aplicando as análises topológicas mais comumente usadas sobre redes sociais. São medidas de centralidade, como as de intermediação, proximidade, grau, autoridade e hub. Para isso, escolhemos dois bancos de dados que envolvem pessoas e seus relacionamentos. No primeiro experimento, usamos um banco de dados cujos dados representam os re- lacionamentos entre membros de um clube de lutas. Neste caso, há somente uma entidade e dois relacionamentos entre elas. Nosso objetivo é mostrar que as análises podem ser fei- tas para duas escolhas da modelagem: (i) escolher ambos os relacionamentos (modelagem 1), ou (ii) escolher somente um dos relacionamentos (modelagem 2). Embora o exemplo apresente somente uma entidade, os resultados podem ser aplicados para o caso em que há duas entidades e mais de um relacionamento entre elas. Já no segundo experimento, o banco de dados usado é sobre cinema. Ele representa duas entidades distintas e dois tipos de relacionamentos entre elas. Neste caso, nosso ob- jetivo é mostrar que as análises podem ser feitas para outras variações de modelagem: (i) representar as entidades como nós e os relacionamentos como arestas do grafo (modela- gem 3); (ii) representar as entidades e os relacionamentos como nós do grafo (modelagem 4); (iii) representar as entidades e um atributo do relacionamento como nós do grafo (modelagem 5).

5.1 EXPERIMENTO 1

5.1.1 CONJUNTO DE DADOS

No experimento 1, utilizou-se uma base de dados sobre os relacionamentos dos membros de uma academia de karatê criado a partir da rede de Zachary (1977). Nesse conjunto, os membros de um clube de karatê podem relacionar-se de duas formas, pelo relacionamento “Amigo de” ou então pelo relacionamento “Luta com”, este último visando representar resultados de lutas em campeonatos e torneios. A figura 5.1 representa o esquema con- ceitual do banco relacional e o esquema do grafo gerado a partir desses dados. Nesse experimento, foi analisado o primeiro caso de modelagem descrito na seção 4.2, onde o esquema conceitual possui uma entidade e n autorelacionamentos. Seguindo dessa forma, a situação de modelagem (a).

37 Esse experimento foi dividido em duas etapas para atender às duas alternativas de modelagem a serem investigadas. Em ambas foram analisadas algumas medidas de centra- lidade, sendo elas intermediação, proximidade e grau. Na primeira etapa, o grafo original foi analisado sem nenhum tipo de alteração. Na segunda etapa, foi retirado o relaciona- mento “Lutou com”, mantendo assim a rede de amizade original do conjunto de Zachary. O resultado das análises realizadas pode ser conferido na tabela 5.1. Para a tarefa de armazenamento dos dados, utilizou-se o software Neo4j. Enquanto que para o cálculo das medidas utilizou-se a ferramenta de manipulação e visualização de grafos, Gephi.

FIG. 5.1: Esquema conceitual e um exemplo do esquema do grafo gerado na primeira etapa.

Modelagem 1 Modelagem 2 Nó Intermediação Proximidade Grau Intermediação Proximidade Grau 1 152,19 1,6 16 231,0 1,758 16 34 102,99 1,66 17 160,5 1,81 17 4 12,5 2 7 6,2 2,15 6 22 24 1,9 6 0 2,6 2 24 14,6 2,0 8 9,3 2,5 5 30 9,7 1,9 7 1,5 2,6 4

TAB. 5.1: Resultados das medidas de centralidade, para um grafo não direcionado.

5.1.2 ANÁLISE DOS RESULTADOS

Observando os resultados na tabela 5.1 podemos concluir que o experimento demonstra a influência da modelagem escolhida nas medidas de centralidade obtidas. Dependendo da modelagem escolhida, informações importantes para a análise do usuário devem ser consi- deradas ou não. No caso da Modelagem 2, onde são analisados apenas os relacionamentos de amizade, os nós 1 e 34 são os mais centrais segundo a intermediação. Na modelagem 1, por mais que os nós mais centrais continuem os mesmos, houve uma mudança signifi- cativa nos valores de centralidade dos nós 4, 22, 24 e 30. Pode-se interpretar que, tais nós representam pessoas que participaram de vários torneios e lutas, como é o caso do nó 22, cujo valor do grau e de intermediação teve a maior diferença. Assim, caso o modelador

38 23 16 21

29 27 10 34 19 31 30 20 9 22 32 33 26 2 3 14

15 28 24 8 4 18 12 1

11 7 13 25 5 6

17

FIG. 5.2: Grafo com os relacionamentos de Luta (azul) e Amizade (vermelho). deseje encontrar os lutadores de maior visibilidade social no grafo, deve levantar todas as relações envolvendo os lutadores. Se achar que a relação de amizade é a mais útil para identificar os lutadores, então esta deve ser considerada. Mas, se a visibilidade social pode ser alcançada também com as relações de luta, esta deve ser considerada além da relação de amizade. Assim, ambas as relações (amizade e luta) devem ser representadas no grafo. A figura 5.2 apresenta o grafo final construído. As arestas em vermelho representam os relacionamentos “Amigo de”, e as arestas em azul representam os relacionamentos “Luta com”. De modo mais genérico, esta situação de modelagem pode envolver duas entidades distintas, que possuam mais de um tipo de relacionamento entre elas. Em casos onde existam muito mais que dois tipos de relacionamentos entre duas entidades, a consequência gerada nos valores das medidas de centralidade pode ser muito mais significativo. Em tais casos, uma análise cuidadosa por parte do usuário sobre quais relacionamentos são relevantes sintaticamente deve ser feita. À medida que mais tipos de relações são considerados, mais arestas surgirão no grafo, e naturalmente as medidas de centralidade serão impactadas. Assim, se o objetivo é encontrar os nós mais centrais ou de maior intermediação, por exemplo, é preciso analisar para o contexto dos dados em questão, quais os tipos de relacionamento que devem ser

39 levados em consideração. Em geral, há uma diferença semântica entre os dois tipos de relacionamento, e é o que justifica o fato de serem representados de modo distinto no banco de dados. Mas, se para fins da análise da rede, ambos podem ser considerados semanticamente relevantes, então ambos devem ser representados no grafo. Embora no banco de dados usado no experimento, apenas uma entidade tenha sido considerada, de modo mais genérico, a mesma consideração deve ser feita em uma situação de modelagem onde banco de dados envolve duas entidades distintas, que possuam mais de um tipo de relacionamento entre elas. Mesmo usando algumas medidas de centralidade para descobrir quais são os nós mais centrais, a descoberta de tais nós não chegou a ser um fator de influência direta para a obtenção da primeira heurística. O valor de cada medida de centralidade de cada nó foi comparado para as duas modelagens. E desse estado então, foi compreendido que a escolha de relacionamentos pode interferir na definição dos nós mais centrais do grafo. O que foi de maior relevância foi o entendimento da diferença entre relacionamentos e sua semântica, que dependendo da forma de representação, afetará a análise que utilize as medidas de centralidade. Assim podemos chegar na seguinte heurística:

Heurística 1: Dadas duas entidades E1 e E2 de um esquema conceitual EC, não neces- sariamente distintas, que se relacionam por relacionamentos distintos R1,R2, ..., Rn. Se a análise a ser realizada tem como foco um relacionamento Ri a ser modelado no grafo, 8 então para todo j 6= i tal que Rj tenha a mesma relevância semântica que Ri, Rj também deve ser modelado no grafo. Ou mais formalmente, como se segue. Sejam:

• G = (V,A); grafo

• EC = (E,R); esquema conceitual

• E = {E1,E2, ..., Ep}; conjunto de entidades do esquema EC

• R = {R1,R2, ..., Rq}; conjunto de relacionamentos do esquema EC

1 2 • Ei = {ei , ei , ...}; conjunto de instâncias da entidade Ei

1 2 • Rk = {rk, rk, ...}; conjunto de instâncias do relacionamento Rk

z x y • rk = (ei , ej ); um instância de R conecta um par de instâncias de entidades de E

8Obs: o simbolo ≈ foi usado com o significado de semanticamente relevante.

40 Dado que:

x y • E1,E2 ∈ E; e1 ∈ E1; e2 ∈ E2;

• R1 ∈ R;

z z x y • r1 ∈ R1; r1 = (e1, e2);

No mapeamento para o grafo G temos:

x x •∀ e1 ∈ E1, e1 ∈ V ;

y y •∀ e2 ∈ E2, e2 ∈ V ;

z z •∀ r1 ∈ R1, r1 ∈ A;

c a b c c • Se ∃j 6= 1 | rj = (e1, e2) e Rj ≈ R1 então ∀rj ∈ Rj; rj ∈ A

A figura 5.3 ilustra a escolha dos relacionamentos Ri, ...Rj entre as entidades E1 e

E2 do esquema conceitual que serão utilizados para construir um grafo onde cada nó representa uma entidade, e cada aresta representa um dos relacionamentos escolhidos.

FIG. 5.3: Representação da heurística obtida no experimento 1

5.2 EXPERIMENTO 2

5.2.1 CONJUNTO DE DADOS

Nesse experimento, utilizou-se um subconjunto de dados que a ferramenta Neo4j dis- ponibiliza para introduzir novos usuários à linguagem Cypher, responsável por realizar consultas no banco. Nesse banco, são mantidas informações sobre dois tipos de entidades (pessoas e filmes), e os distintos relacionamentos entre essas duas entidades. Foram usa- dos apenas os relacionamentos sobre ações de atuação e direção das pessoas dessa base. O esquema conceitual do banco relacional pode ser visto na figura 5.4. Para a realização desse experimento, foram usadas as mesmas ferramentas do experimento 1. Para o cálculo das medidas de centralidade, lançou-se mão do Gephi. Para o armazenamento dos dados fez-se uso do Neo4j. Nesse experimento, foi analisado o caso de modelagem (b) descrito

41 na seção 4.2, onde o esquema conceitual possui um par de entidades (E1,E2) ligados por m relacionamentos binários.

FIG. 5.4: Esquema conceitual do banco de pessoas e filmes.

Embora a situação de modelagem de BD seja semelhante a situação do primeiro experimento, neste caso, temos duas entidades distintas, além de duas relações distintas a considerar. A partir desta situação de modelagem de BD foi possível explorar 3 variações de modelagens em grafo, considerando a explicitação das relações como nós, e de atributos como nós. Assim, esse experimento foi dividido em três etapas. Cada etapa considerou uma forma de migração, isto é, uma modelagem em grafo. Em todas as etapas foram ana- lisadas as seguintes medidas topológicas para os nós do grafo obtido: intermediação e proximidade. Foram também medidos o valor de hub e autoridade de cada nó. Na primeira etapa, da mesma forma que no experimento 1, as entidades do esquema conceitual são transformadas em nós no grafo. Agora, existem dois tipos de nós, Pessoa e Filme. E os relacionamentos são transformados em arestas no grafo. Também agora existem dois tipos de relacionamento, Atuação e Direção. A figura 5.5 ilustra o grafo obtido nessa etapa (modelagem 3). No caso do relacionamento Atuação do modelo ER, temos um atributo Papel associado. Essa informação é mantida no grafo como atributo de aresta.

FIG. 5.5: Esquema do grafo para a Modelagem 3

Na segunda etapa, diferente do experimento 1, os relacionamentos foram transfor- mados em nós. Assim, o grafo nessa etapa possui quatro tipos distintos de nós. Nessa modelagem os relacionamentos não possuem atributos ou rótulos, todos eles estão no mesmo nível. Existem arestas entre os nós Pessoa e Atuação, Atuação e Filme, Filme e

42 Direção e entre Direção e Filme. A figura 5.6 representa o esquema do grafo (modelagem 4).

FIG. 5.6: Esquema do grafo para a Modelagem 4

Na terceira etapa, a modelagem mantém os mesmos tipos de nós e arestas que a modelagem 4, mas foi inserido um novo tipo de nó que representa cada tipo de atuação que um mesmo ator teve no filme, Papel, e um novo tipo de aresta entre nós Ator e Papel, e entre os nós Papel e Filme. Isto é, no caso dos nós do tipo Atuou_em em que um ator fez mais de um papel no mesmo filme, incluímos novos nós que deixam explícitos todos os papéis representados pelo ator. A figura 5.7 representa o esquema do grafo nessa terceira etapa (modelagem 5).

FIG. 5.7: Esquema do grafo para a Modelagem 5

5.2.2 ANÁLISE DOS RESULTADOS

As tabelas 5.2, 5.3 e 5.4 mostram os resultados obtidos para as medidas de centralidade proximidade, intermediação, autoridade e hub dos grafos construídos usando as três mode- lagens do experimento 2. Para o cálculo das centralidades, foram consideradas as opções de grafo não direcionado e direcionado. Os nós identificados nas tabelas correspondem aos 5 que tiveram maior valor de centralidade em cada caso.

43 Modelagem 3 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Clint Eastwood Tom Hanks A few good men Aaron Sorkin Richard Harris A few good men Jerry Macguire Al Pacino Chris Columbus Cloud Atlas Speed Racer Andy Wach. Dina Meyer Keanu Reeves The Green Mile Annabella Sciorra Ice-T Jack Nicholson Stand By Me

TAB. 5.2: Resultados das medidas de centralidade para modelagem 3

Modelagem 4 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Richard Harris Tom Hanks A Few Good Men Aaron Sorkin Clint Eastwood A few good men Jerry Macguire Al Pacino Chris Columbus Cloud Atlas Speed Racer Andy Wach. ACTED_IN (Chris) TH-ACTED_IN-CloudA The Green Mile ACTED_IN (Clint) Keanu Reeves Stand By Me DIRECTED (Clint) Jack Nicholson A League of Their Own Dina Meyer The Green Mile Cloud Atlas

TAB. 5.3: Resultados das medidas de centralidade para modelagem 4

Modelagem 5 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Richard Harris Tom Hanks Cloud Atlas Aaron Sorkin Clint Eastwood Cloud Atlas A few good men Al Pacino Chris Columbus A few good men Jerry Macguire Andy Wachowski English Bob Keanu Reeves Speed Racer Bill Munny The Green Mile The green mile DIRECTED Jack Nicholson Stand By Me Dina Meyer Hugo Weaving A League of Their Own Ice-T "Paul Edgecomb", Tom Hanks Sleepless in Seattle

TAB. 5.4: Resultados das medidas de centralidade para modelagem 5

O experimento apresentado nesta seção difere do experimento da seção 5.1 no que se refere à representação das entidades e relacionamentos no grafo, o que altera significati- vamente os resultados das medidas de centralidade. Para as medidas de Proximidade e Intermediação, os três nós com maior valor de centralidade são os mesmos. Já nas modelagens 3 e 4 é possível notar uma mudança entre o segundo e terceiro colocados. Na modelagem 5, o nó que representa o filme Cloud Atlas toma a segunda posição mais alta no ranking de intermediação, que era ocupada na modelagem 4 pelo nó A Few Good Men. Essa alteração se deve ao fato do filme Cloud Atlas possuir vários papéis representados pelos mesmos atores. Esse nó do tipo Filme também acaba sendo o de maior autoridade no grafo da modelagem 5; ou seja, vários outros nós apontam para esse Filme.

44 Outro nó que não estava presente no ranking de Intermediação para as modelagens 3 e 4 é o que representa o ator Hugo Weaving. Esse ator possui vários papéis em Cloud Atlas e está ligado a outros filmes no grafo. Portanto, o nó Hugo Weaving possui maior probabilidade de estar no caminho de um par de nós (x, y) e por isso apresenta maior valor de intermediação na modelagem 5. De forma geral, entende-se que os nós com maior valor de intermediação influenciam o valor dos nós ao redor. Assim, pode-se concluir que, o fato de considerar um relaci- onamento como nó no grafo não chega a ter um impacto tão grande, como verificado contrastando os resultados das modelagens 3 e 4. No entanto, ao representar o atributo multivalorado do relacionamento entre duas en- tidades como um nó, isso faz com que as entidades envolvidas ganhem maior centralidade, em termos de intermediação e autoridade. Isso quer dizer, que se um nó já apresentasse um valor de centralidade significativo na modelagem 4, há um potencial aumento deste valor na modelagem 5, aumentando sua posição no ranking. Em outras palavras, atributos de um relacionamento no esquema conceitual podem aumentar a importância das entidades nas análises, e por isso devem ser representados como nós do grafo e não como arestas. Assim podemos chegar a seguinte heurística: Heurística 2:

Dado um relacionamento R do tipo muitos-para-muitos (n : m) entre 2 entidades E1 e E2, se um atributo P associado ao relacionamento R é relevante para a análise, então P deve ser modelado como um nó do grafo. 0 Ligado aos nós que representam as entidades E1 e E2 por meio de duas arestas R e R00. Ou mais formalmente, como se segue. Sejam:

• G = (V,A); grafo

• EC = (E, R, P e, P r); esquema conceitual

• E = {E1,E2, ...}; conjunto de entidades do esquema EC

• R = {R1,R2, ...}; conjunto de relacionamentos do esquema EC

1 2 • Ei = {ei , ei , ...}; conjunto de instâncias da entidade Ei

1 2 • Rk = {rk, rk, ...}; conjunto de instâncias do relacionamento Rk

z x y • rk = (ei , ej ); uma instância de Rk conecta um par de instâncias de entidades de E

45 • P e = {P e1, P e2, ...}; conjunto de propriedades (atributos) de Entidades do esquema EC

• P r = {P r1, P r2, ...}; conjunto de propriedades (atributos) de Relacionamentos do esquema EC

1 2 • P rk = {P rk, P rk, ...}; conjunto de propriedades (atributos) de um Rk do conjunto R do esquema EC

w,z w • prk = (v1, v2, ...); conjunto de valores do atributo P rk de um relacionamento Rk, z associado a uma instância de relacionamento rk

Dado que:

x y • E1,E2 ∈ E; e1 ∈ E1; e2 ∈ E2;

• R1 ∈ R;

z z x y • r1 ∈ R1; r1 = (e1, e2);

1 • P r1 ∈ P r1;

1,z • pr1 = (v1, v2, ..);

No mapeamento para o grafo G temos:

x x •∀ e1 ∈ E1, e1 ∈ V ;

y y •∀ e2 ∈ E2, e2 ∈ V ;

1 1 • Se P r1 é importante para o relacionamento R1 e P r1 é multivalorado então z 1,z x y ∀r1 e ∀vs ∈ pr1 : vs ∈ V e (e1, vs), (vs, e2) ∈ A

A imagem 5.8 exemplifica um esquema ER e o grafo gerado a partir da heurística criada. Onde o nó P era um atributo do relacionamento R.

E1 R E2

P

FIG. 5.8: Modelagem sugerida para um caso genérico do experimento 2.

46 6 EXPERIMENTOS USANDO ANÁLISES PARA PREDIÇÃO DE LIGAÇÕES

Este capítulo apresenta um experimento com foco na aplicação de análises topológicas mais comumente usadas para aplicações voltadas para predição de ligações. São elas: Jaccard, Adamic/Adar e Katz, apresentadas na seção 2.2.2 Neste experimento, o banco de dados usado é o mesmo usado no Experimento 2. Ele representa duas entidades distintas e dois tipos de relacionamentos entre elas. Neste caso, nosso objetivo é analisar o comportamento dessas análises quando feitas para as 3 variações de modelagem usadas no Experimento 2: (i) representar as entidades como nós e os relacionamentos como arestas do grafo (modelagem 3); (ii) representar as entidades e os relacionamentos como nós do grafo (modelagem 4); (iii) representar as entidades e um atributo do relacionamento como nós do grafo (modelagem 5).

6.1 EXPERIMENTO 3

6.1.1 CENÁRIO DO EXPERIMENTO

Nesse experimento foi utilizado um subconjunto dos dados usados no Experimento 2. Diferente do segundo experimento, como já foi dito, agora será analisado o problema de predição de ligações. Neste banco de dados, a ideia é prever por exemplo, ligações entre pessoas que atuaram em filmes da base considerada, num período de tempo de 20 anos. Foi considerado um período restrito de tempo dos dados, para viabilizar a predição de colaboração entre atores que são contemporâneos, eliminando dos dados a ser considerados atuações num passado distante. Foram selecionados do BDG apenas atores e filmes do período de 1992 a 2012. Uma outra restrição foi eliminar as informações da base correspondente à direção de filmes. O conjunto mantém dados sobre nome e nascimento dos atores, título, data de lançamento e tagline dos filmes, e os relacionamentos de atuação. Nesse experimento foram usadas ferramentas computacionais diferentes das utilizadas no experimentos anteriores. Para armazenamento dos dados continuamos a usar o Neo4j. Para realizar as análises, foi utilizada a linguagem R (R DEVELOPMENT CORE TEAM, 2008) e a biblioteca igraph (CSARDI; NEPUSZ, 2006) para manipulação e visualização dos grafos. Nesse experimento, foi analisada a situação de modelagem (c) descrito na seção 4.2, onde o esquema conceitual possui um par de entidades (E1,E2) e apenas

47 um relacionamento binário. Modelagens Utilizadas: Nesse experimento, foram usadas as três modelagens ge- radas no experimento 2 (vide seção 5.2). A figura 6.1 apresenta um recorte do grafo para a modelagem 3, onde Cloud Atlas é um nó do tipo Filme e os demais são pessoas que atuam neste filme.

Halle Berry

Jim Broadbent

Cloud Atlas

Hugo Weaving

Tom Hanks

FIG. 6.1: Recorte do grafo na modelagem 3

A figura 6.2 apresenta um recorte do grafo para a modelagem 4. O nó Cloud Atlas é do tipo Filme, os seus vizinhos são do tipo Atuação, e os nós das pontas são do tipo Pessoa. Note que os nós Atuação na figura, informam um conjunto de valores que representam os papéis que cada pessoa representou no filme. Os nós da modelagem 4 são ligados por relacionamentos sem tipo(label) e sem atributos.

Halle Berry

["Luisa Rey","Jocasta Ayrs","Ovid","Meronym"]326

Cloud Atlas Hugo Weaving

["Bill Smoke","Haskell Moore","Tadeusz Kesselring","Nurse Noakes","Boardman Mephi","Old Georgie"]181

Tom Hanks

["Zachry","Dr. Henry Goose","Isaac Sachs","Dermot Hoggins"]288

["Vyvyan Ayrs","Captain Molyneux","Timothy Cavendish"]327

Jim Broadbent

FIG. 6.2: Recorte do grafo na modelagem 4

48 A figura 6.3 apresenta um recorte do grafo para a modelagem 5. O nó Cloud Atlas é um nó do tipo Filme, e os nós vizinhos a ele são nós do tipo Papel. Note que para cada valor do atributo multivalorado papel, é criado um nó correspondente. Completando a figura, os nós do tipo Papel também são conectados a nós do tipo Pessoa, que representam os atores que tiveram tal papel.

Tom Hanks ["Dr. Henry Goose"]301

["Dermot Hoggins"]303

["Zachry"]300

["Isaac Sachs"]302

["Captain Molyneux"]346

["Old Georgie"]186 ["Timothy Cavendish"]347

["Vyvyan Ayrs"]345 ["Tadeusz Kesselring"]183

["Bill Smoke"]181 Jim Broadbent Cloud Atlas Hugo Weaving ["Haskell Moore"]182

["Boardman Mephi"]185 ["Luisa Rey"]341

["Nurse Noakes"]184 ["Ovid"]343

["Meronym"]344 Halle Berry

["Jocasta Ayrs"]342

FIG. 6.3: Recorte do grafo na modelagem 5

6.1.2 MEDIDAS TOPOLÓGICAS

Neste experimento foram utilizadas três medidas diferentes para a predição de ligações. Os coeficientes utilizados visam analisar a similaridade entre dois nós do grafo, usando diferentes critérios: Jaccard, Adamic/Adar e Katz, apresentados na seção 2.2.2. Os coe- ficientes de Jaccard e Adamic/Adar analisam a similaridade entre pares de nós não adja- centes, pelos vizinhos em comum. Enquanto que Katz, analisa a similaridade entre pares de nós comparando o número de menores caminhos entre eles, sejam estes nós adjacentes ou não. Através de uma ordenação dos coeficientes obtidos por cada medida para cada par de nós considerados, obtêm-se um ranking e pode-se concluir quais os pares de nós que provavelmente se conectarão no futuro. Assim, foi possível analisar o resultado das pre- dições usando as três medidas diferentes para as três modelagens consideradas e concluir como as diferentes modelagem afetam os resultados de predição de ligações.

49 Mesmo que os coeficientes de Jaccard e Adamic/Adar sejam de um mesmo tipo, a forma como elas produzem o coeficiente é diferente. No caso do coeficiente de Ada- mic/Adar, há uma maior sofisticação por levar em consideração se uma informação é compartilhada por vários nós. Enquanto que Jaccard se limita a analisar apenas os vi- zinhos do par, Adamic/Adar leva em conta para um determinado par, se o atributo em comum entre eles é pouco frequente. Ele considera que quanto mais frequentemente uma informação for compartilhada, menor será o valor do coeficiente. Ou seja, dado um atri- buto/nó α em comum para o par (x × y), se esse elemento α for conectado com vários outros pares (x × z); (y × z) etc..., menor será o valor do coeficiente. O coeficiente de Adamic/Adar dará maior valor para pares que possuam um atributo menos comparti- lhado. Como Jaccard e Adamic/Adar em suma analisam os vizinhos dos nós, o coeficiente de Katz extrapola a vizinhança e explora as combinações de caminhos possíveis entre dois nós, analisando não somente dos vizinhos mas também dos nós que estão ligados aos vizinhos e assim adiante. As análises são feitas com base nos nós intermediários, que através de caminhos, interconectam dois nós, sejam eles de mesmo tipo ou não. O coeficiente de Katz é mais custoso em termos de computar o valor de coeficiente para cada combinação de pares de nós do grafo, estejam os nós distantes ou não. O coeficiente é gerado pelo somatório das distâncias dos caminhos entre os nós x e y. A partir dos valores obtidos, é possível concluir se tais nós (que possuem um caminho entre eles) teriam alguma chance de manter uma relação. A cada caminho entre um par de nós (x × y) um coeficiente β é multiplicado pela distância como forma de penalizar caminhos mais longos ou curtos. Caso o usuário queira priorizar os caminhos mais curtos, o valor de β deve ser menor que 1. Alguns autores utilizam o coeficiente de Katz como medida de centralidade, e sugerem definir β como β = 1/λ, como por exemplo, Newman (2010). Onde λ é o maior autovalor da matriz de adjacência A. No experimento realizado, foram feitas análises variando os valores de β, e aplicando essas variações em recortes do grafo (subgrafos) para melhor entendimento. Primeiramente, o coeficiente foi definido como 0, 5 para todas as modelagens. No entanto, não houve uma padronização dos resultados. Na segunda tentativa, foi seguida a proporção citada por Newman, para cada modelagem foi definido um β diferente. Os valores foram, para a primeira modelagem β = 0, 24, na segunda modelagem β = 0, 27 e na terceira β = 0, 2. Em termos comparativos, também não foi conclusivo. Na terceira tentativa o coeficiente foi β = 0, 19, o valor definido atende a proporção indicada no texto de Newman para todas as modelagens.

50 6.1.3 ANÁLISE DOS RESULTADOS

Os resultados obtidos são exibidos seguindo a ordem das modelagens utilizadas. Para cada modelagem, existe um ranking dos coeficientes de cada métrica aplicada à modelagem e um recorte da instância do grafo, de modo a exemplificar a topologia da modelagem. Modelagem 3: A Tabela 6.1 apresenta os primeiros 9 resultados do ranking, obtidos por cada medida de predição no caso do grafo gerado na modelagem 3.

Nó Id x Nó Id Jaccard Nó Id x Nó Id Adamic/Adar The Matrix Reloaded x The Matrix 0.8 The Matrix x The Matrix Reloaded 2.99 The Matrix x The Matrix Revolutions 0.8 The Matrix Reloaded x The Matrix Revolutions 2.99 Ben Miles x Rain 0.66 The Matrix Revolutions x The Matrix 2.99 J.T. Walsh x Jack Nicholson 0.66 A Few Good Men x Hoffa 2.35 Carrie-Anne Moss x Hugo Weaving 0.6 Ninja Assassin x Speed Racer 2.35 Hugo Weaving x Laurence Fishburne 0.6 Jerry Maguire x A Few Good Men 2.16 190 pares Pessoa x Pessoa 0.5 Carrie-Anne Moss x Hugo Weaving 2.06 Cuba Gooding Jr x Jack Nicholson 0.4 Hugo Weaving x Keanu Reeves 2.06 Hugo Weaving x Keanu Reeves 0.375 Hugo Weaving x Laurence Fishburne 2.06 Nó Id x Nó Id Katz Tom Hanks x The Green Mile 0.512 Tom Hanks x A League of Their Own 0.487 Tom Hanks x Sleepless in Seattle 0.485 Tom Hanks x Apollo 13 0.472 Tom Hanks x You’ve Got Mail 0.468 Cuba Gooding Jr. x A Few Good Men 0.448 Keanu Reeves x The Matrix 0.417 Jack Nicholson x A Few Good Men 0.417 Tom Hanks x Cloud Atlas 0.410

TAB. 6.1: Resultados das métricas para a Modelagem 3

Modelagem 4: A Tabela 6.2 apresenta os valores das predições para a modelagem 4. Os rankings de Jaccard e Adamic/Adar listam as 7 primeiras predições. Nos dois tipos de predição, os primeiros pares nessa modelagem sempre terão o mesmo valor de coeficiente. Para Jaccard, o melhor valor será de 0,33. Enquanto que para Adamic/Adar será de 1,4426. Na notação utilizada, o nome entre colchetes indica um papel num filme. Por exemplo, [Cpl. Carl Hammaker] é um papel no filme A Few Good Men, e [Meronym] um papel no filme Cloud Atlas.

51 Nó Id x Nó Id Jaccard Nó Id x Nó Id Adamic/Adar Al Pacino x The Devil’s Advocate 0.33 Aaron Sorkin x A Few Good Men 1.4426 Clint Eastwood x Unforgiven 0.33 Al Pacino x The Devil’s Advocate 1.4426 Julia Roberts x Charlie Wilson’s War 0.33 Annabella Sciorra x What Dreams May Come 1.4426 Liv Tyler x That Thing You Do 0.33 Audrey Tautou x The Da Vinci Code 1.4426 Nathan Lane x The Birdcage 0.33 Ben Miles x Ninja Assassin 1.4426 Oliver Platt x Bicentennial Man 0.33 Ben Miles x Speed Racer 1.4426 Richard Harris x Unforgiven 0.33 Ben Miles x V for Vendetta 1.4426 Nó Id x Nó Id Katz A Few Good Men x [Cpl. Carl Hammaker] 0.360 A Few Good Men x [Col. Nathan R. Jessup] 0.359 A Few Good Men x [Capt. Jack Ross] 0.359 A Few Good Men x [Lt. Col. Matthew Andrew] 0.358 A Few Good Men x [Lt. Jonathan Kendrick] 0.358 A Few Good Men x [Man in Bar] 0.358 A Few Good Men x [Dr. Stone] 0.358 A Few Good Men x [Lt. Cdr. JoAnne Galloway] 0.358 A Few Good Men x [Pfc. Louden Downey] 0.358

TAB. 6.2: Resultados das métricas para a Modelagem 4

Modelagem 5: A Tabela 6.3 lista os melhores valores das predições para a modela- gem 5. Para o coeficiente de Jaccard, destaca-se a predição do par [Meronym] x [Ovid], que teve coeficiente igual a 1,0. Isso se deve ao fato de serem nós do tipo Papel, em que a atriz Halle Berry teve no filme Cloud Atlas. As predições seguintes seguem o mesmo comportamento da tabela 6.2. Para Adamic/Adar, os melhores pares são entre predições do tipo Pessoa x Filme que possuam muitos nós do tipo Papel entre eles.

Nó Id x Nó Id Jaccard Nó Id x Nó Id Adamic/Adar [Meronym] x [Ovid] 1,0 Hugo Weaving x Cloud Atlas 8.656 Al Pacino x The Devil’s Advocate 0.33 Tom Hanks x The Polar Express 8.656 Clint Eastwood x Unforgiven 0.33 Halle Berry x Cloud Atlas 5.77 Julia Roberts x Charlie Wilson’s War 0.33 Tom Hanks x Cloud Atlas 5.77 Liv Tyler x That Thing You Do 0.33 Cloud Atlas x Jim Broadbent 4.328 Nathan Lane x The Birdcage 0.33 Aaron Sorkin x A Few Good Men 1.4426 Oliver Platt x Bicentennial Man 0.33 [Timothy Cavendish] x [Cap. Molyneux] 1.263 Richard Harris x Unforgiven 0.33 [Timothy Cavendish] x [Vyvyan Ayrs] 1.263 [Man in Bar] x [Dr. Stone] 0.33 [Meronym] x [Ovid] 1.074 Nó Id x Nó Id Katz Tom Hanks x Cloud Atlas 3.208 Hugo Weaving x Cloud Atlas 1.824 Tom Hanks x [Dr. Henry Goose] 1.768 Tom Hanks x [Isaac Sachs] 1.768 Tom Hanks x [Zachry] 1.768 Tom Hanks x ["Dermot Hoggins] 1.768 Tom Hanks x The Polar Express 1.686 Cloud Atlas x [Dr. Henry Goose] 1.621 Cloud Atlas x [Isaac Sachs] 1.621

TAB. 6.3: Resultados das métricas para a Modelagem 5

Como já citado anteriormente, os coeficientes de predição de ligações utilizados ana- lisam o grafo de forma diferente. Seja por vizinhos em comum ou então por combinações de caminhos. Como as propostas de análise são diferentes, as possibilidades de resultados e predições também são diferentes. Por conta disso, separamos as interpretações do caso

52 de uso estudado em interpretações de vizinhos em comum e combinações de caminhos. Vizinhos em Comum: Primeiramente, destacamos que os coeficientes de Jaccard e Adamic/Adar, por conta da sua análise dos nós ao redor, ou seja, que estão ligados com uma distância de apenas uma aresta, tem uma variação de resultados limitada. No modelo de grafo utilizado, na modelagem 3, um nó do tipo Pessoa sempre estará ligado a um nó do tipo Filme. A figura 6.4 mostra um exemplo de combinação para essa modelagem, e para esse caso destacado, os nós Hugo Weaving e Tom Hanks possuem um nó em comum, o filme Cloud Atlas. Portanto, um par com esses dois atores será computado.

FIG. 6.4: Possibilidades de combinação na modelagem 3 do grafo no experimento 3.

Na modelagem 4, as combinações existentes na modelagem 3 já não são possíveis, pois agora os nós do tipo Pessoa sempre estarão conectados a nós do tipo Atuação antes de se conectarem a algum do tipo Filme. Os possíveis pares de nós previstos para essa modelagem serão sempre do tipo: (Atuação × Atuação) pois compartilham um conjunto de Filmes e Pessoas, e (Pessoa × Filme) pois compartilham um conjunto de Atuações entre eles. A figura 6.5 mostra um exemplo para essa modelagem. A mesma combinação feita no exemplo anterior já não é possível nessa modelagem. No entanto, podemos combinar os nós Atuação (marcados em azul na imagem), em que os atores do exemplo anterior estão conectados. A modelagem 5 se comporta de maneira similar a modelagem 4. Mas, ao invés do nó Atuação, as combinações são: (Papel × Papel) pois compartilham um conjunto de Filmes e Pessoas, e (Pessoa × Filme) pois compartilham um conjunto de Papéis entre eles. As combinações do tipo (Papel × Papel) podem ser decorrentes de papéis de filmes diferentes, como podem ser de papéis dentro de um mesmo filme. Por causa disso, sabemos exatamente que tipo de combinações de nós teremos em cada modelagem, e por causa disso, as interpretações ficam de certa maneira limitadas. A figura 6.6 ilustra o caso para a modelagem 5, onde para a mesma análise das imagens anteriores, poderão ser utilizados

53 FIG. 6.5: Possibilidades de combinação na modelagem 4 do grafo no experimento 3. os papéis representados (marcados em azul na imagem). Combinações de Caminhos: Foi notado que, entre um par de nós (x × y), o coeficiente de Katz diminui da modelagem 3 para a modelagem 4. O coeficiente diminuiu pois a distância original entre o par de nós é dobrada. Da modelagem 4 para a modelagem 5, o coeficiente de Katz sofre um aumento, pois existem mais “opções” de caminhos devido aos papéis separados em nós distintos. Por exemplo, na modelagem 4, entre os nós Cloud Atlas e Hugo Weaving havia apenas um caminho de distância 2, como mostra a figura 6.2. O valor de Katz para esse par é de 0.052. Na modelagem 5 existem seis caminhos com a distância deste mesmo tamanho (2), conforme a figura 6.3, e o valor de Katz para esse par é de 1.824. Além disso, este par nem aparecia entre os melhores do ranking para as modelagens 3 e 4 (Tabelas 6.1 e 6.2), e passa a ser o segundo par com maior valor na modelagem 5, como mostrado na tabela 6.3. Cada modelagem possui as suas características e particularidades de interpretação, que podem ser úteis ou não para análise. No contexto desses dados, imagine que se deseja sugerir novas relações de amizade entre atores (pares de pessoas) com base nos filmes em que participam, e que as ligações fossem sugeridas a partir de um limite mínimo no valor do coeficiente. Caso o usuário escolha o coeficiente de Jaccard e Adamic/Adar, a predição só poderá ser feita através da modelagem 3. Já se a escolha for o coeficiente de Katz, seria possível utilizar este coeficiente sobre as modelagens 4 e 5 também. Porém, para obter pares do tipo (Pessoa × Pessoa), a modelagem 3 seria mais recomendada. Por ser mais

54 FIG. 6.6: Possibilidades de combinação na modelagem 5 do grafo no experimento 3. simples e não conter um detalhamento que existe nas outras, ela permite maior eficiência nos cálculos deste coeficiente. Outras sugestões (predições) de relação (ligação) entre estes dados podem ser feitas, envolvendo por exemplo a sugestão de relações entre Filmes, entre pessoas e filmes, entre atuações, e entre papéis. De forma análoga à sugestão de ligações entre pessoas, ligações entre Filmes podem ser sugeridas com base nos atores que neles atuam. Assim, todas as modelagens permitem que este tipo de análise seja feito, porém a modelagem 3 é a mais recomendada, pelo mesmo motivo descrito anteriormente (ligações entre pessoas). No entanto, nem todas as modelagens e coeficientes atendem a todas as análises possíveis (sugestões de ligação). Com relação aos coeficientes, Katz pode ser aplicado em quase todos os casos, enquanto que Jaccard e Adamic/Adar só se aplicam quando a modelagem permite. Por exemplo, não é possível sugerir relações entre Pessoa e Filme, utilizando o coeficiente Jaccard, a partir da modelagem 3. Isso é possível somente sobre as modelagens 4 e 5. Esse tipo de relação pode indicar quais filmes foram mais relevantes para um determinado ator. Sejam dois atores, o primeiro com muitos filmes importantes feitos na carreira, e o outro sendo um ator novato com poucos filmes no currículo. Caso cada um deles participe de um filme em que tenha um papel muito importante (monólogo, ou filme com elenco pequeno), é mais provável que o par (ator_novato × filme) se sobressaia em relação ao par (ator_experiente × filme). Através do coeficiente de Jaccard é possível obter essas relações.

55 Com relação às limitações das modelagens, diferente das modelagens 3 e 5, a modela- gem 4 permite que ligações entre Atuações sejam sugeridas. Já as modelagens 3 e 4 não permitem que ligações entre Papéis sejam sugeridas. A tabela 6.4 mostra, para estes dados, quais coeficientes são aplicáveis para cada modelagem e tipo de ligação (par) que se quer sugerir. Note que os coeficientes de Jaccard e Adamic/Adar não são aplicáveis em todos os casos, pois geram coeficientes somente entre nós que possuem vizinhos em comum. Já o coeficiente de Katz é conveniente em todas as combinações, mas sua interpretação é diferente dos outros coeficientes.

Pessoa x Pessoa Filme x Filme Pessoa x Filme Atuação x Atuação Papel x Papel Jaccard, Katz, Jaccard, Katz, Modelagem 3 Katz - - Adamic/Adar Adamic/Adar Jaccard, Katz, Jaccard, Katz, Modelagem 4 Katz Katz - Adamic/Adar Adamic/Adar Jaccard, Katz, Jaccard, Katz, Modelagem 5 Katz Katz - Adamic/Adar Adamic/Adar

TAB. 6.4: Tipos de pares obtidos na aplicação das métricas.

De modo geral pode-se concluir que, quando o tipo de análise que se deseja fazer envolve prever ou sugerir futuros relacionamentos, através dos coeficientes Jaccard, Ada- mic/Adar e Katz, dependendo do que se quer prever e do coeficiente que se quer usar, diferentes modelagens devem ser escolhidas. Assim, com base nos resultados obtidos nesse experimento podemos então enunciar a heurística a seguir. Heurística 3: Seja o esquema conceitual representado na figura 6.7. Para o esquema dado, sejam as seguintes possíveis modelagens: (i): Entidades E1 e E2 como nós; R como aresta, (ii): Entidades E1, E2 e relacionamento R são nós, ligados por arestas sem label

(tipo); (iii): Entidades E1, E2 e o atributo A de R são nós, que são ligados por arestas sem label (tipo). Heurística 3.1: Para o caso em que se quer sugerir relações entre instâncias de entidades do mesmo tipo, i.e., E1,i e E1,j, ou E2,i e E2,j, para todos os coeficientes, deve ser escolhida a modelagem 1. Heurística 3.2: Para o caso em que se quer sugerir relações entre instâncias de enti- dades de tipos diferentes, i.e., E1,i e E2,j, para os coeficientes de Jaccard e Adamic/Adar, devem ser escolhidas as modelagens 2 ou 3. Já para Katz, qualquer modelagem pode ser escolhida. Para o caso de maior eficiência recomenda-se a modelagem 1, no entanto, se o número de valores que assume o atributo A do relacionamento R, traz importância para as instâncias das entidades E1 ou E2, então a modelagem 3 deve ser escolhida. Heurística 3.3: Para o caso em que se quer sugerir relações entre instâncias de R, i.e., Ri e Rj, para todos os coeficientes, deve ser escolhida a modelagem 2.

56 Heurística 3.4: Para o caso em que se quer sugerir relações entre valores de A, i.e.,

Ai e Aj, para todos os coeficientes, deve ser escolhida a modelagem 3. Um resumo das possíveis predições de ligação que se pode realizar utilizando os coe- ficientes de Jaccard, Adamic/Adar e Katz é apresentado na tabela 6.5.

FIG. 6.7: Esquema conceitual

E1i x E1j E2i x E2j E1i x E2j R x R A x A Jaccard, Katz, Jaccard, Katz, Modelagem i Katz - - Adamic/Adar Adamic/Adar Jaccard, Katz, Jaccard, Katz, Modelagem ii Katz Katz - Adamic/Adar Adamic/Adar Jaccard, Katz, Jaccard, Katz Modelagem iii Katz Katz - Adamic/Adar Adamic/Adar

TAB. 6.5: Tipo de previsão de ligação (pares) versus Modelagem: coeficientes possíveis.

57 7 EXPERIMENTOS SOBRE A BASE DE DADOS TMDB

Visando confirmar os resultados obtidos no experimentos dos Capítulos 5 e 6, foram realizados novos experimentos utilizando um conjunto de dados maior, e o mesmo tipo de análises apresentadas anteriormente. O conjunto de dados utilizado nessa fase é uma base que contém dados sobre filmes e atores chamado TMDB 9. Da base original do TMDB, foi extraído um subconjunto de dados usando o filtro gênero, “Crime” neste caso, e utilizando unicamente as informações sobre filmes e atores. Os experimentos dessa etapa reproduzem as mesmas três modelagens do experimento naqueles capítulos. Para garantir o cálculo das medidas de centralidade e dos coeficientes de predição de ligações foi considerado o maior componente conexo do grafo obtido para cada modelagem. O grafo gerado a partir da modelagem 3 possui 4486 nós e 5046 arestas. O grafo para a modelagem 4, 9532 nós e 10092 arestas. E o grafo da modelagem 5, 9561 nós e 10150 arestas. O objetivo maior desse experimento é conferir se os comportamentos notados nos experimentos 1, 2 e 3 se repetiriam em um conjunto de dados maior. O fato do conjunto nesse experimento utilizado ser do mesmo domínio que nos experimentos 2 e 3, faz com que a expectativa de repetição do comportamento seja maior. Nesse experimento, as heurísticas até aqui obtidas não foram aplicadas, mas era esperado que o mesmo raciocínio para a geração dessas, fosse aqui usado.

7.1 EXPERIMENTOS COM MEDIDAS DE CENTRALIDADE NUM CONJUNTO DE DADOS DO TMBD

O comportamento das medidas de centralidade para o novo conjunto de dados nas três modelagens foi semelhante ao observado no segundo experimento do Capítulo 5. Em particular, observamos que as primeiras posições do ranking obtido em cada uma das três modelagens foi parecido ao obtido nos experimentos da seção 5.2. As tabelas 7.1, 7.2 e 7.3 mostram os 10 primeiros colocados no ranking obtido para cada uma das três modelagem usadas, considerando as medidas de centralidade proximi- dade, intermediação, hub e autoridade. Assim, pode-se chegar nas mesmas conclusões: (i) o fato de considerar um relacionamento como nó no grafo não chega a ter um impacto

9http://www.themoviedb.org/

58 Modelagem 3 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Dogville Dogville Angels & Demons Angels & Demons Ben Gazzara Bloodline Dogville Dogville Bloodline Gert Fröbe Armin Mueller-Stahl Armin Mueller-Stahl At Close Range Ben Gazzara Stellan Skarsgård Stellan Skarsgård The Big Sleep Ten Little Indians Dancer in the Dark Dancer in the Dark Lauren Bacall The Big Sleep Carmen Argenziano Carmen Argenziano Candy Clark Humphrey Bogart Tom Hanks Tom Hanks Patricia Clarkson Vera Brühne Elya Baskin Elya Baskin The Pledge At Close Range Ewan McGregor Ewan McGregor Nicole Kidman Fritz Wepper Thure Lindhardt Thure Lindhardt

TAB. 7.1: Ranking das medidas de centralidade para a Modelagem 3

Modelagem 4 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Dogville Dogville Straus Angels & Demons Jack McKay Bloodline Richter Straus Ma Ginger Gert Fröbe Silvano Ventivoglio Richter Ben Gazzara Ben Gazzara Cardinal Silvano Ventivoglio Vera Rhys Williams Robert Langdon Cardinal Grace Margaret Mulligan Jack McKay Carlo Ventresca Robert Langdon Rhys Williams Ten Little Indians Chartrand Carlo Ventresca Chuck The Big Sleep Mr. Gray Chartrand Bloodline Humphrey Bogart Father Simeon Mr. Gray Tom Edison Senior Inspector Max Hornung Swissguard Father Simeon

TAB. 7.2: Ranking das medidas de centralidade para a Modelagem 4 tão grande, como verificado contrastando os resultados das modelagens 3 e 4; (ii) se um nó já apresentasse um valor de centralidade significativo na modelagem 4, há um potencial aumento deste valor na modelagem 5, aumentando sua posição no ranking.

7.2 EXPERIMENTOS COM PREDIÇÃO DE LIGAÇÕES NUM CONJUNTO DE DA- DOS DO TMDB

O comportamento dos resultados para a análise de predição de ligações neste novo con- junto de dados acompanhou os resultados obtidos para os experimentos da seção 6.1. As combinações de pares de nós previstos pelos coeficientes utilizados foram as mesmas para cada modelagem. Também observamos que, em todos os casos o valor do coeficiente obtido pela modelagem 3 foi maior que o valor obtido nas modelagens 4 e 5. A seguir, uma descrição do tipo de combinações de pares de nós obtidos por cada coeficiente (clas- sificado em vizinhos comuns e composição de caminhos, como no Capítulo 2), para cada

59 Modelagem 5 Não Direcionado Direcionado Proximidade Intermediação Autoridade Hub Dogville Dogville Angels & Demons Angels & Demons Jack McKay Bloodline Straus Straus Ma Ginger Gert Fröbe Richter Richter Ben Gazzara Ben Gazzara Silvano Ventivoglio Silvano Ventivoglio Vera Rhys Williams Cardinal Cardinal Grace Margaret Mulligan Jack McKay Robert Langdon Robert Langdon Rhys Williams Ten Little Indians Carlo Ventresca Carlo Ventresca Chuck The Big Sleep Chartrand Chartrand Bloodline Humphrey Bogart Mr. Gray Mr. Gray Tom Edison Senior Inspector Max Hornung Father Simeon Father Simeon

TAB. 7.3: Ranking das medidas de centralidade para a Modelagem 5 modelagem na predição de ligações. Vizinhos em Comum: Na modelagem 3, o maior valor para o coeficiente de Jaccard foi igual a 1 (ou seja o tamanho dos conjuntos interseção e união de vizinhos é igual). Como nesta modelagem o grafo tem arestas entre nós de tipo Ator e Filme, o valor máximo de Jaccard pode acontecer em dois casos: (i) Quando dois atores atuaram nos mesmos filmes e nenhum outro em isolado, e (ii) quando dois filmes distintos tiverem exatamente o mesmo elenco. O caso (i) é mais provável de acontecer, pois é mais difícil dois filmes terem exatamente o mesmo elenco, caso (ii). A Tabela 7.4 apresenta os coeficientes obtidos por Jaccard para a modelagem 3. O ranking desse coeficiente para a modelagem 3 comprova essa dinâmica. Os melhores valores são sempre de pares Ator × Ator, enquanto que os pares Filme × Filme estão em posições menos elevadas. Destacamos na tabela os pares cujos coeficientes são diferentes de 1. Ou seja, aqueles pares cujos nós não possuem exatamente os mesmos nós vizinhos.

Modelagem 3 Tony Kendall x Gert Günther Hoffmann 0,875 Gert Günther Hoffmann x Brad Harris 0,875 Heinz Weiss x George Nader 0,875 Stringer Davis x Charles ’Bud’ Tingwell 0,8 Charles ’Bud’ Tingwell x Margaret Rutherford 0,8 John Randolph Jones x Udo Kier 0,666

TAB. 7.4: Valores destacados de Jaccard para Modelagem 3

Na modelagem 4, com o acréscimo dos novos tipos de nós, já não é possível obter pre- dição de ligações para os pares citados anteriormente. Também não são achadas previsões

60 para pares com coeficiente igual a 1. Os melhores resultados são para pares Atuação × Atuação. Mas quatro pares do tipo Filme × Pessoa se encontram em posições na parte superior do ranking nessa modelagem. A Tabela 7.5 ilustra os resultados obtidos para o coeficiente de Jaccard na modelagem 4.

Modelagem 4 Walk All Over Me x Tricia Helfer 0,5 Five Miles to Midnight x Anthony Perkins 0,5 Il cartaio x Silvio Muccino 0,5 In Cold Blood x Robert Blake 0,5 The Key to Reserva x Simon Baker 0,333 Un hombre de porvenir x Luigi Jacuzio 0,25

TAB. 7.5: Valores destacados de Jaccard para Modelagem 4

Já na modelagem 5, alguns pares possuem o valor máximo para o coeficiente. São pa- res do tipo Papel × Papel, de atores que tiveram mais de um papel em determinado filme. Destacamos na Tabela 7.6 os pares do tipo Filme × Pessoa. Esses pares são de pessoas que tiveram mais de um papel no filme do par. Como é o caso dos atores Kirk Douglas e Tippi Hedren nos filmes The List of Adrian Messenger e Marnie, respectivamente.

Modelagem 5 The List of Adrian Messenger x Kirk Douglas 0,444 Marnie x Tippi Hedren 0,4 Tagebuch einer erotischen Mörderin x Andre Schneider 0,4 Die 1000 Augen des Dr. Mabuse x Wolfgang Preiss 0,375 The Key to Reserva x Simon Baker 0,333 Femme Fatale x Rebecca Romijn 0,333

TAB. 7.6: Valores destacados de Jaccard para Modelagem 5

Assim como o coeficiente de Jaccard, o coeficiente de Adamic/Adar analisa os vizinhos de cada par de nós. Mas neste caso, o cálculo do coeficiente é diferente e um pouco mais complexo que o coeficiente de Jaccard. Os valores obtidos para o coeficiente de Adamic/Adar nos experimentos apresentaram uma maior variação. Observar que a mesma conclusão foi obtida no Capítulo 6. A seguir são analisados os resultados para o coeficiente de Adamic/Adar no conjunto de dados do TMDB nas diferentes modelagens. Na modelagem 3, as posições destacadas do ranking correspondem a previsão de ligações entre pares de nós dos tipos Filme × Filme e Pessoa × Pessoa. Os pares do tipo Filme × Filme no topo tem coincidência de elenco maior. Os resultados da Tabela 7.7 apresentam os melhores colocados para a Modelagem 3. Percebe-se uma diferença entre o ranking do coeficiente de Adamic/Adar, e o ranking

61 Modelagem 3 Beck - Flickan x Beck - Den japanska 9,566 Dancer in the Dark x Dogville 7,402 The Spider Woman x The Adv. of Sherlock Holmes 5,770 36 x The Last Deadly Mission 5,770 Gert Frobe x Wolfgang Preiss 2,252

TAB. 7.7: Valores destacados de Adamic/Adar para Modelagem 3 de Jaccard. Comparando esses rankings (Tabelas 7.7, Adamic/Adar, e 7.6, Jaccard), podemos observar que os pares melhor colocados para Jaccard são do tipo Pessoa × Pessoa enquanto para Adamic/Adar são do tipo Filme × Filme. Podemos justificar isso da seguinte maneira: dois filmes distintos podem ter grandes elencos, e parte de tais elencos podem ter coatuado em algum momento de suas carreiras. Caso dois filmes tenham vários atores de seus elencos coatuando, maior será o somatório para o coeficiente de Adamic/Adar. No caso que esses atores com coatuação tenham participados de muitos outros filmes será maior o coeficiente Adamic/Adar. Ilustramos essa situação na Figura 7.1 que apresenta um recorte do grafo na modelagem 3. Nesse recorte, estão representados dois filmes Dogville e Dancer in the Dark da Tabela 7.7. A Figura 7.1 mostra uma parte do elenco de cada filme, em particular existem 6 atores que participaram nos dois filmes, e que apenas 2 deles participaram de outros filmes. É importante destacar que os filmes Dogville e Dancer in the Dark não fazem parte de uma série de filmes, ou filmes que possuem histórias correlatas. O primeiro par colocado na Tabela 7.7 é um caso de filmes que são correlatos, e portanto, é natural que boa parte do elenco deve ser a mesma.

FIG. 7.1: Recorte do Grafo da Modelagem 3 - 1

62 Esse tipo de análises é interessante para uma aplicação de recomendação de elencos. Por exemplo, considere o caso de procura por um elenco novo e inexperiente para um filme. Novos atores não terão uma filmografia grande, e essa característica privilegiaria o valor final do coeficiente Adamic/Adar de pares de atores inexperientes. Essa observação não seria válida para o caso de escolha de elencos de filmes correlatos. Outra análise interessante seria a recomendação de atores “similares”. No caso do coeficiente de Adamic/Adar, os pares do tipo Pessoa × Pessoa não aparecem geralmente nas posições superiores do ranking. Sabemos que quanto maior o conjunto de intercessão, melhor será o valor final do coeficiente. Como nós do tipo Filme podem ter grandes elencos, o coeficiente de uma predição de dois filmes desse tipo será significativamente maior do que a predição de duas pessoas que coatuaram. Como Adamic/Adar ainda leva em conta se os nós vizinhos se conectam a outros nós, caso os elencos em comum não tenham participado de outros filmes, melhor será o valor do coeficiente. A Tabela 7.8 apresenta os melhores pares do tipo Pessoa × Pessoa para o coeficiente de Adamic/Adar na modelagem 3. No topo aparecem pares de atores que participaram de vários filmes em comum. Para reforçar essa análise podemos usar a quantidade de vértices similares da Tabela 7.7 e 7.8. O par Beck - Flickan × Beck - Den japanska possui 7 vizinhos em comum, mesma quantidade que o par Heinz Weiss × George Nader, no entanto, existe diferença no valor dos coeficientes desses pares. Nesse caso, o coeficiente de Jaccard para o par Beck - Flickan × Beck - Den japanska teve valor 0.636 enquanto que para o par Heinz Weiss × George Nader teve valor 0.875. A Figura 7.2 apresenta um recorte do grafo do par Heinz Weiss × George Nader. Esse tipo de análise é útil para recomendar pares de atores com convivência ou entrosamento. Ou então filmografias maiores em comum, em filmes com elencos pequenos.

Modelagem 3 Heinz Weiss x George Nader 2,95791 Tony Kendall x Gert Günther Hoffmann 2,73451 Gert Frobe x Wolfgang Preiss 2,25292 Richard Munch x Heinz Weiss 1,68689 Romy Schneider x Maurice Ronet 1,56633

TAB. 7.8: Pares Pessoa × Pessoa para Adamic/Adar na Modelagem 3

O ranking do coeficiente de Adamic/Adar na modelagem 4 não trouxe muita infor- mação diferente. Neste caso, as posições no topo do ranking correspondem aos pares de nós de tipo Filme × Pessoa, indicando atores que participam do elenco de cada filme, que na modelagem 3 eram nós adjacentes e agora, na modelagem 4, possuem um vizinho

63 FIG. 7.2: Recorte do Grafo da Modelagem 3 - 2 em comum. Nas posições seguintes do ranking, surgem pares de nós do tipo Atuação × Atuação. A Tabela 7.9 mostra os primeiros colocados no ranking neste caso.

Modelagem 4 The Green Mile x Barry Pepper 1,4426 The Green Mile x James Cromwell 1,4426 The Green Mile x Sam Rockwell 1,4426 The Green Mile x Doug Hutchison 1,4426 The Green Mile x Gary Sinise 1,4426

TAB. 7.9: Valores destacados de Adamic/Adar para Modelagem 4

A Figura 7.3 ilustra essa situação. Se tomarmos como exemplo o par Collateral × Mark Ruffalo e o par Fanning × Dave Toschi, o valor de Adamic/Adar é o mesmo para os dois pares. Na modelagem 5, observamos que os coeficientes de Adamic/Adar obtidos apresentam maior variedade de valores. O ranking contém, na sua totalidade, pares de nós do tipo Filme × Pessoa, sendo o nó do tipo Pessoa com mais de um papel no Filme em questão. A Tabela 7.10 apresenta o ranking dos pares nessa modelagem. Podemos interpretar que o resultado dessas predições ajudam a identificar filmes com atores versáteis, e/ou com grande capacidade de interpretação. Os melhores ranqueados são aqueles papéis que compartilham o mesmo filme e, ou o mesmo ator/pessoa. Também podem aparecer em posições destacadas papéis de pessoas com poucas atuações (nós com grau baixo) ou de filmes com pequeno elenco. A Figura 7.4 apresenta um recorte do grafo correspondente ao primeiro par da Tabela 7.10.

64 Tom Cruise

Jada Pinkett Smith

Vincent Peter Berg

Annie Richard Weidner

Collateral

Pedrosa Max

Bruce McGill Fanning Jamie Foxx

Mark Ruffalo

Dave Toschi

Zodiac

FIG. 7.3: Recorte do Grafo da Modelagem 4

Modelagem 5 Marnie x Tippi Hedren 5,7707 The List of Adrian Messenger x Kirk Douglas 5,7707 Bad Education x Gael Garcia 4,3280 Die 1000 Augen Dr Mabuse x Wolfgang Preiss 4,3280 Bad Education x Javier Camara 2,8853

TAB. 7.10: Ranking de Adamic/Adar para a Modelagem 5

Diane Baker Alan Napier Martin Gabel

Lil Mainwaring Louise Latham Sean Connery Sidney Strutt Mr. Rutland Bernice Edgar Mark Rutland Marnie

Mary Taylor Peggy Nicholson Marnie Edgar Margaret Edgar

Tippi Hedren

Beverly D'Angelo Florence Peters Sheila McCarthy Ann Miller Guy Boyd Loan Officer Liz Hamilton Dan Hedaya Warning Cop Pacific Heights Dorian Harewood Realtor Dennis Miriam Margolyes Mira Watanabe Carter Hayes Greg Nobu McCarthy Drake Goodman District Attorney Patty Palmer Luca Bercovici Stephanie MacDonald Lou Baker Matthew Modine Toshio Watanabe James Staley

Melanie Griffith Carl Lumbly Laurie Metcalf Mako

FIG. 7.4: Recorte do Grafo da Modelagem 5

Combinações de Caminhos:

Os valores obtidos pelo coeficiente de Katz na modelagem 3 apresentaram no topo

65 do ranking pares de nós do tipo Filme × Pessoa. Podemos observar que o filme em destaque aparece repetidas vezes, acompanhados pelas pessoas que formam parte do elenco do mesmo. O nó Angels & Demos, que é o filme melhor ranqueado, possui grau 55 no grafo, um dos nós de maior grau. Nos pares de nós contendo Angels & Demos, os atores que aparecem no topo do ranking são aqueles que participam de outros filmes. As características observadas para essas pessoas acompanhar o filme em destaque são as seguintes: o nó correspondente ao ator deve ser adjacente a outros nós do tipo filme no grafo, e quanto maior o elenco de tais filmes melhor será posição do par contendo esse tal ator. Os 5 primeiros pares do ranking na modelagem 3 estão listados na Tabela 7.11.

Modelagem 3 Armin Mueller Stahl x Angels & Demons 13,33247 Stellan Skarsgård x Angels & Demons 13,22136 Carmen Argenziano x Angels & Demons 12,31250 Tom Hanks x Angels & Demons 12,25930 Elya Baskin x Angels & Demons 12,24942

TAB. 7.11: Ranking de Katz para a Modelagem 3

Já na modelagem 4, outros tipos de pares de nós surgem no ranking. Dentre os melhores colocados, estão os pares são do tipo Filme × Atuação. Observando as pessoas que essas atuações estão apontando, chegaremos nos mesmos nós Pessoa listados na tabela 7.11. No entanto, o valor do coeficiente na modelagem 4 é menor que aquele obtido para a modelagem 3. A Tabela 7.12 apresenta os 5 primeiros pares de tal modelagem. Notamos que os valores dos coeficiente dos pares na tabela possuem uma diferença muito pequena, pois todos os nós do tipo Atuação possuem o mesmo grau neste caso.

Modelagem 4 Straus x Angels & Demons 2,432902 Richter 1 x Angels & Demons 2,431251 Silvano Ventivoglio x Angels & Demons 2,429696 Cardinal 1 x Angels & Demons 2,429693 Robert Langdon x Angels & Demons 2,429692

TAB. 7.12: Ranking de Katz para a Modelagem 4

Como não há muita diferença entre a quantidade de nós da modelagem 4 para a modelagem 5 (modelagem 4: 9532 nós e 10092 arestas; modelagem 5: 9561 nós e 10150 arestas) o ranking obtido para o coeficiente de Katz nessas duas modelagens são muito parecidos. Portanto, a comparação dos rankings das modelagens não apresentou muitas informações.

66 Por causa da complexidade dos dados do experimento 4, foi possível obter novas inter- pretações para os dados que não tinham sido realizadas para os experimentos anteriores. Ao invés de analisar os rankings obtidos para cada uma das modelagens, selecionamos predições específicas e comparamos o comportamento de um mesmo tipo de análise sobre tais predições. Por exemplo, comparar os coeficientes obtidos para pares de nós de tipo Filme × Filme. Isso poderia ser interpretado como Que filmes são similares para cada uma das modelagens?. A Tabela 7.13 apresenta os rankings obtidos para os pares de nós de tipo Filme × Filme por Katz para cada uma das três modelagens.

Modelagem 3 Valor Modelagem 4 Valor Angels & Demons x Dogville 3,9847 Angels & Demons x Dogville 0,0105 Angels & Demons x Dancer in the Dark 3,3753 Angels & Demons x Dancer in the Dark 0,0088 Angels & Demons x Identity 2,6619 Angels & Demons x Identity 0,0087 Angels & Demons x The Green Mile 2,2638 Angels & Demons x The Name of the Rose 0,0073 Angels & Demons x The Name of the Rose 2,1899 Angels & Demons x Eastern Promises 0,0072 Modelagem 5 Valor Angels & Demons x Dogville 0,0105 Angels & Demons x Dancer in the Dark 0,0088 Angels & Demons x Identity 0,0087 Angels & Demons x The Name of the Rose 0,0073 Angels & Demons x Eastern Promises 0,0072

TAB. 7.13: Resultados de Katz para pares Filme × Filme nas três Modelagens

Lembramos que o coeficiente de Katz analisa comprimentos de caminhos em lugar de vizinhos comuns. Ainda variando a modelagem, podemos observar que as 3 primeiras posições do ranking nas 3 modelagens corresponde ao mesmo par Filme × Filme, neste caso Angels & Demons × Dogville, ainda que com alguns valores de coeficientes diferentes. Outro tipo de comparação possível entre as três modelagens é a dos pares do tipo Pessoa × Pessoa. Foi observado anteriormente que pares de nós que aparecem nas três modelagens, terão o seu melhor valor de coeficiente de Katz pela modelagem 3. No primeiro momento podemos achar que podemos descartar as outras modelagens. Mas com as modelagens 4 e 5 é possível realizar análises que são impossíveis com a modelagem 3. Uma dessas análises é a que permite obter predição entre pares de tipo Pessoa × Papel/Atuação. Notou-se que nesses tipo de pares de nós, o coeficiente de Katz é maior para papéis de pessoas que coatuaram em algum filme. A Figura 7.5 ilustra esse caso, mostrando um recorte do grafo da modelagem 5 para os atores Joe Pesci e Robert De Niro. Observar na Figura 7.5 que os atores Joe Pesci e Robert De Niro coatuaram em 4 filmes. Além desses 4 filmes, Robert De Niro participou em mais outros 2, com papéis chamados Father Bobby e Travis Bickle. Procuramos agora no grafo um par de nós do

67 Lillo Brancato Taral HicksNina Sonja Peterson Treat Williams Tuesday WeldJames Hayden FrancisRalph Capra NapolitanoAlfred SauchelliSteve Jr. Kendall Scott Schutzman Tiler Clem Caserta Adrian CurranWilliam Forsythe Dave Salerno Chazz Palminteri Rusty Jacobs Darlanne Fluegel Joe D'Onofrio Louis Vanaria Danny Aiello Calogero "C" AnelloJane Williams (AgeRachel 17) Kathrine Narducci James Conway O'DonnellCarol Larry Rapp A.J. EkokuCalogero "C" AnelloGino (Age 9) Elizabeth McGovern Young NoodlesPatrick 'Patsy' Goldberg Bobby BarsRedJimmy BeardSonny Whispers LoSpecchio Mitch Kolpan YoungPhilip Cockeye 'Cockeye' SteinEve Frankie Coffeecake YoungPolice Max Chief / David Vincent Bailey Aiello Slick (Age 17) Crazy MarioRosina (Age Anello 17) Luigi D'Angelo Brian BloomBurt YoungDeborah Gelly 'Fat' Moe Gelly Phil Foglia A.J. Detective Belsik Dominick Rocchio Joe Aldo Ralphie(Age 17) (Age 17) Young Patsy Detective Vella Tina Gianna Ranaudo Mike MonettiYoung 'Fat' Moe GellyOnce Upon a Time in America A Bronx Tale Eddie Mush Eddie Montanaro JoJo "The Whale" Slick (Age 9) Noah Moazezi Dominic Fred Fischer Louie DumpsPatrick Borriello Frankie Minaldi Crazy Mario (Age 9) Max Genovino Tony Toupee Nicky Zero Carmine Danny K.O. Jerry Paul Perri Maximilian 'Max' Bercovicz Willy Robert D'Andrea Domenick LombardozziNicky Blair Frank Pietrangolare Sobe Bailey James Woods Joe Pesci

Alan King Lester DiamondKevin Pollak Don Rickles Andy Stone Phillip Green Nicky Santoro Lorenzo Anello Erika von Tagen Billy Sherbert Amy Vinny Vella Artie Piscano CasinoOscar GoodmanOscar Goodman David 'Noodles' Aaronson Pasquale Cajano Remo Gaggi Black Jack-GroupierGinger McKenna Nick Mazzola Ichikawa Sharon Stone Frank MarinoNobu Matsuhisa Sam 'Ace' Rothstein Robert De Niro Tommy DeVito

Frank Vincent Father Bobby Billy Batts Jimmy Conway Mary B. McCann Ray Liotta Henry Hill Sister Carolyn Kevin Bacon Frank DiLeo Tuddy Cicero Goodfellas Sean Nokes Janice Rossi Travis Bickle Bruno Kirby Gina MastrogiacomoKaren Hill Shakes' Father Lorraine Bracco FrenchySonny Bunz Sleepers John Reilly Ron Eldard Danny Snyder AnthonyStacks Stabile Edwards FrankieKaren's Carbone Mother Mike StarrTony Darrow Mrs.Paul DeVito, Cicero Tommy's MotherSandy Lorenzo 'Shakes'Tommy CarcaterraMarcano Dustin Hoffman Morris KesslerSpider Boyfriend Carol Martinez Ralph FergusonRizzo King Benny Billy Crudup Frank AdonisSamuel L. Jackson Frank SiveroSuzanne Shepherd MichaelYoung Sullivan John Reilly Jason Patric Catherine Scorsese Peter Appel Paul Sorvino Debi Mazar Minnie Driver ChuckMichael Low Imperioli Terry Kinney Eugene Byrd Vittorio Gassman Taxi Driver Brad Pitt Geoffrey Wigdor Betsy Senator Charles Palantine Wizard'Sport' MatthewConcessionangry Girl black Cybillman Shepherd Policeman al rallyIris Steensma Leonard Harris Tom Frank Adu Peter BoyleHarvey Keitel Diahnne Abbott Gino Ardito Jodie Foster Albert Brooks

FIG. 7.5: Recorte do Grafo para a Modelagem 5 tipo Papel × Pessoa, aonde o papel seja o mais distante da pessoa. Consideramos Joe Pesci, e um papel de uma pessoa que ele nunca coatuou (no conjunto de dados analisado), como é o caso de Tom Hanks. Podemos notar uma queda no valor do coeficiente de Katz neste caso. Dois papéis que constam no grafo de Tom Hanks são Robert Langdon e Paul Edgecomb. Tanto para a modelagem 4, como para a modelagem 5, o coeficiente dos pares Joe Pesci × Robert Langdon e Joe Pesci × Paul Edgecomb é bem menor que o coeficiente do par Joe Pesci × Father Bobby. Os valores dos coeficientes nesses exemplos podem ser vistos na Tabela 7.14.

Par Mod. 4 Mod. 5 Joe Pesci x Father Bobby 2,892135e-04 2,909633e-04 Joe Pesci x Travis Bickle 2,885427e-04 2,902883e-04 Joe Pesci x Robert Langdon 9,878097e-09 9,878335e-09 Joe Pesci x Paul Edgecomb 1,757221e-10 1,757311e-10 Joe Pesci x Frank Parks 6,473346e-05 6,64497e-05

TAB. 7.14: Comparação de Resultados de Katz para as Modelagens 4 e 5

No último exemplo analisado, poderíamos interpretar esse tipo de comparação como, uma procura por atores que substituam um determinado papel em algum filme. Segundo a análise feita, pessoas que tem um histórico de coatuação possuem maior probabilidade de serem escolhidos, por causa de uma maior afinidade, e talvez por já conhecerem o estilo da pessoa que até então possuía o papel. Um ponto outro a ser destacado sobre os resultados da Tabela 7.14 é a respeito das opções de caminhos entre os nós dos pares do ranking (previstos) do tipo Pessoa × Papel.

68 Para o par de nós Joe Pesci × Paul Edgecomb, existe apenas um caminho de menor comprimento (igual a 14) no grafo da modelagem 5. No caso do par Joe Pesci × Frank Parks, também existe apenas um caminho de menor comprimento (igual a 6). Esses dois pares não possuem os melhores valores entre as predições listadas e estão no final da Tabela. Já no caso do par entre os papéis de Robert De Niro e a pessoa Joe Pesci temos algumas peculiaridades. Para esses pares, não há apenas uma opção de caminho de menor comprimento, mas sim 4. Todos esses caminhos diferentes possuem comprimento 6. Podemos concluir então que quanto mais caminhos houver entre o papel e a pessoa no grafo, maior será seu coeficiente de Katz nesta modelagem.

69 8 CONCLUSÃO

Este capítulo apresenta um breve resumo do trabalho até aqui desenvolvido, quais etapas foram cumpridas, que lacunas não foram contempladas e os passos futuros.

8.1 RETROSPECTO

Com a popularização de bancos de dados que fogem do modelo relacional, representar dados em outros modelos tornou-se uma tarefa cada vez mais comum, como destaca Robinson et al. (2013). É fato que mesmo que o modelo Relacional tenha vantagens como ter um bom suporte teórico e um uso difundido de SGBD’s que o implementam em empresas e grupos de pesquisa, outros modelos podem apresentar outras vantagens, como a melhoria de desempenho ou ainda a disponibilização de funcionalidades não naturais do modelo Relacional. Em especial, a representação de dados em grafo permite a realização de operações da análise topológica, que não são naturais para o modelo Relacional. A representação de dados em grafos pode ser feita a partir de qualquer formato. Mas como muitas pessoas e organizações já utilizam um SGBD relacional, a tarefa de migrar um conjunto de dados a partir deste modelo para o grafo é bem usual. Alguns trabalhos abordaram a tarefa de migração entre um banco relacional e uma representação em grafo. (BORDOLOI; KALITA, 2013), (WARDANI; KÜNG, 2014), (VIRGILIO et al., 2014) e (XIROGIANNOPOULOS et al., 2015). No entanto, eles utilizam uma abordagem específica e não levam em consideração alternativas de modelagem, e as consequências da modelagem escolhida em alguma análise topológica. Assim, o presente trabalho teve como objetivo preencher esta lacuna.

8.2 TRABALHO DESENVOLVIDO

Um método para a migração dos dados foi sugerido, visando sistematizar o processo de análise dos esquemas conceitual e lógico de um banco de dados relacional para construir o grafo. Além de analisar os esquemas conceitual e lógico, um dos objetivos em modelar os dados como grafo, é permitir que o usuário utilize das técnicas de análise topológica da teoria de grafos. O método considera como fator importante para a construção do grafo, que tipo de análises serão realizadas sobre o grafo quando ele instanciado.

70 Nesse método está inserido como ponto influente na escolha da modelagem dos dados e visando auxiliar essa escolha antes do mapeamento de bancos, um conjunto de heurísticas é construído a partir de experimentos com modelagens distintas de grafos. A construção desse conjunto de heurísticas foi o objetivo principal desse trabalho. Essas heurísticas guiam o usuário no momento da escolha da modelagem, permitem ao usuário saber quais dados exatamente serão importados do banco relacional e como eles serão representados no grafo. As heurísticas foram construídas de modo indutivo, i.e., através de experimentos. Foram analisados casos particulares e então foram abstraídos padrões genéricos. Tais experimentos visaram em suma, utilizar algumas medidas de centralidade e alguns coefi- cientes de predição de ligações, como meio de analisar os impactos em tais métricas em consequência das alterações nas modelagens de dados. Além das heurísticas abstraídas, os experimentos permitiram compreender como as métricas da teoria de grafos possuem in- terpretações diferentes. As interpretações estão relacionadas com a influência dos vértices no grafo. Em alguns momentos, as informações sobre as ligações e influências, extrapo- lavam a vizinhança de vértices, exigindo uma visão mais abrangente dos resultados das análises. Os experimentos usaram conjuntos de dados que gradativamente se tornavam mais complexos. De maneira similar, a experiência e conhecimento adquiridos durante essas etapas acompanharam o comportamento desses conjuntos. O método sugerido de mapeamento utiliza o esquema ER para análise de geração de grafos. Mas como o esquema ER não é a única forma de representação de um banco de dados relacional, fique talvez a dúvida sobre o porquê de não utilizar o esquema lógico para a tarefa de geração de grafos. O esquema lógico e o esquema conceitual são repre- sentações que permitem ao usuário enxergar a implementação de um banco de dados sob um determinado ponto de vista. No caso do nível lógico, o usuário enxerga através do modelo relacional que tabelas estão realmente implementadas no banco. Enquanto que o nível conceitual, que é representado pelo esquema ER, representa um cenário que pode nem ter sido ainda implementado num banco de dados. E como já descrito anteriormente, o esquema ER permite ao usuário enxergar essa implementação de maneira mais natu- ral, independente e despreocupado de como será feita a implementação pelo SGBD. Sua representação é mais próxima de um cenário na realidade pois seus elementos (entida- des e relacionamentos) são modo a retratar o cenário. Um relacionamento indicado pelo usuário no modelo conceitual, pode acabar sendo modelado como uma tabela no modelo relacional. O que altera a forma como um elemento é enxergado, mesmo que a semântica

71 permaneça a mesma.

8.3 CONTRIBUIÇÕES

O trabalho confirmou a hipótese levantada inicialmente e gerou as seguintes contribuições:

• Conjunto de 6 heurísticas para modelagem em grafo, considerando as medidas topo- lógicas de centralidade (proximidade,intermediação, autoridade e hub) e de predição de ligações (Jaccard, Adamic/Adar e Katz);

• Estudo sobre dados reais comprovando que a escolha de diferentes modelagens pode influenciar no resultado das análises, indicando desta forma que é preciso que o usuário faça escolhas conscientes;

• A especificação da visão geral de um método para mapeamento entre um esquema conceitual e um grafo;

• A aproximação de pesquisas das áreas de banco de dados e grafos, e o estabeleci- mento de uma linguagem que permite a convivência de termos comuns, usados nas duas áreas.

8.4 LIMITAÇÕES

O trabalho desenvolvido nesta dissertação foi planejado e desenvolvido dentro de um prazo pré-estabelecido, e dado este prazo, apresenta algumas limitações que podem ser objeto de outros estudos. Dentre essas limitações podemos destacar:

• A utilização de um conjunto de dados de um domínio específico. Mesmo que a facilidade de entendimento do conjunto tenha sido levado em conta, o uso de dados de outros domínios poderia reforçar as heurísticas identificadas.

• As análises utilizadas foram limitadas a medidas de centralidade e predição de liga- ções. Outros tipos de análise topológicas poderiam ser aplicadas;

• Análise de outros casos de modelagem do modelo ER, como relacionamentos terná- rios e hierarquia;

• O não desenvolvimento de uma ferramenta de mapeamento automático.

Um ponto não abordado nesse trabalho, e que seria de relevância para a discussão é a comparação as modelagens segundo a performance de consultas. Podendo fazer compa- rações com apenas um SGBD orientado a grafos ou vários.

72 8.5 TRABALHOS FUTUROS

Algumas nuances não foram abordadas nesse trabalho e que de certa maneira despertam o interesse para uma futura exploração. Listamos a seguir:

• Aplicação em outros conjuntos de dados

Os casos estudados foram muito particulares, e por isso, as modelagens geradas atendiam de forma específica tais conjuntos. A utilização de conjuntos de natureza e propósitos diferentes, permitiriam além da aplicação do conhecimento gerado até aqui, o uso de outros modelos e modelagens de grafos.

• Análise de outros casos no esquema conceitual

Nem todos as possibilidades que um modelo conceitual pode trazer foram analisadas. Esquemas envolvendo relacionamentos n-ários, agregações, hierarquias, entre outras situ- ações de modelagem que são frequentes, não foram abordados nesse trabalho.

• Criação de novas heurísticas

Embora a quantidade de heurísticas geradas pareça pequena, muito tempo foi gasto ana- lisando os resultados gerados nos experimentos. Uma maior exploração em tais dados poderia ser feita para a criação de outras heurísticas, abordando talvez outros detalhes dos grafos.

• Inserção de outros tipos de análise

Não foram esgotados todos os tipos de medidas de centralidade e predição de ligações. Há ainda muito espaço para outros tipos de comparação como, a utilização de categorias de predições diferentes das consideradas neste trabalho, a utilização de pesos em arestas e vértices, análises de performance das consultas etc.

• Aprofundamento nas predições de ligações

Nos experimentos realizados, em alguns momentos havia limitações dos coeficientes apli- cados, prejudicando as análises . Algumas especulações surgiam como, a inserção de outros vértices no conjunto dos nós adjacentes para uma melhor exploração e combinação de vértices. A aplicação do coeficiente de Katz é custosa, pois utiliza produto de matrizes para a descoberta de caminhos. Uma maneira de contornar essa dificuldade, seria limitar a distância que um caminho pode ter.

73 • Criação de ferramenta

A abordagem da metodologia de migração sugerida no capítulo 4 não foi implementada na forma de um software. Um próximo passo que seria realmente desejável seria ter as análises e heurísticas estudadas nesse trabalho agrupadas como uma ferramenta de auxílio.

• Inserção de novas tuplas após predições de ligações

Uma interessante utilização para as predições de ligações realizadas, seria a inserção de novas tuplas no banco original, retroalimentado assim o conjunto original. Podendo as- sim, após essa inserção, verificar como estaria a instância do banco relacional. Podendo também realizar novas predições, para instâncias de tempo diferentes.

74 9 REFERÊNCIAS BIBLIOGRÁFICAS

ANGLES, R. A comparison of current graph database models. In: PROCEEDINGS OF THE 2012 IEEE 28TH INTERNATIONAL CONFERENCE ON DATA ENGINEE- RING WORKSHOPS, 28., ICDEW ’12, 28., 2012. Proceedings... Washington, DC, USA: IEEE Computer Society, 2012, p. 171–177.

ANGLES, R.; GUTIÉRREZ, C. Survey of graph database models. ACM Comput. Surv., v. 40, n. 1, p. 1:1–1:39, 2008.

BASTIAN, M.; HEYMANN, S. ; JACOMY, M. Gephi: An Open Source Software for Exploring and Manipulating Networks. 3. ed. [S.l.: s.n.], 2009.

BATAGELJ, V.; MRVAR, A. Pajek—analysis and visualization of large networks. In: JÜNGER, M.; MUTZEL, P. (Org.). Graph drawing software. [S.l.]: Springer Ber- lin Heidelberg, 2004. p. 77–103. ISBN 978-3-642-18638-7.

CHRIS BIZER. The D2RQ Mapping Language. Disponível em: . Acesso em: 14 nov. de 2016.

BIZER, C.; HEATH, T. ; BERNERS-LEE, T. Linked data - the story so far. Int. J. Semantic Web Inf. Syst., v. 5, n. 3, p. 1–22, 2009.

BORDOLOI, S.; KALITA, B. Article: Designing graph database models from existing relational databases. Int. J. of Computer Applications, v. 74, n. 1, p. 25–31, 2013.

CHEN, P. P.-S. The entity-relationship model—toward a unified view of data. ACM Trans. Database Syst., v. 1, n. 1, p. 9–36, 1976.

CSARDI, G.; NEPUSZ, T. The igraph software package for complex network research. InterJournal, v. Complex Systems, p. 1695, 2006. Disponível em: . Acesso em: 20 de Nov. 2016.

EASLEY, D.; KLEINBERG, J. Networks, Crowds, and Markets: Reasoning About a Highly Connected World. New York, NY, USA: Cambridge Univer- sity Press, 2010. ISBN 0521195330, 9780521195331.

ELMASRI, R.; NAVATHE, S.; PINHEIRO, M.; CANHETTE, C.; MELO, G.; AMADEU, C. ; DE OLIVEIRA MORAIS, R. Sistemas de banco de dados. [S.l.]: Pearson Addison Wesley, 2005.

EVANS, E. Domain-Driven Design. [S.l.]: Addison-Wesley, 2004.

FRUCHTERMAN, T. M. J.; REINGOLD, E. M. Graph drawing by force-directed placement. Softw., Pract. Exper., v. 21, n. 11, p. 1129–1164, 1991.

75 GANSNER, E. R.; NORTH, S. C. An open graph visualization system and its applications to software engineering. SOFTWARE - PRACTICE AND EXPERIENCE, v. 30, n. 11, p. 1203–1233, 2000.

HEUSER, C. A. Projeto de banco de dados. [S.l.]: Sagra Luzzatto, 2001.

IORDANOV, B. Hypergraphdb: A generalized graph database. In: SHEN, H. T.; PEI, J.; ÖZSU, M. T.; ZOU, L.; LU, J.; LING, T.-W.; YU, G.; ZHUANG, Y. ; SHAO, J. (Org.). Web-Age Information Management: WAIM 2010 International Workshops: IWGD 2010, XMLDM 2010, WCMT 2010, Jiuzhaigou Valley, China, July 15-17, 2010 Revised Selected Papers. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. p. 25–36. ISBN 978-3-642-16720-1.

KAMADA, T.; KAWAI, S. An algorithm for drawing general undirected graphs. Inf. Process. Lett., v. 31, n. 1, p. 7–15, 1989.

KLEINBERG, J. M. Authoritative sources in a hyperlinked environment. J. ACM, v. 46, n. 5, p. 604–632, 1999.

LESKOVEC, J.; SOSIČ, R. Snap: A general-purpose network analysis and graph-mining library. ACM Transactions on Intelligent Systems and Technology (TIST), v. 8, n. 1, p. 1, 2016.

LIBEN-NOWELL, D.; KLEINBERG, J. The link-prediction problem for social networks. Journal of the American society for information science and technology, v. 58, n. 7, p. 1019–1031, 2007.

NEWMAN, M. Networks: An Introduction. New York, NY, USA: Oxford University Press, Inc., 2010. ISBN 0199206651, 9780199206650.

PANZARINO, O. Learning Cypher. [S.l.]: Packt Publishing, 2014. ISBN 1783287756, 9781783287758.

R DEVELOPMENT CORE TEAM. R: A Language and Environment for Statis- tical Computing. Vienna, Austria: [s.n.], 2008.

ROBINSON, I.; WEBBER, J. ; EIFREM, E. Graph Databases. [S.l.]: O’Reilly Media, Inc., 2013. ISBN 1449356265, 9781449356262.

RODRIGUEZ, M. A.; NEUBAUER, P. Constructions from dots and lines. Bulletin of the American Society for Information Science and Technology, v. 36, n. 6, p. 35–41, 2010.

SADALAGE, P.; FOWLER, M. NoSQL Distilled: A brief guide to the emerging world of polyglot persistence. [S.l.]: Addison-Wesley, 2013.

VIRGILIO, R. D.; MACCIONI, A. ; TORLONE, R. Converting relational to graph data- bases. In: FIRST INTERNATIONAL WORKSHOP ON GRAPH DATA MANAGE- MENT EXPERIENCES AND SYSTEMS, 1., GRADES ’13, 1., 2013. Proceedings... New York, NY, USA: ACM, 2013, p. 6.

76 VIRGILIO, R. D.; MACCIONI, A. ; TORLONE, R. Model-driven design of graph da- tabases. In: YU, E.; DOBBIE, G.; JARKE, M. ; PURAO, S. (Org.). Conceptual Modeling: 33rd International Conference, ER 2014, Atlanta, GA, USA, October 27-29, 2014. Proceedings. Cham: Springer International Publishing, 2014. p. 172–185. ISBN 978-3-319-12206-9.

WARDANI, D.; KÜNG, J. Semantic mapping relational to graph model. In: COM- PUTER, CONTROL, INFORMATICS AND ITS APPLICATIONS (IC3INA), 2014 INTERNATIONAL CONFERENCE ON, 2., 2014. Proceedings... [S.l.: s.n.], 2014, p. 160–165.

WEBBER, J. A programmatic introduction to neo4j. In: PROCEEDINGS OF THE 3RD ANNUAL CONFERENCE ON SYSTEMS, PROGRAMMING, AND APPLICATI- ONS: SOFTWARE FOR HUMANITY, 27., SPLASH ’12, 3., 2012. Proceedings... New York, NY, USA: ACM, 2012, p. 217–218.

XIROGIANNOPOULOS, K.; KHURANA, U. ; DESHPANDE, A. Graphgen: Exploring interesting graphs in relational data. PVLDB, v. 8, n. 12, p. 2032–2035, 2015.

ZACHARY, W. W. An information flow model for conflict and fission in small groups. Journal of Anthropological Research, v. 33, n. 4, p. 452–473, 1977.

77