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中使用match({property})和WHERE子句的区别_Neo4j_Cypher - Fatal编程技术网

Neo4j 在Cypher中使用match({property})和WHERE子句的区别

Neo4j 在Cypher中使用match({property})和WHERE子句的区别,neo4j,cypher,Neo4j,Cypher,我注意到,match(a:plastice{name:'Cellery})返回一个,match(a:plastice),其中a.name='Cellery'返回一个给我相同的结果 两者之间有什么实际区别吗?当您知道属性值时,第一个表单似乎工作得很好,但是有没有办法使用通配符或类似条件?显示查询的执行计划 它们为两个查询显示完全相同的执行计划(在空数据库上) 因此,就性能而言,这两种符号应该完全相同 当您知道属性值时,第一种形式似乎工作得很好,但是有没有办法使用通配符或类似的条件 没错,其中为

我注意到,
match(a:plastice{name:'Cellery})返回一个
match(a:plastice),其中a.name='Cellery'返回一个
给我相同的结果

两者之间有什么实际区别吗?当您知道属性值时,第一个表单似乎工作得很好,但是有没有办法使用通配符或类似条件?

显示查询的执行计划

它们为两个查询显示完全相同的执行计划(在空数据库上)

因此,就性能而言,这两种符号应该完全相同

当您知道属性值时,第一种形式似乎工作得很好,但是有没有办法使用通配符或类似的条件

没错,
其中
为您提供了更大的灵活性。基本上,
MATCH
子句只允许您检查可写为
的等式,其中a.prop1=value1和a.prop2=value2和…
。同时,
其中
允许更多:检查不等式的
/
/
异或
逻辑运算符;使用
开头,
包含
和正则表达式结尾;检查节点类型,如
WHERE(a:SomeLabel)
,甚至检查匹配的变量是否是模式的一部分,如
WHERE NOT(a)-[:somerel]->(:SomeLabel)