2014-03-25 207 views
1

我对node比较陌生,但是经过了培训教程,并且在过去的几周里一直在使用它。我的问题是关于节点ID和关系。neo4j节点ID和关系

我注意到,只要我查询Neo4j,结果集永远不会返回节点ID,这是故意的吗?我问的原因是当我尝试关联记录时,我不得不依赖其他属性来获取MATCH子句中的节点,以便稍后可以使用它们来构建关系。

用尽谷歌,并注意到neo4j培训教程从来没有利用任何节点的id,而是依赖于其他标识符(例如电影名称,演员名称等),我已经得出结论/实现也许这是有意设计的,DBA有责任定义自己的标识符(并对它们进行索引),而不依赖于neo4j节点标识。

我的假设是否正确?

回答

2

Neo4j确实发回它的节点标识符。如果您想要在RETURN子句中明确提取它们,则可以使用id(your_node_alias)。当一个节点被删除时,它的标识符可以被重新用于另一个新节点。因此,依靠它们不是一个好主意。创建和索引自己的唯一标识符属性始终是一个好主意。

+0

谢谢你,我会坚持我自己的标识符,如果这被认为是最佳做法:) – monkeyb

相关问题