在java中为neo4j节点生成juuid的最佳方法是什么

时间:2016-11-26 08:35:10

标签: java neo4j

Neo4j不建议使用节点ID存储在第三方系统中以供以后引用。

  1. 那么在java中为neo4j节点生成uuid的最佳方法是什么?
  2. 目前我正在使用UUID.randomUUID();生成uuid。如果我使用UUID.randomUUID(),对neo4j搜索有任何性能影响吗?

3 个答案:

答案 0 :(得分:3)

确实,您不应在外部系统中引用内部ID,因为内部ID不稳定。

生成UUID的一个选项是使用apoc.create.uuid中提供的apoc procedure library功能。例如:

CREATE (p:Person)
SET p.name = "Bob",
    p.uuid = apoc.create.uuid()

有关用户定义的过程和函数的更多信息,请参阅this blog post

答案 1 :(得分:1)

Another option is to to use GraphAware UUID to assign UUIDs to nodes and optionally relationships, transparently. It will also make sure that the UUIDs are not changed or deleted.

https://github.com/graphaware/neo4j-uuid

Disclaimer: I work at GraphAware

答案 2 :(得分:1)

现在Cypher具有randomUUID本机功能,请参见https://neo4j.com/docs/cypher-manual/current/functions/scalar/