繁体   English   中英

Neo4j.rb:自动增量关系属性?

[英]Neo4j.rb: autoincrement relationship attribute?

是否可以自动增加ActiveRel属性? 与ActiveRecord相比,ActiveNode / ActiveRel似乎没有开箱即用的自动增量属性。

我考虑过使用before_save手动生成一个id。 但是,似乎无法对关系进行排序 (以找到先前的最高ID)。

一个如何实现ID的自动递增? (我知道Neo4j.rb会生成UUID,但是此应用程序需要单独的增量序列号)

Neo4j有一个自动递增的ID,对于节点和关系,该ID分别从0开始。 (我认为)可以在短期(即几秒钟)内引用节点,而从长期来看则不然,因为它们可能会被Neo4j清理并移动以提高性能。

如果您正在考虑将ID放在关系上,那么您所做的可能不是Neo4j的正确建模方法(尽管没有细节我无法确定)。 关系本身不能直接查询,而只能通过第一个查找节点进行访问。 我认为拥有一个增量ID对于所有相对于节点的关系都是唯一的,而不是全局的,这是有意义的。 这也是为什么Neo4j.rb不会为关系生成UUID的原因。 您可能需要考虑将关系表示为中间节点。

如果要在ActiveNode模型上实现递增ID,则before_save应该是一种很好的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM