我正在使用Neo4j作为数据库处理Java EE应用程序。在这个应用程序中,我需要对用户的项目进行一些备份以及时比较它们(例如,用户有一个项目(主节点+子节点+标签+关系)A,创建于01/01/2014 ,他创建了该项目的副本2014年1月30日,并希望将其与1个月后的实际版本进行比较)。我的想法是使用" dump"从neo4j-shell复制用户想要的所有项目,并将其保存在数据库中,以使用户能够比较它们。
但问题出在那里,我从4天开始在互联网上搜索,而且我总是坚持这个。
我尝试用cypher来做,但对我来说最好的方法是neo4j-shell,因为dump命令可以返回一个cypher查询来创建带有标签,关系和子节点的相同节点,然后我只需要编辑一些参数它......等等!
我需要什么:
我不需要知道如何使用cypher,我已经在我的所有应用程序中都这样做了,我在java代码中需要neo4j-shell的唯一原因是因为我没有找到在cypher查询中执行类似备份命令的方法(如果你知道如何,请告诉我,使用cypher应该更容易实现)
我希望你能帮助我,度过美好的一天:)
答案 0 :(得分:1)
您可能需要考虑使用Neo4J JDBC driver将neo4j数据库公开为JDBC连接,然后使用其他现有工具从该JDBC连接中查询/备份。
似乎正如您所发现的那样,dump可以用于创建可用于重新创建另一个neo4j数据库的密码。如果这不是您想要的,也许您想将信息转储为表格数据?将neo4j设置为JDBC连接点的优点是,您可以重用任何知道如何与JDBC数据库通信的工具,并使用所有这些工具来查询/格式化/转储数据。
答案 1 :(得分:0)
只需调用transactional http endpoint并使用返回的JSON字符串作为比较。
示例也在文档中。
对于Java,您可以在这里查看:http://docs.neo4j.org/chunked/milestone/server-java-rest-client-example.html#_sending_cypher