如何在LOAD CSV中设置关系类型和标签?

时间:2014-07-21 17:53:40

标签: csv neo4j

我有一个现有节点的数据库,并希望从CSV文件添加其他关系,如下所示:

stype,sname,sver,rel,dtype,dname,dver
A,aname,1.1,FRIEND,A,bname,2.2
B,bbb,1.2,ENEMY,A,bname,2.2

我的LOAD CSV看起来像这样。目的是匹配两个现有节点,然后与CSV中的值链接:

LOAD CSV WITH HEADERS FROM "file:///c:/workspace/neo/demo.csv" as line
MATCH (s:line.stype {name:line.sname,version:line.sver}),
      (d:line.dtype {name:line.dname,version:line.dver})
CREATE (s)-[:line.rel}]->(d)
RETURN COUNT(*);

当我尝试设置标签或关系类型时出现此错误:

Invalid input '.': expected an identifier character, whitespace, NodeLabel, a property map, ')' or a relationship pattern (line 2, column 14)
"MATCH (s:line.stype {name:line.sname,version:line.sver}),"

支持吗?

1 个答案:

答案 0 :(得分:0)

不支持参数化良好的标签。

在您的情况下,您可以添加一个WHERE语句,指定所需MATCH的标签:

MATCH (s {name:line.sname,version:line.sver}), (d {name:line.dname,version:line.dver})
WHERE line.stype IN labels(s) AND line.dtype IN labels(d)

干杯,

克里斯