为 Neo4j 中的关系赋值

Assign value to relationship in Neo4j

有没有办法在 Neo4j 中为关系赋值?

假设我有几个 "people" 节点,人与人之间存在双向关系 FRIENDS。如果我想评价友谊的质量,这可能吗? 例如。 Paul 与 Alice 的好友数为 0.54。 Alice 是 Chestirecat 的 0.91 好友。

谢谢。

如果您还想将值作为关系的额外数据"FRIEND",那么您可以将值作为关系的属性输入。当您单击关系时,您也会看到值。

在 Neo4j 中,分配给关系的值的通用名称称为 property

creating 关系时,您可以添加 属性 这样的

CREATE (n:People)-[r:Friends { quality: 5 }]-(m:People)

您还可以将 属性 的值更改为 set

MATCH (m:People{ name: 'Mary' })-[r:Friends]-(m:People{ name: 'John' })
SET r.quality= 6
RETURN n;

要在 Alice 和 Paul 之间创建权重为 0.54 的加权友谊,请使用以下 CREATE:

CREATE (n:People { Name: 'Paul' } )-[r:Friends { quality: 0.54 }]->(m:People { Name: 'Alice' });

并在 Alice 节点已经存在且权重为 0.91 时创建 Alice 和 Paul 之间的加权友谊,使用以下 CREATE:

MATCH (n:People { Name: 'Alice' } )  
  CREATE (n)-[r:Friends { quality: 0.91 }]->(m:People { Name: 'Chestirecat' });

要在 Alice 和 Paul 之间添加好友关系,请使用以下 CREATE:

MATCH (n:People { Name: 'Alice' } ), (m:People { Name: 'Paul' })  
  CREATE (n)-[r:Friends { quality: 0.62 }]->(m);