• Aucun résultat trouvé

No trabalho de GHRAB et al. (2015), os autores propuseram um framework para construir cubos OLAP em grafos de dados heterogêneos e analisar as propriedades topológicas do grafo. Eles ampliaram os recursos de análise em grafo, integrando o GRAD (GRAph Database model), em um modelo de banco de dados orientado a análise em grafo (GHRAB et al., 2013, 2014). O GRAD suporta nativamente a representação de hierarquias e a análise do conteúdo dos vértices. Essas características são utilizadas para oferecer

suporte a hierarquias de dimensão e criar cubos OLAP sobre o grafo. Assim, eles propuseram uma técnica para construir cubos OLAP com a capacidade de realizar uma análise eficaz em vários níveis / dimensões de seu grafo de dados.

Os autores iniciam o trabalho apresentando a base de dados movielens, publicada pelo grupo de pesquisa GroupLens, que representa um grafo de filmes, como mostra a Figura 12 (a) ilustrando um subgrafo do grafo de filmes. Também é apresentado um esquema multidimensional na Figura 12 (b), apresentando uma modelagem dimensional correspondente.

Figura 12 - Base de dados movielens (GHRAB et al., 2015)

O framework desenvolvido suporta dados multidimensionais em grafo de propriedades. Os elementos do grafo podem representar diferentes tipos de entidades e de relacionamentos entre essas entidades, representando assim os dados do mundo real. Além disso, permite o armazenamento de atributos tanto nos vértices como nas arestas do grafo. No trabalho, várias definições sobre os conceitos multidimensionais em grafos são definidas, tais como:

• Dimension Level - para especificar o nível de uma dimensão;

• Dimension - para compor uma dimensão utilizando um conjunto ordenado de Dimension Level ;

• Measures - para calcular as medidas do cubo podendo utilizar um tipo de algoritmo com uma função de agregação. Esse tipo de algoritmo caracteriza as Measures nas seguintes classificações:

o Content-Based Measures - são medidas semelhantes às medidas tradicionais de DW, que utiliza apenas os atributos do grafo para o cálculo da medida, por exemplo, SUM, AVG, COUNT; e

o Graph-Specific Measures - são medidas que capturam a propriedade topológica do grafo para o cálculo da medida, por exemplo, degree centrality e closeness centrality.

• Aggregate Graph é a definição de um grafo agregado com pesos em seus elementos, no qual os vértices agregados representam um conjunto de vértices do grafo de dados original e cada aresta agregada representa a fusão das arestas entre pares de vértices agregados; e

• Graph Cube - corresponde a um conjunto de grafos agregados, os quais podem ser chamados de cuboids, obtidos por meio de todas as possibilidade de agregação das informações do grafo original.

Após apresentadas as definições dos conceitos multidimensionais, o artigo apresenta o processo de construção do cubo OLAP sobre o grafo de propriedade, o qual descreve um multigrafo dirigido, rotulado e com atributos. Os autores consideram que cada vértice contém apenas um rótulo, introduzindo assim o conceito de class para representar um conjunto de vértices que compartilham o mesmo rótulo.

Na produção do Graph Cube, foi definido um grafo lattice para computar todas as agregações OLAP possíveis no grafo de dados, de modo que cada vértice do grafo lattice corresponde a um cuboid, o qual representa um grafo agregado. Os autores assumem que para produzir um cubo é preciso analisar as propriedades e os relacionamentos entre as entidades para definir uma modelagem mais adequada para os dados. Desse modo, os autores consideram que os atributos das arestas podem ser modelados como uma dimensão, por exemplo, o atributo Website da aresta ACTS apresentada no esquema multidimensional da Figura 12 (b). Entretanto, os atributos ranking e rating são considerados medidas dessa modelagem.

Para melhorar o entendimento na produção de um Graph Cube, os autores apresentaram um exemplo aplicando dimensões e medidas sobre o grafo de propriedade da Figura 12 (a) para produzir um grafo lattice com o da Figura 13.

Figura 13 - Estrutura Lattice e cuboids (GHRAB et al., 2015)

Na Figura 14, eles apresentaram o grafo agregado dos filmes considerando a data de nascimento e o gênero dos atores. Além disso, eles perceberam que as medidas do tipo Graph-Specific Measures (e.g., closeness centrality de atores) não podem ser reusadas na mudança de nível da dimensão, pois em cada nível há uma topologia diferente no grafo para ser calculada.

Figura 14 - Grafo agregado (GHRAB et al., 2015)

Os autores também apresentaram uma modelagem no grafo lattice que apresenta uma dimensão hierárquica com níveis de hierarquia. A representação dessas modelagens possibilita agregar os dados em grafo considerando os níveis da dimensão, como mostra o exemplo da Figura 15.

Figura 15 - Dimensão hierárquica em grafo lattice (GHRAB et al., 2015)

Com base nas definições, os autores apresentaram no final do artigo a especificação de um protótipo em Neo4j. A arquitetura dessa especificação é ilustrada na Figura 16 e os seus componentes são introduzidos, a seguir:

• Graph ETL - responsável por extrair dados de fontes de dados externas e importar no framework;

• Graph storage and materialization - responsável por armazenar os dados utilizando múltiplas instâncias do banco de dados Neo4j, podendo administrar uma instância para armazenar os dados do grafo e outra para armazenar o lattice;

• Graph lookup and update - responsável por integrar o banco de dados Neo4j com o Hadoop Distributed File System (HDFS), no intuito de preparar os dados para o processamento distribuído ou de agregação. Esse componente carrega os dados do Neo4j no HDFS para o processamento e, depois de terminado o processamento, armazena os dados do HDFS em uma nova instância do Neo4j; e

• Graph Aggregation and Measures Computation - responsável por produzir o cubo OLAP, processando os diferentes tipos de medidas em todos os cuboids para compor o grafo lattice. Nesse processamento é utilizada a biblioteca GraphX para melhorar o desempenho e os resultados são persistidos em uma instância do Neo4j.

Figura 16 - Protótipo de implementação (GHRAB et al., 2015)

Com base na abordagem, esse trabalho apresentou um grande avanço em comparação aos outros. Utilizou um SGBDG que atende ao modelo de grafo de propriedade e apresentou medidas que combinam diferentes algoritmos de análise.