我正在尝试编写一个查询,在与给定产品(第一个匹配)相关联的所有零件中,为通向特定零件号(第二个匹配)的所有构造路径探索DAG类型的图形(物料清单)。有一个奇怪的行为我不明白: 此查询使用Neo4j社区版(~2秒)在合理的时间内运行: WITH '12345' as snid, 'ABCDE' as pid
MATCH (m:Product {full_sn,我必须在第二个MATCH语句中使用部件号pid对子对象添加一个过滤器: MATCH path=(anc:Part)-[:has*]->(ch
我有一个具有250 m节点的Neo4J DB (社区版,v2.3.2),我需要运行一个查询,该查询将迭代所有节点并更新一个属性。这不是我例行查询的一部分,而是我必须运行的一次性维护任务。我可以很容易地用Cypher来表达它,但是看起来Neo4J试图在内存中保存所有节点,然后执行我的SET操作,导致它耗尽内存,更糟糕的是--将整个JVM放入一个恒定的GC循环中。我的Cypher查询是:
MATCH (n:MyNode)
r2:RELATION]->(n2), (n4)-[r4:RELATION]->(n3)MATCH p= (n:Person{pid:1})-[*0..]WHERE ALL(c IN nodes(p) WHERE 1=size(filter(d in nodes(p) where c.pid = d.pid)) ) 有人能看到这个查询出了什么问题吗