我正在使用neo4jrestclient和python。 我想检查两个节点是否有特定的关系。
例如
alice = gdb.nodes.create(name="Alice", age=30)
bob = gdb.nodes.create(name="Bob", age=25)
alice.labels.add("Person")
bob.labels.add("Person")
alice.relationships.create("Knows", bob)
如何检查Alice是否与Bob有“知情”关系? 我试图从documentation找到一些没有运气的东西。
答案 0 :(得分:1)
有很多方法可以做到这一点。我在下面展示了两个:
使用标准neo4jrestclient
的API,这可能不是最有效的:
bob in [rel.end for rel in alice.relationships.all(types=['Knows'])]
或仅考虑来自alice
bob in [rel.end for rel in alice.relationships.outgoing(types=['Knows'])]
通过Cypher查询
from neo4jrestclient.client import Node
cypher = "MATCH (a)-[Knows]-(b) WHERE a.name = 'Alice' AND b.name = 'Bob' RETURN b"
gdb.query(query, returns=Node)[0][0] == bob