Neo4j Cypher——对“的限制”;在;查询中的子句
我正在处理一个cypher查询,获取路径中存在的节点,因此我们提供了路径中预期的开始节点和节点列表,预期结果是所提供列表中的节点 您能否建议Neo4j中in子句的限制是多少,就像sql中的限制是2100一样 查询示例: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
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)