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 如何找到所有具有N个单一类型关系的节点?_Neo4j_Cypher - Fatal编程技术网

Neo4j 如何找到所有具有N个单一类型关系的节点?

Neo4j 如何找到所有具有N个单一类型关系的节点?,neo4j,cypher,Neo4j,Cypher,我有一些节点A通过关系rel连接到节点B。我将写什么查询来通过关系rel返回与恰好3 A或恰好4 A或正好n A相关的所有B?我通过使用以下匹配子句实现了这一点: MATCH (a1:A)<-[:rel]-(b:B)-[:rel]->(a2:A) 匹配(a1:A)(a2:A) 我还需要知道哪个3A连接到该B,因为我需要计算该组3A的出现次数,您可以通过以下方式进行聚合: Upd:如果需要返回连接到(:B)的节点,请尝试使用和函数: 您可以通过以下方式进行聚合: Upd:如果需要返

我有一些节点A通过关系rel连接到节点B。我将写什么查询来通过关系rel返回与恰好3 A或恰好4 A或正好n A相关的所有B?我通过使用以下匹配子句实现了这一点:

MATCH (a1:A)<-[:rel]-(b:B)-[:rel]->(a2:A)
匹配(a1:A)(a2:A)
我还需要知道哪个3A连接到该B,因为我需要计算该组3A的出现次数,您可以通过以下方式进行聚合:

Upd:如果需要返回连接到(:B)的节点,请尝试使用和函数:

您可以通过以下方式进行聚合:

Upd:如果需要返回连接到(:B)的节点,请尝试使用和函数:


我想可以短一点

MATCH (b:B)
WHERE size((b)-[:rel]->(:A)) = 3
RETURN b,[(b)-[:rel]->(a:A) | a ] AS nds

我想可以短一点

MATCH (b:B)
WHERE size((b)-[:rel]->(:A)) = 3
RETURN b,[(b)-[:rel]->(a:A) | a ] AS nds

这也可以用来返回连接到B的A的3个节点是什么?就像B和a1,a2,a3一样,它们是A的节点,因为我实际上想通过a1,a2,a3组合对B的数量进行分组。其次A和B不是变量。我想你想写的是a和B,这也可以用来返回a和B连接的3个节点是什么?就像B和a1,a2,a3一样,它们是A的节点,因为我实际上想通过a1,a2,a3组合对B的数量进行分组。其次A和B不是变量。我想你想写的是a和b
MATCH (b:B)
WHERE size((b)-[:rel]->(:A)) = 3
RETURN b,[(b)-[:rel]->(a:A) | a ] AS nds