我在neo4j(2V)
中有两组不同的标签CREATE ( p1:pharma { name: "Magnesium", id: 12 } )
CREATE ( p2:pharma { name: "Hyoscine Butylbromide", id: 22 } )
CREATE ( p3:pharma { name: "Propantheline Bromide", id: 23 } );
CREATE ( i1:ind { id: 1, name: 'Dyspepsia', pdfk: '12'})
CREATE ( i2:ind { id: 5, name: 'Symptomic relief of intestinal disorder', pdfk: '22'})
CREATE ( i3:ind { id: 6, name: 'Symptomic relief of disorder', pdfk: '22'})
CREATE ( i4:ind { id: 7, name: 'Bowel colic', review: 'False', pdfk: '23'});
我的关系代码对于来自两组标签
的单个节点看起来像这些MATCH (a:pharma),(b:ind)
WHERE a.id = 12 AND b.id = 1
CREATE (a)-[:has_ind]->(b)
我想知道如何将其写为其他节点的批量查询?提前谢谢。
我在BEGIN COMMIT中使用带有上面代码的import.txt文件,然后我使用以下代码从命令提示符创建数据库
neo4jshell -path C:\progra~1\neo4j-community-2.0.0\data\drug11.db -config C:\progra~1\neo4j-community-2.0.0\conf\neo4j.properties -file C:\Users\admin\Downloads\import.txt
节点将被创建但不是关系?
答案 0 :(得分:1)
Create ( p1:pharma { name: "Magnesium", id: 12 } )-[:has_ind]->( i1:ind { id: 1, name: 'Dyspepsia', pdfk: '12'})
我觉得应该工作吗?
答案 1 :(得分:0)
您可以一次发出一个查询(您使用的是什么API?)
MATCH (a:pharma {id:12}),(b:ind {id:1})
CREATE (a)-[:has_ind]->(b)
使用参数会更快:
MATCH (a:pharma {id:{pharma_id}}),(b:ind {id:{ind_id}})
CREATE (a)-[:has_ind]->(b)
然后使用params:{"pharma_id":12,"ind_id":1}
等。