使用Neo4jImport.bat时,如何在Neo4J中为节点添加多个标签

时间:2015-07-22 21:08:06

标签: neo4j

我正在使用Neo4jImport.bat来执行我的初始数据库加载。我有一个如下所示的节点文件:

application_id:ID(application_id),:LABEL
2036983247,application_id
2037028183,application_id

我想(有时)在其中一些行中添加第二个:suspect标签。例如:

application_id:ID(application_id),:LABEL
2036983247,"application_id,suspect"
2037028183,application_id

使用上述格式,文件将成功加载,但是,当我尝试使用cypher查询数据时,我会遇到问题。具体来说,以下查询返回0结果:

match (n:application_id {application_id:"2036983247"}) return *
match (n:suspect) return *

虽然针对具有单个标签的行的查询工作正常:

match (n:application_id {application_id:"2037028183"}) return *

为了让它更加混乱,labels()函数似乎正确地显示了在具有多个标签的应用程序的数组中返回的标签。

根据标签上的the import documentation

  

LABEL       从该字段中读取一个或多个标签。对于多个标签,值由数组分隔符分隔。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

每个:LABEL列中可以有多个标签,由--array-delimiter指定的内容分隔(默认为&#39 ;;')。另外,正如Robert所提到的,还支持多个:LABEL列。

答案 1 :(得分:2)

要向节点添加其他标签,只需为要添加的每个其他标签添加其他:LABEL标题列。

application_id:ID(application_id),:LABEL,:LABEL

在文件的内容中,然后使用您正在使用的分隔符分隔标签:

2036983247,application_id,suspect
2037028183,application_id

与属性不同,导入工具似乎允许:LABEL列“缺失”(至少如果它们是最后一列)。