Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
neo4j ID的稳定性如何?_Neo4j - Fatal编程技术网

neo4j ID的稳定性如何?

neo4j ID的稳定性如何?,neo4j,Neo4j,我知道你不应该长期依赖ID作为节点的标识符,因为当你删除节点时,ID可能会被重新分配给新节点() 删除节点和关系时,Neo4j重用其内部ID。这意味着使用和依赖内部Neo4j ID的应用程序很脆弱,或者有出错的风险。因此,建议使用应用程序生成的ID 如果我理解正确,那么只有在无法保证某个节点/关系是否已被删除时,才能通过其id查找该节点/关系,这将使您面临风险 如果通过我的应用程序设计,我可以保证具有特定ID的节点在查询ID后没有被删除,我可以使用ID吗?还是我可能会遇到一些问题 我的用例是希望

我知道你不应该长期依赖ID作为节点的标识符,因为当你删除节点时,ID可能会被重新分配给新节点()

删除节点和关系时,Neo4j重用其内部ID。这意味着使用和依赖内部Neo4j ID的应用程序很脆弱,或者有出错的风险。因此,建议使用应用程序生成的ID

如果我理解正确,那么只有在无法保证某个节点/关系是否已被删除时,才能通过其id查找该节点/关系,这将使您面临风险

如果通过我的应用程序设计,我可以保证具有特定ID的节点在查询ID后没有被删除,我可以使用ID吗?还是我可能会遇到一些问题


我的用例是希望执行跨越多个事务的复杂操作。我需要知道我在该操作的第一个事务中为某个节点获取的ID是否是在该操作的最后一个事务中识别该节点的有效方法。

只要您确定不会删除具有给定ID的节点/关系,您就可以无限期地使用其本机ID

然而,随着时间的推移,您可能会希望添加对需要删除该实体的其他用例的支持。一旦发生这种情况,您现有的查询可能会开始产生间歇性错误(这可能并不明显)

因此,通常仍然建议使用您自己的标识属性