CYPHER,NEO4J返回由A类关系而不是B类关系连接的节点对

时间:2017-12-14 08:13:42

标签: database neo4j nosql cypher

我正在研究Neo4j教程的电影数据库。 我想做一个查询,返回指导电影但没有制作它的人。

为了实现这个目的,我使用了查询:

match (m:Movie)<-[:DIRECTED]-(p:Person)-[r]->(m) where type(r) <> 'PRODUCED' return p 

然而,如果我让它回归*我仍然会得到这些夫妻(人,电影),这个人不仅指导和制作电影,而且还写了:

In the image there is one of the not admissible couples that are returned by my query

相反,该查询似乎成功地排除了所有那些只有两种关系的夫妻“生产”##和&#39; DIRECTED&#39;。

有没有办法编写这个查询,以便我可以排除所有这些情侣呢?

1 个答案:

答案 0 :(得分:0)

You can use path pattern in WHERE:

match (m:Movie)<-[r:DIRECTED]-(p:Person) 
where not (p)-[:PRODUCED]->(m)
return m, p, r