我试图加速这个查询:
LOAD CSV FROM 'file:///path/to/file' AS line
MATCH (n:Organization{rc:'2051061'})-[:Ap]->(a:Person{numDc: toint(line[1])})
CREATE (a)-[:Af]->(n)CSV有大约100 k行,不同a/b对之间的关系(n:Organization)-[:Ap]->(a:Person)是唯一的。有标签:Organization的节点数为50个,:Person节点数为200 k。
因此,基本上,我在csv中取一个值,并检查与给定rc (2051061)有关系的人( :Ap )是否有这个值作为numDc,然后在人和组织之间添加另一个关系。
我的查询运行太慢,我甚至将索引添加到:Person(numDc)和Organization(rc)中。
因此,我认为,由于我匹配的组织每一行,这可能是问题。
如果我知道该节点是< id >,那么如何立即匹配它。
提前谢谢。
发布于 2015-11-06 20:06:05
最好使用自己的唯一标识符,而不是节点id。因为您不能依赖ID.nodeid基本上是地址节点在文件中有节点记录。
您可以向csv文件中添加唯一的id并将其导入数据库。
或者可以使用GraphAware UUID模块动态创建UUID - https://github.com/graphaware/neo4j-uuid。
https://stackoverflow.com/questions/33574660
复制相似问题