Neo4j查询不在查询中的电影数据库 Neo4j - NOT IN query
MATCH (actor:Actor {name:"Tom Hanks"} )-[:ACTED_IN]->(movies)<-[:ACTED_IN]-(coactor)
WITH collect(distinct coactor) as coactors
MATCH (actor:Actor)
WHERE actor NOT IN coactors
RETURN actor
运行此查询时出错:
无效的输入&#39; N&#39;:预期的空白,评论,节点标签,MapLiteral,参数,关系模式,&#39;(&#39;,&#39;。&#39; ,&#39; [&#39;,&#34; =〜&#34;,IN,STARTS,ENDS,CONTAINS,IS,&#39; ^&#39;,&#39; *&#39 ;,&#39; /&#39;,&#39;%&#39;,&#39; +&#39;,&#39; - &#39;,&#39; =&#39 ;,&#34;&lt;&gt;&#34;,&#34;!=&#34;,&#39;&lt;&#39;,&#39;&gt;&#39;,&# 34;&lt; =&#34;,&#34;&gt; =&#34;,AND,XOR,OR,LOAD CSV,START,MATCH,UNWIND,MERGE,CREATE,SET,DELETE,REMOVE,FOREACH,WITH ,RETURN,UNION,&#39 ;;&#39;或输入结束(第4行,第13栏(偏移:160)) &#34;演员不在演员&#34;
答案 0 :(得分:2)
我相信他们的示例查询中存在一个小错误。
WHERE actor NOT IN ...
是不正确的语法(虽然我不介意Cypher更新允许它)。它应该是
WHERE NOT actor IN ...
答案 1 :(得分:0)
InverseFalcon有正确的答案,但请注意,解析器会准确告诉您错误的位置:第4行,第13列。
WHERE actor NOT IN coactors
^
它还会告诉您此时可以预期的内容(包括IN
),并且不包含NOT
。