我知道这可能是一个简单的问题,但我很难找到答案。
我想找到INTERESTED_IN
与{1}}相同Activities
的所有“人”,其身份为1且不是FRIENDS_WITH
人1
像
这样的东西MATCH (p:Person {Id:1})--[r:INTERSTED_IN]-->(a:Activity {name:Skiing})<--(f:Person)
RETURN f.name
可能是错的..
我认为这会发现每个人都有相同的关系,但我想确保他们不是朋友。
试图弄清楚密码并找不到任何好的例子。
答案 0 :(得分:2)
几乎得到了它!
MATCH (p:Person { id: 1 })-[r:INTERESTED_IN]->(a:Activity { name: 'Skiing' })<-[r2:INTERESTED_IN]-(f:Person)
WHERE NOT (p)-[:FRIENDS_WITH]-(f)
RETURN f.name
请注意,id
这里是属性,而不是内部节点ID。如果这是您正在寻找的内容,那么您就是这样做的:
MATCH (p:Person)-[r:INTERESTED_IN]->(a:Activity { name: 'Skiing' })<-[r2:INTERESTED_IN]-(f:Person)
WHERE ID(p) = 1 AND NOT (p)-[:FRIENDS_WITH]-(f)
RETURN f.name
它是&#34; cypher。&#34; ; - )