在 Neo4j 中,关系(Relationship)可以有方向,这意味着关系可以是有向的。有向关系是指从一个节点指向另一个节点的关系。在图数据库中,有向关系常用于表示图中实体之间的方向性关联。

在 Cypher 查询语言中,你可以使用箭头(-> 或 <-)来表示关系的方向。以下是一些使用方向关系的例子:

创建有向关系:
CREATE (a:Person {name: 'Alice'})-[:FOLLOWS]->(b:Person {name: 'Bob'});

在上述例子中,我们创建了一个有向关系,表示 Alice 关注 Bob。

查询有向关系:
MATCH (a:Person)-[:FOLLOWS]->(b:Person)
RETURN a.name AS follower, b.name AS following;

上述查询将返回所有有向的 "FOLLOWS" 关系,以及关系的起始节点(follower)和结束节点(following)。

无向关系查询:

如果你希望查询无方向的关系,可以使用无方向的箭头 --:
MATCH (a:Person)--(b:Person)
RETURN a.name, b.name;

这将返回所有与节点 a 和节点 b 相关联的关系,而不考虑关系的方向。

方向关系在实际应用中可以用于表示多种关系,如社交网络中的关注关系、导航路径中的箭头方向等。


转载请注明出处:http://www.zyzy.cn/article/detail/9299/Neo4j