【问题标题】:Recreate reference node in a Neo4j database在 Neo4j 数据库中重新创建参考节点
【发布时间】:2011-11-03 10:47:31
【问题描述】:

我不小心删除了节点 0,它是我在新图上的参考节点,因此调用 getReferenceNode() 之后会失败。我搜索了 Neo4j 源代码,发现了一个可以重新创建它的代码:

GraphDatabaseService graphDb = new EmbeddedGraphDatabase("mytestdb");    
((EmbeddedGraphDatabase) graphDb).getConfig().getGraphDbModule().createNewReferenceNode();

我是否错过了重新创建参考节点的更好方法?有时它的 id 为 0,有时当我运行它时为 5,这取决于存在的其他节点。此外,getConfig() 周围的 cmets 表示,它可能会在未来的版本中被移除。

【问题讨论】:

  • 这个的用例是什么?不同的 id 应该没有问题,只需将节点与实际参考节点进行比较,不要检查 id 0。
  • 是的,无论节点是我的参考节点,我都很好。我希望有一个 setReferenceNode() 方法,就像现有的 getReferenceNode() 一样,或者一些我可能因为方式而丢失的方法我在上面设置它听起来像我将无法在 neo4j 的未来版本中调用 getConfig()。
  • 如果该方法消失,我相信还会有另一种方法。

标签: neo4j


【解决方案1】:

自您提出此问题以来已经过去了一段时间,但为了您的信息,有一些半近期的 discussion about reference nodes in a Neo4j GitHub issue - 总之,Peter Neubauer(Neo Technology 员工)讨论了删除参考节点的概念或添加 @987654323 @API 调用。

该线程似乎没有太多结论,但要从字面上回答您的问题,现在您并没有错过重新创建参考节点的更好方法 - 希望很快就会出现!

【讨论】:

  • 又过了一段时间,我遇到了 404...:/
  • 引用节点已从2.0.0.RC1删除
猜你喜欢
  • 1970-01-01
  • 2018-01-28
  • 1970-01-01
  • 1970-01-01
  • 2015-11-07
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多