neo4j web可视化 echarts django

参考这篇文章的博客。
谢谢博主!!!!非常感谢博主分享源码!!!
博主的文章,大家都去观摩!!!
原博主的项目链接:https://github.com/Sjyzheishuai/Neo4j-visualization
连接自己的数据,做可视化,做的过程中遇到了如下问题:

问题①:怎么总是不出图呢?
原博主的代码取得是name作为关系的连接条件,但是发现自己的数据name有重复值,可能识别不出来,所以一直不出图。因为自己的数据有一个id,(自己编好的,并且关系也是通过id确定开始和结尾的),所以修改了代码,改成了取id。

问题②:原博的搜索语句,限制了标签,因为我的标签相对较多,所以修改了下语句。

问题③:搜索的时候同样遇到问题,假如有同名的怎么办?
那就循环遍历呗。

问题④:怎么改变不了下面的框框节点的大小呀symbolSize?
因为原博同时定义了全局变量和局部变量哈哈哈哈哈,最后是局部变量起作用了,就修改了下。

问题⑤:节点的类型太多了,可以自行修改颜色哈哈哈哈

问题⑥:设置了提示框!!可以显示节点的属性内容。(原博主的提示框好像没有起啥作用)

问题⑦:如何获取关系的属性内容呢??
反正就是尝试,不断细分查看类型,最后取到想要的内容。

reps = graph.run('match(n)<-[r]->(m) where n.name = "甲" return r').data()
for r in reps:
    print(r)  #每一个r都是字典格式,并且都只有一个键 r
    #内容是有开始节点、结束节点、还有关系的属性(最后一个是)
    # {'r': 阴阳(Node('天干', id='54', name='……', 原文='……', 定义='……'),
    #            Node('阴阳', id='95', name='……', 原文='……', 定义='……'),
    #            原文='……')}
    # print(type(r))
    # print(r.keys())
    那么如何取到属性的值呢??
      print(type(r['r']))  #
      print(r['r']['原文'])

问题⑧:原博主的一个地方写的巨好!就是为什么搜索图谱,用的link是全部的link1,而非link2。
但是后续展示关系的属性内容就出问题了,web死活不显示关系的属性内容(/(ㄒoㄒ)/~~),因为我只对搜索的link2获取了关系的属性,所以web不显示,改成link2即可。

问题⑨: formatter: function (x) 里面,假如想要使用if函数,格式如下:

        formatter: function (x) {
            console.log(x) // 当我们想要自定义提示框内容时,可以先将鼠标悬浮的数据打印出来,然后根据需求提取出来即可
            if (x.dataType=="node"){
                var * = *
                return 
            }
            else if (x.dataType=="edge"){
                var * = *
                return 
            }
        },

你可能感兴趣的:(web,js,django)