我的图由多个相互断开的“子图”组成。这些子图由与给定关系类型连接的节点组成。
我想获取(例如)包含至少一个具有属性“名称”等于“约翰”的节点的子图列表。
这相当于为每个具有此属性的子图查找一个节点。
一种解决方案是找到所有具有此属性的节点并遍历此列表以仅选择未连接到先前选择的节点的节点。但这会很丑而且很重。有没有一种优雅的方法可以用 Cypher 做到这一点?
我正在尝试沿着这个方向做一些事情,但到目前为止没有成功:
START source=node:user('name:"John"')
MATCH source-[r?:KNOWS*]-target
WHERE r is null
RETURN source