• Aucun résultat trouvé

Cost and Financing of the DDS

A Figura 75 apresenta a modelagem MPGrafo-2 na interface gráfica do Neo4j. Nessa figura o grafo atende à seguinte configuração visual: os VD são amarelos, mostrando o nome do rótulo e a propriedade principal, os VA são verdes, mostrando o nome do rótulo e

o identificador, e os SubGV mostram o nome do rótulo e a propriedade principal em todos os seus vértices, os quais possuem três cores: azul para os vértices de rótulo (:Person), vermelho para os vértice de rótulo (:Publication) e roxo para os vértices de rótulo (:Venue), como ilustra a Figura 75.

Figura 75 - Modelagem MPGrafo-2 no Neo4j

A partir dessa modelagem executamos as consultas no Neo4j, iniciando com o exemplo das Figuras 59 e 60, que agrega as informações de publicações em função do ano e local de publicação. A Figura 76 apresenta a consulta especificando na linha 2 uma consulta em Cypher que seleciona as dimensões DimDate e DimPublicationVenue; na linha 3 as configurações que analisam os VA; na linha 4 não foram requisitadas medidas de análise para analisar os vértices do subgrafo agregado; e na linha 5 a configuração dimensional para unificar os VD por meio da configuração {DimDate:'year',DimPublicationVenue:'type'}.

1 Call olap.aggregate.graphResult(

2 "MATCH (dim_date:DimDate)-[reldi_date]->(va:

𝑟

𝑉𝐴), (va:

𝑟

𝑉𝐴)- [relsub:

𝑟

𝑟𝑒𝑙𝑠𝑢𝑏]->(SubGV), (dim_publ:DimPublicationVenue)-[reldi_publ]- >(va:

𝑟

𝑉𝐴) RETURN reldi_date, reldi_publ, va, relsub;",

3 [{`*`:'count', citation:['sum','avg'], author:['sum'], sumSalary:['sum','avg'], sumDegreeM:['sum','avg']}, {`*`:'count'}],

4 [],

5 {DimDate:'year',DimPublicationVenue:'type'})

Figura 76 - Consulta as informações de publicação agregando-as por ano e local de publicação

Com a execução dessa consulta, obtivemos um resultado gráfico que retratamos na Figura 77. Esse resultado é representado por um grafo de propriedade, contendo: cinco VD na cor amarela, sendo dois da dimensão DimDate 2010 e 2016, e três da dimensão DimPublicationVenue “School”, “Journal” e “Proceedings”; três VAagr na cor verde; nove SubGagr na cor cinza, visto que em cada subgrafo analítico existem três rótulos diferentes; cinco vértices de rótulo (:Person) na cor azul; quatro vértices de rótulo (:Publication) na cor vermelha; e três vértices de rótulo (:Venue) na cor roxa.

Na agregação dos VA foram produzidos três VAagr: o primeiro, da esquerda para direita, agregou dois VA e possui a combinação dos VD “School” e 2010; o segundo agregou um VA e possui a combinação dos VD “Journal” e 2010; e o terceiro agregou um VA e possui a combinação dos VD “Proceedings” e 2016.

