neo4j - 无休止的查询

时间:2016-05-23 21:20:34

标签: neo4j cypher py2neo

我有一个与neo4j和bulkimport有关的问题。 我写了一个密码查询,它不起作用,并且需要很多时间才能崩溃。 我通过py2neo插入此语句。其他声明工作正常。 "的

$i=1

的" 我的数据库崩溃了这个java错误:"超出gc开销限制"。 当我手动搜索节点时,我得到一个MATCH 任何Sugestions?

最诚挚的问候 弗兰克

1 个答案:

答案 0 :(得分:1)

在下文中,我假设您问题中的typea实际上应为Typea

为了尽量减少MATCH条款所需的时间和资源(可能还会解决GC错误),请确保您有created indexes

CREATE INDEX ON :Typea(hash);
CREATE INDEX ON :Typeb(index);

[增订]

此外,您可能只是尝试创建大量关系。此查询将显示您尝试创建的关系数量:

MATCH (own:Typea {hash:"a"}), (:Typea {hash:"b"})-[:CRED]->(o:Typeb{index:0})
RETURN COUNT(*);

如果结果非常大,您可以迭代地调用以下查询(一次只创建1000个CRED关系),直到查询返回小于1000的值:

MATCH (own:Typea {hash:"a"}), (:Typea {hash:"b"})-[:CRED]->(o:Typeb{index:0})
WHERE NOT (o)-[:SPAN]->(own)
WITH o, own
LIMIT 1000
CREATE (o)-[:SPAN]->(own)
RETURN COUNT(*);

您可以根据需要调整1000限制。