0

我有两组节点在 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

将创建节点但不会创建关系?

4

2 回答 2

1
Create ( p1:pharma { name: "Magnesium", id: 12 } )-[:has_ind]->( i1:ind { id: 1, name: 'Dyspepsia',  pdfk: '12'})

我认为应该工作吗?

于 2014-01-14T12:39:28.277 回答
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)

然后使用参数:{"pharma_id":12,"ind_id":1}

于 2014-01-15T00:46:22.203 回答