如何使用;“倾倒”;java中的neo4j shell命令

如何使用;“倾倒”;java中的neo4j shell命令,java,shell,neo4j,Java,Shell,Neo4j,我正在使用Neo4j作为数据库开发JavaEE应用程序。在此应用程序中,我需要对用户的项目进行一些备份,以便及时进行比较(例如,用户有一个项目(主节点+子节点+标签+关系)a,创建于2014年1月1日,他创建了该项目的副本2014年1月30日,并希望在1个月后将其与实际版本进行比较)。我的想法是使用Neo4JShell中的“dump”在用户需要时复制所有项目,并将其保存在数据库中,以便用户能够比较它们 但问题是,我从4天开始就在互联网上搜索,我总是被这个困扰着 我试着用cypher来做,但对我来

我正在使用Neo4j作为数据库开发JavaEE应用程序。在此应用程序中,我需要对用户的项目进行一些备份,以便及时进行比较(例如,用户有一个项目(主节点+子节点+标签+关系)a,创建于2014年1月1日,他创建了该项目的副本2014年1月30日,并希望在1个月后将其与实际版本进行比较)。我的想法是使用Neo4JShell中的“dump”在用户需要时复制所有项目,并将其保存在数据库中,以便用户能够比较它们

但问题是,我从4天开始就在互联网上搜索,我总是被这个困扰着

我试着用cypher来做,但对我来说最好的方法是neo4j shell,因为dump命令可以返回一个cypher查询来创建具有标签、关系和子节点的相同节点,然后我只需要编辑其中的一些参数。。。瞧

我需要的是:

  • 在我的应用程序代码中使用neo4j shell来使用dump命令(javaee)
  • 能够获得dump neo4j shell命令的结果
我不需要知道如何使用cypher,我已经在我的所有应用程序中使用了它,我在java代码中需要neo4j shell的唯一原因是因为我没有找到一种方法在cypher查询中执行类似于备份命令的操作(如果你知道如何使用,请告诉我,使用cypher应该更容易)


< P>希望你能帮助我,祝你度过美好的一天:

< P>你可能想考虑使用Ne4J数据库作为JDBC连接,然后使用其他现有工具从JDBC连接中查询/备份。 正如您所发现的,dump有助于创建cypher,您可以使用它重新创建另一个neo4j数据库。如果这不是您想要的,那么您可能希望将信息作为表格数据转储?将neo4j设置为JDBC连接点的优点是,您可以重用任何知道如何与JDBC数据库通信的工具,并使用所有这些工具来查询/格式化/转储数据。

只需调用并使用返回的JSON字符串作为比较

该示例也在文档中


对于Java,您可以在这里查看:

似乎JDBC驱动程序使用Cypher进行查询,我不能在Cypher中使用dump,因为我可以使用的唯一shell命令是HTTP命令(GET、POST、PUT)。但是为了得到回复,我将检查是否与此有关。您是说在HTTP上使用RESTful API(GET-POST-PUT)吗?如果是这样的话,你可以使用RESTful API来执行密码查询,但我现在想我不明白你的意思…是的,这是我唯一可以用restAPI做的事情,但我需要其他东西来使用dump命令,RESTful API不是我要找的,我已经在所有数据库查询中使用它了,但是我需要使用java中的neo4j shell来获得一个cypher查询,以复制我所需要的内容。如果你真的可以使用neo4j shell来运行cypher,我不明白为什么你不能使用JDBC包装器。我想你是对的。我不明白你的问题。我建议返回,编辑您的问题,对其进行大量澄清,并添加您的需求/参数(您希望使用java,而不是cypher)。如果您想在java中实现,为什么要使用Neo4JShell?这需要很多澄清。这个解决方案是否使我能够使用dump neo4j shell命令?似乎您只能对事务性http端点使用GET PUT POST