使用Sigma.js显示neo4j节点属性

时间:2015-08-10 13:08:19

标签: javascript neo4j sigma.js

我正在使用带有cypher插件的Sigma.js来可视化我的neo4j数据库。按照这里的简单示例https://github.com/jacomyal/sigma.js/blob/master/examples/load-neo4j-cypher-query.html,它运作良好。我编辑了插件,以便显示的图形标签是我的neo4j节点的名称,但是我还想在单击标签或节点时显示其他节点属性。我对JavaScript很新,所以想知道这是不是像我这样的初学者可以这样做,如果它是我开始的最佳位置。

2 个答案:

答案 0 :(得分:0)

您必须在点击或悬停节点上注册活动。 事件的sigmajs有一个例子:https://github.com/jacomyal/sigma.js/blob/master/examples/events.html

这是一个简短的代码,演示如何制作它。根据需要替换警报方法。

sigma.bind('overNode', function(event) {
  alert(event.data.node);
});

如果您只想发现数据库,请查看tank-browser:https://www.npmjs.com/package/tank-browser

干杯

答案 1 :(得分:0)

您必须修改Cypher插件

首先:定义var let假设我们将在文件开头称它为“has”。

第二:你应该在你的html中添加ul并为其添加名为'popover'的类

第三:添加到cypherCallback方法你应该在其他内部添加if(typeof sig ==='object')

                sig.graph.read(graph);
                sig.bind('clickNode', function(e) {
                var clicknode = e.data.node;
            // empty the printed list                    
               $('.popover').empty();  
                has='';    
            // create the tlis tof prop. from returend Object
            for(var keys in clicknode.neo4j_data ){
               $('.popover').append(' <li>' + keys + ' = '+  clicknode.neo4j_data[keys] + '</li>'); 
has+= 'n.' +keys + '="'+ clicknode.neo4j_data[keys] + '"AND ';
}                   
            $('.popover').show();
});                  
          sig.bind('clickStage', function(e) {
             $('.popover').hide();
           });