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 聚合节点和关系_Neo4j_Cypher - Fatal编程技术网

Neo4j 聚合节点和关系

Neo4j 聚合节点和关系,neo4j,cypher,Neo4j,Cypher,我想对数据库中节点和关系上存在的属性执行检查。有没有办法将它们全部聚合为实体,然后对实体执行检查,而不是执行三个单独的检查 我目前拥有的是: MATCH (n1)-[r]-(n2) WHERE (myConditions) WITH n1, r, n2 WHERE n1.property=1 AND r.property=1 AND n2.property=1 RETURN * MATCH (n1)-[r]-(n2) WHERE (myConditions) WITH n1, r, n

我想对数据库中节点和关系上存在的属性执行检查。有没有办法将它们全部聚合为实体,然后对实体执行检查,而不是执行三个单独的检查

我目前拥有的是:

MATCH (n1)-[r]-(n2) WHERE (myConditions) 
WITH n1, r, n2 
WHERE n1.property=1 AND r.property=1 AND n2.property=1 
RETURN *
MATCH (n1)-[r]-(n2) WHERE (myConditions) 
WITH n1, r, n2 AS entity
WHERE entity.property=1 
RETURN *
我要找的是:

MATCH (n1)-[r]-(n2) WHERE (myConditions) 
WITH n1, r, n2 
WHERE n1.property=1 AND r.property=1 AND n2.property=1 
RETURN *
MATCH (n1)-[r]-(n2) WHERE (myConditions) 
WITH n1, r, n2 AS entity
WHERE entity.property=1 
RETURN *
重要注意事项:存在具有两个以上节点和多个关系的查询。我希望聚合所有图形实体,然后执行单个检查


顺便说一句,如果“聚合”不是这种情况的正确术语,请随时纠正我。

您可以在路径中的所有节点和关系上使用诸如
all()
any()
none()
等谓词。您仍然需要分别检查节点和关系

MATCH path=(n1)-[r]-(n2)
WHERE (myConditions)
WITH path   
WHERE all(n in nodes(path) WHERE n.property = 1)
AND all(r in relationships(path) WHERE r.property = 1)
RETURN path

您可以在路径中的所有节点和关系上使用诸如
all()
any()
none()
等谓词。您仍然需要分别检查节点和关系

MATCH path=(n1)-[r]-(n2)
WHERE (myConditions)
WITH path   
WHERE all(n in nodes(path) WHERE n.property = 1)
AND all(r in relationships(path) WHERE r.property = 1)
RETURN path