首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将整个Neo4j数据库/密码结果导出到GraphJSON

将整个Neo4j数据库/密码结果导出到GraphJSON
EN

Stack Overflow用户
提问于 2017-05-04 05:21:34
回答 1查看 4K关注 0票数 1

我已经看过不同的帖子了,比如thisthis,但似乎都没有得到100%的回答。我目前的问题是,我想用一个库(或软件/工具)来可视化-理想情况下-分析我的Neo4j-Graph。数据库服务器运行在远程(虚拟)服务器上,似乎没有机会将数据库导出为我可以使用的格式。我尝试过将图形导出为.raphml文件,以便在Gephi中导入此文件,但Gephi找不到属性。使用apoc程序的Gephi流和图形流插件也不能工作,因为它是一个远程服务器(也使用提到的工具here)。现在我正在测试Alchemy.js……到现在为止还好。但是,似乎没有办法将图形/查询导出为GraphJson格式?真的没有“简单”的方法来导出数据吗?

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-05-04 06:51:29

这就是我要做的

从您在Neo4j浏览器或任何螺栓驱动程序中提到的帖子中运行此查询:

代码语言:javascript
复制
MATCH (a)-[r]->(b)
WITH collect(
    {
        source: id(a),
        target: id(b),
        caption: type(r)
    }
) AS edges
RETURN edges

现在您已经加载了数据,您可以使用download按钮以JSON格式下载它(如果您使用的是螺栓驱动忽略)。

无论您是从Neo4j浏览器手动下载JSON,还是使用bolt,您最终都会得到如下所示的结果。

代码语言:javascript
复制
{
  "columns": [
    "edges"
  ],
  "data": [
    {
      "row": [
        [
          {
            "source": 31288,
            "target": 152,
            "caption": "HAS_PAYMENT_METHOD"
          }
        ]
      ],
      "meta": [
        null
      ],
      "graph": {
        "nodes": [

        ],
        "relationships": [

        ]
      }
    }
  ]

现在,您所要做的就是过滤出data.row结果,就完成了。也许使用螺栓驱动是更好的选择,因为你无论如何都要清理数据,而且它不会遇到向浏览器返回大量数据的问题(它可能会崩溃)。

更新:添加了python版本

代码语言:javascript
复制
from neo4j.v1 import GraphDatabase

driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))


session = driver.session()


result = session.run("MATCH (a)-[r]->(b) WITH collect({source: id(a),target: id(b),caption: type(r)}) AS edges RETURN edges")

for record in result:
    print(record["edges"])

希望这能有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43770231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档