Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher:在WHERE子句中查找与数组节点属性的精确匹配_Neo4j_Cypher - Fatal编程技术网

Neo4j Cypher:在WHERE子句中查找与数组节点属性的精确匹配

Neo4j Cypher:在WHERE子句中查找与数组节点属性的精确匹配,neo4j,cypher,Neo4j,Cypher,给定一个具有数组属性的Neo4J节点,如何创建一个Cypher查询以仅返回与数组文本匹配的节点 我使用控制台创建了一个名为“list”的具有数组属性的节点: 但是,如果给定与数组文字匹配的WHERE子句,则我的查询不会返回刚刚创建的节点: neo4j-sh (0)$ start n=node(1) where n.list=[1,2,3] return n; ==> +---+ ==> | n | ==> +---+ ==> +---+ ==> 0 row ==&g

给定一个具有数组属性的Neo4J节点,如何创建一个Cypher查询以仅返回与数组文本匹配的节点

我使用控制台创建了一个名为“list”的具有数组属性的节点:

但是,如果给定与数组文字匹配的WHERE子句,则我的查询不会返回刚刚创建的节点:

neo4j-sh (0)$ start n=node(1) where n.list=[1,2,3] return n;
==> +---+
==> | n |
==> +---+
==> +---+
==> 0 row
==> 0 ms

完全有可能我误用了密码。任何关于在Cypher中进行精确数组属性匹配的提示都会有所帮助。

您使用的是哪一版本的Neo4j

在1.8M07中,您的代码同样适用于我

更新:
我通过web客户端在本地安装时得到了相同的结果(没有结果)。可能是web客户端问题?

控制台总是运行最新的Neoj4快照版本。该版本引用了密码语法parswer,我们将更清楚地指出:)

现在,Cypher中的数组处理已经有了一些修正,请参见,哪些可能是使控制台工作的原因。这已在1.8.M07之后合并,因此为了使其在本地工作,请下载最新的1.8.-快照之一,从GITHUB构建它,或者等待即将到期的1.8.M08


/peter

我在问题中显示的结果来自Neo4j社区1.8M07,它在本地运行服务器和Web客户端。我确实看到查询在您的链接中显示了预期的结果。你怎么知道console.neo4j.org运行的是1.8M07?这让人费解。console.neo4j.org中的版本被标记为当前版本,我认为这意味着M07。它也适用于控制台应用程序的“1.8”和“1.7”(而不是“1.6”)。我在本地的1.8M06和1.8M07上试过,得到了相同的结果。。。也许会有更熟悉的人加入进来。我在Clojure中对我的本地服务器运行Neocons的Cypher也会得到同样的结果,这样就在某种程度上排除了web客户端的问题(尽管他们可能都使用REST)。非常奇怪,它在web应用程序上工作,我也找不到任何关于Cypher中数组文本的文档。
neo4j-sh (0)$ start n=node(1) where n.list=[1,2,3] return n;
==> +---+
==> | n |
==> +---+
==> +---+
==> 0 row
==> 0 ms