neo4j中节点之间的版本关系

neo4j中节点之间的版本关系,neo4j,graph-databases,Neo4j,Graph Databases,假设有两个节点A和B (A)-[r]-(B) r有一个属性“weight”,这是a对B依赖性的度量 权重的值经常变化,我希望对权重的值进行版本设置。 在两个相同的节点之间建立新关系,并在最后创建的关系上添加属性['valid':true]是否可行 我问这个问题是因为有人告诉我,如果我需要对属性进行版本控制,它们肯定应该是节点: 但是,两个节点A和B之间的权重属性自然属于它们之间的关系。如何使用节点来保持权重 编辑: 例如: 设A是标签为FRUIT的节点,B是标签为PERSON的节点 此外,让

假设有两个节点A和B

(A)-[r]-(B)
r有一个属性“weight”,这是a对B依赖性的度量

权重的值经常变化,我希望对权重的值进行版本设置。 在两个相同的节点之间建立新关系,并在最后创建的关系上添加属性['valid':true]是否可行

我问这个问题是因为有人告诉我,如果我需要对属性进行版本控制,它们肯定应该是节点:

但是,两个节点A和B之间的权重属性自然属于它们之间的关系。如何使用节点来保持权重

编辑:

例如: 设A是标签为FRUIT的节点,B是标签为PERSON的节点 此外,让r是两者之间的关系,并带有一个标签:喜欢,并且,r的“重量”属性是衡量人B有多喜欢水果a的度量


r的权重属性不断变化,需要随着时间的推移对该属性进行版本设置。

我认为这取决于两个因素:权重更新的频率和对已版本的权重执行的查询:

  • 如果您希望更新的数量很少,并且只保留它们作为参考,则可以使用单个关系并将旧值存储在属性中(例如映射或字符串)

  • 如果您希望更新的数量很少,并且希望定期查询数据,那么为每个更新使用新的关系是合理的

  • 如果
    重量
    经常更改,并且您实际需要访问数据(即为数百万个水果收集数百万个重量值),我不会将其存储在neo4j中。使用一个简单的MySQL表,该表包含
    PersonID、水果ID、重量、时间戳
    或其他一些数据存储。仅将最新值存储在neo4j中

  • 我两个都用。三,。很多,即使3。听起来有些过分,只要您只“外包”带有清晰查询的结构化数据,通常实现起来很简单