将GraphML导入Neo4j:如何指定节点标签?

时间:2014-04-06 16:34:11

标签: neo4j graphml

我想将GraphML数据导入Neo4j数据库(版本2.0.1)。问题是,如何在GraphML中指定Neo4j节点标签?

我尝试了以下内容无济于事:

<!--This format is used when exporting Neo4j data to GraphML-->
<node id="1" labels=":PAGE">
    <data key="labels">:PAGE</data>
</node>

那么,我应该如何格式化我的XML,以便Neo4j可以识别节点标签?

2 个答案:

答案 0 :(得分:2)

不幸的是,我无法找到有关导入行为的任何文档。所以我发明了一种解决方法。

我使用以下节点结构将GraphML数据集导入Neo4j:

<node id="1">
    <!--This code doesn't really force Neo4j to create PAGE label-->
    <data key="label">PAGE</data>
</node>

然后我执行了以下Cypher命令:

MATCH (n)
WHERE n.label='PAGE'
SET n :PAGE

之后,Neo4j将PAGE标签应用于与搜索条件匹配的每个节点。

目前,这种解决方法对我来说是可以接受的。最好找到真正的解决方案(如果有的话)。

答案 1 :(得分:2)

可以使用-t命令的import-graphml开关导入节点标签。

neo4j-sh (?)$ help import-graphml

[...]
-t   Import labels from labels node attribute and/or labels property.