Neo4j 中的 randomUUID 和 GraphAware UUID 有什么区别?
What is the difference between randomUUID and GraphAware UUID in Neo4j?
我目前在neo4j中使用GraphAware UUID库生成UUID,后来发现它有一个randomUUID()
生成UUID的函数,应该是哪个已使用?randomUUID()
会在服务器上创建唯一 ID 吗?
对于手动用例,在 Cypher 查询中自己创建 UUID,它们在功能上是相同的(我认为 GraphAware 首先实现了这一点,我们后来才知道)。是的,id 将在服务器上创建并且是唯一的,两者都是
我相信 GraphAware 的 UUID 模块涵盖的不仅仅是这些,自动将 UUID 分配给新创建的节点和关系,并在此之上进行额外的验证。
他们都叫java.util.UUID#randomUUID()
,这就是他们之间的相似之处。
内置 Cypher 的 randomUUID()
是一个函数,您必须在每个要分配 UUID 的密码查询中手动调用它。
neo4j-uuid
模块是 Neo4j 的一组扩展,它允许您透明地将 UUID(或其他类型的 ID - 取决于配置的 ID 生成器)分配给节点和关系,确保 ID 可以'不得更改或删除。它还为节点/关系维护一个显式索引。请参阅 full feature 集的自述文件。
如果您的用例只是将 uuid 分配给(某些)节点或关系,则使用内置函数。如果您可以利用 neo4j-uuid 模块的其他功能 - 使用它。
我目前在neo4j中使用GraphAware UUID库生成UUID,后来发现它有一个randomUUID()
生成UUID的函数,应该是哪个已使用?randomUUID()
会在服务器上创建唯一 ID 吗?
对于手动用例,在 Cypher 查询中自己创建 UUID,它们在功能上是相同的(我认为 GraphAware 首先实现了这一点,我们后来才知道)。是的,id 将在服务器上创建并且是唯一的,两者都是
我相信 GraphAware 的 UUID 模块涵盖的不仅仅是这些,自动将 UUID 分配给新创建的节点和关系,并在此之上进行额外的验证。
他们都叫java.util.UUID#randomUUID()
,这就是他们之间的相似之处。
内置 Cypher 的 randomUUID()
是一个函数,您必须在每个要分配 UUID 的密码查询中手动调用它。
neo4j-uuid
模块是 Neo4j 的一组扩展,它允许您透明地将 UUID(或其他类型的 ID - 取决于配置的 ID 生成器)分配给节点和关系,确保 ID 可以'不得更改或删除。它还为节点/关系维护一个显式索引。请参阅 full feature 集的自述文件。
如果您的用例只是将 uuid 分配给(某些)节点或关系,则使用内置函数。如果您可以利用 neo4j-uuid 模块的其他功能 - 使用它。