neo4j - 在 Neo4j 中为关系赋值
问题描述
有没有办法为 Neo4j 中的关系分配值?
假设我有几个“人”节点,人与人之间具有双向关系朋友。如果我想重视友谊的质量怎么办,这可能吗?例如,保罗和爱丽丝是 0.54 个朋友。Alice 是 Chestirecat 的 0.91 个好友。
谢谢。
解决方案
在 Neo4j 中,分配给关系的值的通用名称称为property。
创建关系时,您可以添加这样的属性
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 之间添加 Friends 关系,使用以下 CREATE:
MATCH (n:People { Name: 'Alice' } ), (m:People { Name: 'Paul' })
CREATE (n)-[r:Friends { quality: 0.62 }]->(m);
推荐阅读
- r - tidyr::gather 生成具有重复列名的 data.frames
- amazon-web-services - 在 .ebextensions 中调试 PowerShell 脚本
- javascript - 如何根据现有数据点动态预选多个选项
- python-3.x - wxglade 列表树未正确显示
- javascript - 即使在清单文件中定义权限后 Chrome.storge 也会出现问题
- codenameone - 在 Codenameone 中播放捆绑文件中的背景音乐
- sql - 如何创建 SQL 查询以使用 1 个属性对 JSON 数组进行排序?
- python-3.x - Tensorflow 梯度下降优化器给出了 nan 结果
- python - 如何提取包含在字符串段落之间的 JSON 对象?
- python - what are django channels InMemoryChannelLayer limitations