O grafo de resposta representado na Figura 77 mostra selecionado o VAagr com a combinação de VD “Journal” e 2010. Com isso, aparecem os resultados da configuração de medida descrita na linha 3 da Figura 76 {`*`:'count', citation:['sum','avg'], author:['sum'], sumSalary:['sum','avg'], sumDegreeM:['sum','avg'], que resultaram nas seguintes propriedades:

• count_* - informa a quantidade de VA, que compõem o VAagr selecionado; • sum_citation - soma os valores da propriedade “citation”;

• avg_citation - calcula a média dos valores da propriedade “citation”; • sum_author - soma os valores da propriedade “author”;

• sum_sumSalary - soma os valores da propriedade “sumSalary”;

• avg_sumSalary - calcula a média dos valores da propriedade “sumSalary”; • sum_sumDegreeM - soma os valores da propriedade “sumDegreeM”; e

• avg_sumDegreeM - calcula a média dos valores da propriedade “sumDegreeM”; Os valores resultantes das medidas são visíveis na Figura 77.

Figura 77 - Resultado da consulta que agrega as publicações por ano e local de publicação

A próxima consulta é baseada no exemplo de consulta das Figuras 61 e 62, que agrega as informações de publicações que foram realizadas nas instituições (School) no ano 2010. A Figura 78 apresenta a consulta especificando na linha 2 uma consulta em Cypher que seleciona e restringe as dimensões com os respectivos valores: DimDate com a propriedade “year” = 2010 e DimPublicationVenue com a “type” = “School”; na linha 3 as configurações que analisam os VA; na linha 4 definimos medida de análise para os vértices de rótulo {:Person, :Publication e :Venue} que compõem o Subgrafo Analítico; e na linha 5 a configuração dimensional para unificar os VD por meio da configuração {DimDate:'year',DimPublicationVenue:'type'} .

76. Ela restringe os VD da dimensão “DimDate” recuperando apenas os VD com valor “2010” na propriedade “year”, e os VD da dimensão “DimPublicationVenue” com valor “School” na propriedade “type”. Com a execução dessa consulta, obtivemos um resultado que é ilustrado na Figura 79.

1 Call olap.aggregate.graphResult(

2 "MATCH (dim_date:DimDate)-[reldi_date]-

>(va:

𝑟

𝑉𝐴),(dim_publ:DimPublicationVenue)-[reldi_publ]->(va:

𝑟

𝑉𝐴),(va:

𝑟

𝑉𝐴)- [relsub:

𝑟

𝑟𝑒𝑙𝑠𝑢𝑏]->(SubGV) where dim_date.year = '2010' and dim_publ.type = 'School' RETURN reldi_date, reldi_publ, va, relsub;",

3 [{`*`:'count', citation:['sum','avg'], author:['sum']}, {`*`:'count'}] 4 [{Person:{salary:['collect','max'],shortName:['collect']},

Publication:{citation:['collect']}, Venue:{shortName:['collect']} }], 5 {DimDate:'year',DimPublicationVenue:'type'})

Figura 78 - Consulta e agrega as informações de publicações das instituições no ano 2010

Figura 79 - Resultado da consulta que agrega as publicações de instituições em 2010

Esse resultado da consulta apresenta um grafo de propriedades, contendo: dois VD na cor amarela, sendo um da dimensão DimDate com valor 2010 e outro da dimensão DimPublicationVenue com valor “School”; um VAagr na cor verde; três SubGagr na cor cinza; dois vértices de rótulo (:Person) na cor azul; dois vértices de rótulo (:Publication) na

cor vermelha; um vértices de rótulo (:Venue) na cor roxa.

Na agregação dos VA, foi produzido um único VAagr, que agregou dois VA combinando os VD “School” e 2010, como mostra a Figura 79. Além disso, essa figura apresenta o VAagr selecionado mostrando nas propriedades os valores resultantes das medidas de análise, que foram requisitadas na linha 3 da Figura 78.

Além desses resultados, essa consulta também requisitou na linha 4 da Figura 78 medidas de análise para processar os vértices de rótulo Person, Publication e Venue que constituem o SubGagr. A configuração de medida [{Person:{salary:['collect','max'], shortName:['collect']}, Publication:{citation:['collect']}, Venue:{shortName:['collect']} }] resultou em valores e propriedades que retratam as medidas de análise nos vértices do SubGagr, como mostram os valores dos vértices selecionados na Figura 78.

Essas medidas são expressas nas propriedades dos seguintes rótulos: • Person

o collect_salary - lista os valores da propriedade “salary” dos vértices (:Person); o max_salary - apresenta o maior valor da propriedade “salary” dos vértices

(:Person);

o collect_ shortName - lista os valores da propriedade “shortName” dos vértices (:Person);

• Publication

o collect_ citation - lista os valores da propriedade “citation” dos vértices (:Person);

• Venue

o collect_ shortName - lista os valores da propriedade “shortName” dos vértices (:Person);

A B

Figura 80 - Resultado da consulta detalhando os vértices do SubGagr

Por fim, concluímos a apresentação das consultas multidimensionais em grafo utilizando a implementação da AAMPGrafo no Neo4j. Na próxima seção, discutimos a representação visual das consultas em Cypher e a forma de representar os dados agregados em consultas analíticas e multidimensionais em grafo.