在Cypher REST API中自动生成节点的序列号 - Neo4J

时间:2014-11-20 15:59:38

标签: rest neo4j cypher

我需要在将节点插入neo4j db时自动生成序列号,此序列#将类似于节点的id,可用于生成外部URL以直接从UI访问该节点。

这类似于mysql中自动生成序列属性,我们如何通过Cypher在neo4j中执行此操作?我做了一些研究,发现了这些链接

Generating friendly id sequence in Neo4j

http://neo4j.com/api_docs//1.9.M05/org/neo4j/graphdb/Transaction.html

但是,当我在事务模式下以编程方式执行此操作时,这些链接非常有用,在我的情况下,它们都使用Cypher REST API。

请告知。

谢谢,

Deepesh

2 个答案:

答案 0 :(得分:5)

您可以使用MERGE来模仿序列:

MERGE (s:Sequence {name:'mysequenceName'})
ON CREATE s.current = 0
ON MATCH s.current=s.current+1
WITH s.current as sequenceCounter
MATCH .... <-- your statement continues here

答案 1 :(得分:0)

如果您的唯一ID不需要是数字也不是顺序,那么只要您想创建节点,就可以生成并使用GUID。您必须以编程方式执行此操作,并且应该pass the value as a parameter,但是应该有适用于所有语言和所有平台的GUID生成的良好库。