0
Neo4j中有一种方法可以使用cypher或gremlin来返回它们之间具有一组公共节点的节点列表吗?通过一组公共节点连接的返回节点
一个例子是
Person1-[KNOWS]->Friend1
Person1-[KNOWS]->Friend2
Person1-[KNOWS]->Friend3
Person2-[HATES]->Friend2
Person2-[HATES]->Friend3
我要开始为Person1
,说:“找我,谁恨所有我认识的人的人”,这应该返回Person2
因为Person1
知道Friend2,Friend3
和Person2
恨Friend2,Friend3
。
我已经找到了连接开始,
START
person=node(1)
MATCH
person-[KNOWS]->friend<-[HATES]-enemy
RETURN
enemy
,但我似乎无法找到一种方式来表达它使得人有恨各界朋友。
这可以在Cypher中完成吗?
这是近乎完美。不幸的是,它不会返回正确的结果,因为'r1'是'KNOWS'关系,'r2'是'HATES'关系。 – Nicholas
这并不重要,因为讨厌所有朋友的人必须具有相同数量(数量)的HATE类型的关系类型知识。因此,比较计数(r1)和计数(r2)应该是一个合适的等式。 – ulkas