Neo4j - 不在查询中

标签 neo4j cypher graph-databases

我的图形模式是 (actors)-[:ACTED_IN]->(movies) .

我知道如何找到与特定 Actor 合作过的 Actor ,如下所示:

MATCH (actor {name:"Tom Hanks"} )-[:ACTED_IN]->(movies)<-[:ACTED_IN]-(costars) return distinct costars;

我知道如何找到所有在某部电影中工作过的 Actor : MATCH (all_actor)-[:ACTED_IN]->(movies) return distinct all_actor;

但是我不知道如何找到所有不在配音 Actor 中的 Actor 。我该怎么办?

最佳答案

由于您想从全局参与者列表中扣除共同参与者,这不是最好的图形查询,这里有一些建议。

// Max de Marzi
MATCH (actor:Actor {name:"Tom Hanks"})-[:ACTED_IN]->(movie), (other:Actor)
WHERE NOT (movie)<-[:ACTED_IN]-(other)
RETURN other

// Wes Freeman
MATCH (actor:Actor {name:"Tom Hanks"}), (other:Actor)
WHERE NOT (actor)-[:ACTED_IN]->()<-[:ACTED_IN]-(other)
RETURN other


// Michael Hunger
MATCH (actor:Actor {name:"Tom Hanks"} )-[:ACTED_IN]->(movies)<-[:ACTED_IN]-(coactor)
WITH collect(distinct coactor) as coactors
MATCH (actor:Actor)
WHERE NOT actor IN coactors
RETURN actor

关于Neo4j - 不在查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21185463/

相关文章:

neo4j - 如何向现有节点neo4j cypher添加属性?

neo4j - 返回每个子节点之一的 Cypher 查询

Neo4J ClientError.Statement.SyntaxError

python - 在不使用模型的情况下在 Bulbflow 中进行选择性索引

indexing - Neo4j 可扩展性和索引

Neo4j - 如何在节点上显示属性,以便在浏览器中轻松识别?

java - 在 Titan Graph 中查找连接组件的有效方法是什么

neo4j - 如何在 Neo4j 2.0.0M5 中通过标签创建和检索节点

java - 将社交网络数据加载到 Neo4J 中

Neo4j - 图数据科学库 - 如何对图目录中的命名图进行密码查询?