Visualização de um gráfico altamente ligado com Neo4J
-
21-12-2019 - |
Pergunta
Estou usando o Neo4J para um projeto de pesquisa e estou lutando com um pequeno problema.
Os dados subjacentes são um gráfico altamente ligado e não consigo visualizá-lo de uma maneira boa. Como você pode ver na captura de tela, as relações são sobrepostas e sempre posso clicar no topo para mais informações. Eu já tentei duas abordagens: tente esconder relacionamentos no resultado visualizado (Neo4J Browser com consultas de cypher) e eu estava procurando alternativas para a visualização de Neo4J.
Então, minha abordagem desejada seria apenas esconder relacionamentos do resultado visualizado. Mas mesmo consultas, como a MATCH (a)-[t]->(b) WHERE t.probability > 0.1 RETURN a,b,t
, retornam menos nós e ainda exibem todos os relacionamentos entre esses poucos nós.
Algumas informações sobre o meu gráfico: exibe um mapa de transição (uma rede Bayesiana) de 10 zonas e as probabilidades de se mudar de uma zona para outra. Há algumas relações entre cada nó, representando diferentes intervalos de tempo. Então, no exemplo, "se mover de A a B em menos de uma hora tem uma probabilidade de 42%"
Solução
Neo4J Server faz uma consulta extra para relacionamentos depois que ele recuperou os nós, não estou ciente de uma maneira fácil de evitar isso.
Você poderia usar algo que usa uma abordagem diferente para a visualização.
e.como meu aplicativo de demonstração aqui que usa alchemy.js para visualização:
Outras dicas
Zonic,
Se você clicar em um nó ou relacionamento, receberá um pop-up que tenha uma opção para visualizar a planilha do gráfico.Na caixa de diálogo que aparece, você pode baixar o conteúdo e modificar os relacionamentos que você não deseja ver para fazer as linhas e texto branco.Arraste e solte o arquivo .grass modificado, de volta para a caixa de diálogo Stylesheet e veja se isso ajuda.
Você também pode experimentar o aplicativo Gefi e ver o que isso faz para você.É grátis, e é focado na visualização.
graça e paz,
jim
Talvez você gostaria de experimentar aplicativos externos como indicado nesta resposta:
Você quer dizer filtragem básica dos relacionamentos, assim ...
jogo (a: pessoa) - [T: is_related_to] -> (b: pessoa) onde t.probabilidade> 0,1 retornar a, b, t
Você pode ocultar os relacionamentos extras desligando automaticamente com a chave no canto inferior direito.Por padrão Neo4J também busca e exibe relações entre nós devolvidos, mesmo que não fossem parte de sua consulta.Com o preenchimento automático desligado, o NEO4J só exibirá os relacionamentos retornados pela consulta real.