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——对“的限制”;在;查询中的子句_Neo4j_Cypher - Fatal编程技术网

Neo4j Cypher——对“的限制”;在;查询中的子句

Neo4j Cypher——对“的限制”;在;查询中的子句,neo4j,cypher,Neo4j,Cypher,我正在处理一个cypher查询,获取路径中存在的节点,因此我们提供了路径中预期的开始节点和节点列表,预期结果是所提供列表中的节点 您能否建议Neo4j中in子句的限制是多少,就像sql中的限制是2100一样 查询示例: MATCH (n:person{key:2529962, ownBy:0}) MATCH path = n<-[:relation]-(c:Equipment) WHERE c.key in [1505697,2406945,2408297,2408531,241081

我正在处理一个cypher查询,获取路径中存在的节点,因此我们提供了路径中预期的开始节点和节点列表,预期结果是所提供列表中的节点

您能否建议Neo4j中in子句的限制是多少,就像sql中的限制是2100一样

查询示例:

MATCH (n:person{key:2529962, ownBy:0}) 
MATCH path = n<-[:relation]-(c:Equipment) 
WHERE c.key in [1505697,2406945,2408297,2408531,2410815,2413566,2415224,]
RETURN distinct EXTRACT (p in NODES(path)| p.key);
匹配(n:person{key:2529962,ownBy:0})

MATCH path=n我不确定集合的限制是什么,但我可以轻松创建100000,返回范围(1100000)为largeCollection

但是,获取这些节点的更好方法是将集合展开成行,然后在节点上使用这些键进行匹配:

// better to parameterize this, when you get the chance
WITH [1505697,2406945,2408297,2408531,2410815,2413566,2415224] as equipKeys
MATCH (n:person{key:2529962, ownBy:0})
UNWIND equipKeys as equipKey
MATCH (c:Equipment{key:equipKey}) 
MATCH path = (n)<-[:relation]-(c) 
RETURN distinct EXTRACT (p in NODES(path)| p.key);
//如果有机会,最好将其参数化
以[1505697240694524082972408531241081524135662415224]作为密钥
匹配(n:person{key:2529962,ownBy:0})
将equipKey作为equipKey展开
匹配(c:Equipment{key:Equipmkey})

匹配路径=(n)我不确定集合的限制是什么,但我可以轻松创建100000,返回范围(1100000)为largeCollection

但是,获取这些节点的更好方法是将集合展开成行,然后在节点上使用这些键进行匹配:

// better to parameterize this, when you get the chance
WITH [1505697,2406945,2408297,2408531,2410815,2413566,2415224] as equipKeys
MATCH (n:person{key:2529962, ownBy:0})
UNWIND equipKeys as equipKey
MATCH (c:Equipment{key:equipKey}) 
MATCH path = (n)<-[:relation]-(c) 
RETURN distinct EXTRACT (p in NODES(path)| p.key);
//如果有机会,最好将其参数化
以[1505697240694524082972408531241081524135662415224]作为密钥
匹配(n:person{key:2529962,ownBy:0})
将equipKey作为equipKey展开
匹配(c:Equipment{key:Equipmkey})
匹配路径=(n)您可以轻松测试它:

UNWIND RANGE(0,6) as p
WITH toInt(10^p) as maxx
WITH maxx, RANGE(1,maxx) as testArray
RETURN maxx, size(testArray), maxx IN testArray, (maxx+1) IN testArray
您可以轻松测试它:

UNWIND RANGE(0,6) as p
WITH toInt(10^p) as maxx
WITH maxx, RANGE(1,maxx) as testArray
RETURN maxx, size(testArray), maxx IN testArray, (maxx+1) IN testArray

感谢它的帮助。在我的用例中,我希望结果作为密钥出现在路径中,直到第n级,因此使用上面的查询将是:“使用[1505697240694524082972408531241081524135662415224]作为equipKeys匹配(n:person{key:2529962,ownBy:0})作为equipKey匹配(c:Equipment{key:equipKey})展开equipKeys=(n)感谢它的帮助。在我的用例中,我希望结果作为密钥出现在路径中,直到第n级,因此使用上面的查询将是:“使用[1505697240694524082972408531241081524135662415224]作为equipKeys匹配(n:person{key:2529962,ownBy:0})作为equipKey匹配(c:Equipment{key:equipKey})展开equipKeys=(n)