我对节点比较陌生,但是经历了培训教程,过去几周一直在努力学习。我的问题是节点ID和关系。
我注意到每当我查询Neo4j时,结果集都不会返回节点ID,这是故意的吗?我问的原因是当我尝试关联记录时,我不得不依赖其他属性来获取我的MATCH子句中的节点,以便我以后可以使用它们来构建关系。
在谷歌筋疲力尽之后,注意到neo4j培训教程从未使用任何节点ID,而是依赖其他标识符(例如电影片名,演员姓名等),我得出结论/认识到也许这是设计的,DBA有责任定义自己的标识符(并将其编入索引),而不是依赖于neo4j节点id。
我的假设是否正确?
答案 0 :(得分:2)
Neo4j会发回其节点标识符。如果要在RETURN
子句中显式获取它们,可以使用id(your_node_alias)
。当节点被删除时,其标识符可以重新用于另一个新节点。因此,依靠它们永远不是一个好主意。创建和索引自己的唯一标识符属性总是一个好主意。