2017-05-31 97 views
0

我试图创建一个约两千七百万个关系以及一千五百万个节点,最初我使用Cypher,但它花费了很多时间,所以我切换了neo4j-import工具实用程序。Cypher查询相当于neo4j-import

我不知道密码查询的结果是否与neo4j-import的结果相同。

我的Cypher查询是:

load csv from "file://dataframe6.txt" as line fieldterminator" " 
MERGE (A :concept{name:line[0]}) 
WITH line, A 
MERGE (B :concept{name:line[1]}) 
WITH B,A 
MERGE (A)-[:test]->(B); 

含量dataframe6:

C0000005,C0036775,RB_ 
C0000039,C0000039,SY_sort_version_of 
C0000039,C0000039,SY_entry_version_of 
C0000039,C0000039,SY_permuted_term_of 
C0000039,C0001555,AQ_ 
C0000039,C0001688,AQ_ 

我的Neo4j导入脚本:

neo4j-import --into graph.db --nodes:concept "nheader,MRREL-nodes" --relationships "rheader,MRREL-relations" --skip-duplicate-node true 

rheader:START_ID,:END_ID,:TYPE

nheader:: ID,姓名

MRREL节点:

C0000005,C0000005 
C0000039,C0000039 
C0000052,C0000052 
C0036775,C0036775 
C0001555,C0001555 

MRREL-关系

C0000005,C0036775,RB_ 
C0000039,C0000039,SY_sort_version_of 
C0000039,C0000039,SY_entry_version_of 
C0000039,C0000039,SY_permuted_term_of 
C0000039,C0001555,AQ_ 
C0000039,C0001688,AQ_ 

不知怎的,我没有看到相同的结果

回答

2

将帖子

  1. 如果你想让你的关系有动力那么您需要更改您的Cypher代码,以便使用line[2]来指定关系类型(例如,通过APOC程序apoc.create.relationship)。目前总是使用test作为类型。

  2. 如果您确实希望neo4j-import导入的所有关系具有相同的test类型,那么您需要使用right syntax

    尝试删除 “:TYPE” 从rheader,并使用此导入命令行(--relationships已改为--relationships:test):

    neo4j-import --into graph.db --nodes:concept "nheader,MRREL-nodes" --relationships:test "rheader,MRREL-relations" --skip-duplicate-node true 
    
+0

是的,我知道,但我真正感兴趣创建具有相同标签和属性的节点 – gaurav1207

+0

在我更新的答案中尝试选项2。 – cybersam