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 2.0.0.M05-标签对函数谓词的密码变化_Neo4j_Cypher - Fatal编程技术网

Neo4j 2.0.0.M05-标签对函数谓词的密码变化

Neo4j 2.0.0.M05-标签对函数谓词的密码变化,neo4j,cypher,Neo4j,Cypher,今天,我尝试将Neo4j更新为2.0.0.M05。在运行应用程序的测试之后,失败的是通过(多个)标签过滤节点 之前,我曾尝试使用(来源:): 失败并出现错误,您可以在此处看到: 作为解决方法,我使用了函数谓词并创建了查询: START node=node(*) WHERE ANY (label in labels(node) WHERE label IN ['mylabel']) RETURN node 这在2.0.0.M03和2.0.0.M04中起作用,但在2.0.0.M05中不起作用,错

今天,我尝试将
Neo4j
更新为
2.0.0.M05
。在运行应用程序的测试之后,失败的是通过(多个)标签过滤节点

之前,我曾尝试使用(来源:):

失败并出现错误,您可以在此处看到:

作为解决方法,我使用了函数谓词并创建了查询:

START node=node(*) 
WHERE ANY (label in labels(node) WHERE label IN ['mylabel'])
RETURN node
这在
2.0.0.M03
2.0.0.M04
中起作用,但在
2.0.0.M05
中不起作用,错误如下:

2.0.0.M05
I在变更日志中缺少任何突破性的更改?我一直在看,但没有注意到与此相关的任何变化


谢谢

是的,这似乎是一个文档问题。看起来他们删除了长的
标签
谓词形式

这样做的方法似乎是:

WHERE node:myLabel:myLabel2

如果您确实需要像现在这样与数组进行比较,那么您的解决方案似乎是合理的。尽管使用
节点(*)
似乎不是有效查找标记节点的最佳方法


如果您在密码查询前面加上
cypher legacy
,旧的解析器仍然可以访问,但在M05中它似乎也从那里删除了。

Tnx!所以,如果我正确理解文档,node:myLabel:myLabel2意味着node必须同时具有两个标签,而不是这两个标签中的任何一个。此外,在M03中,我的变通方法的解析速度比第二个示例(node:myLabel或node:myLabel2)快得多,这就是我使用它而不是第二个示例的原因。节点(*)只是一个示例。在我的例子中,总是有一个节点ID列表,所以我总是有一个节点(1,2,3)。在你看来,这是一个错误,应该报告吗?我向neo的人提到了文档问题,他们会解决的。如果您认为某个性能问题很严重,请随时报告
查询的性能问题。(是的,第一个是标签谓词的
)嗯,对于一个bug,我的意思是函数谓词(我问题中的第二个示例)不起作用。对于可能的性能问题,我将研究它,并查看它在M05中的行为。
WHERE node:myLabel:myLabel2
WHERE node:myLabel OR node:myLabel2