温馨提示×

Cypher函数如何获取关系属性

小樊
81
2024-10-31 22:41:32
栏目: 编程语言

在Neo4j中,您可以使用Cypher查询语言来获取关系(Relationship)的属性。以下是一个示例,展示了如何获取关系属性:

假设您有一个名为Person的节点,它与其他节点之间存在KNOWS关系,并且这些关系具有一些属性,例如创建日期和强度。

首先,创建一个包含关系的示例图:

CREATE (p1:Person {name: 'Alice', age: 30})
CREATE (p2:Person {name: 'Bob', age: 25})
CREATE (p1)-[:KNOWS {since: 2020, strength: 5}]->(p2)

接下来,使用以下Cypher查询来获取KNOWS关系的属性:

MATCH (p1:Person)-[r:KNOWS]->(p2:Person)
RETURN p1, r, p2

这将返回以下结果:

+------+------------------+------+
| p1   | r                | p2   |
+------+------------------+------+
| Alice| {since: 2020, ...}| Bob  |
+------+------------------+------+

如果您只想获取特定的属性,例如sincestrength,可以使用以下查询:

MATCH (p1:Person)-[r:KNOWS]->(p2:Person)
RETURN p1, r.since AS since, r.strength AS strength, p2

这将返回以下结果:

+------+-------+----------+------+
| p1   | since | strength | p2   |
+------+-------+----------+------+
| Alice| 2020  | 5        | Bob  |
+------+-------+----------+------+

请注意,属性名称在查询中不需要引号,但如果属性名称包含特殊字符或保留字,则需要用引号括起来。

0