首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ne4j- GraphML工具导入shell失败

使用ne4j- GraphML工具导入shell失败
EN

Stack Overflow用户
提问于 2013-09-28 00:01:36
回答 1查看 892关注 0票数 1

当运行来自https://github.com/jexp/neo4j-shell-tools的工具时,它不会加载我在http://validator.w3.org/check上验证过的graphml文件。

Neo4j在装有OpenJDK IcedTea 2.3.9的KDE下的Ubuntu上运行

下面是命令和消息:

代码语言:javascript
复制
neo4j-sh (0)$ import-graphml -i /home/larsj/Prosjekt/neograf/bigram_graph.xml -t bigram
GraphML-Import file /home/larsj/Prosjekt/neograf/bigram_graph.xml 
rel-type bigram batch-size 40000 use disk-cache false
0. 100%: nodes = 1 rels = 0 properties = 0 time 6 ms
null

怎样才能让它工作呢?下面是我的graphml文件的一个片段:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">

<key id = "form0" for = "node" attr.name = "label" attr.type = "string"/>
<key id = "freq0" for = "all" attr.name = "frequency" attr.type = "int"/>
<key id = "mi0" for = "edge" attr.name = "mi" attr.type = "float"/>
<key id = "label0" for = "edge" attr.name = "label" attr.type = "string">
   <default>bigram</default>
</key><graph id="nb.no/bigrams" edgedefault="directed">    <node id="1512655">
    <data key = "form0">barn</data>
    <data key = "freq0">526136</data>
</node>
<node id="1781558">
    <data key = "form0">fattige</data>
    <data key = "freq0">49089</data>
</node>
<edge  source = "2305969" target = "3070510">
    <data key = "freq0">86421</data>
    <data key = "mi0">71.57629973392675</data>
</edge>
<edge  source = "3070510" target = "3070510">
    <data key = "freq0">22</data>
    <data key = "mi0">-9.818479721124337</data>
</edge>

EN

回答 1

Stack Overflow用户

发布于 2014-04-08 02:33:25

neo4j外壳工具的import-graphml命令的一个缺陷是确保每个键在文档的图形标记之前都有一个键id。shell-tools将不会导入具有未在key id部分中定义的key的任何节点或边。看不到整个文件,可能是节点/边属性没有定义的XML键ID。

要检查键ID是否不匹配,可以使用名为XML Tools的Notepad++插件。安装完成后,进入Plugins > XML Tools > Validate。它将显示一个对话框,其中包含未定义的任何密钥It。

只要"data“字段中的每个属性都在"graph”标记之前定义了一个键ID,import命令就会起作用。在Neo4j外壳工具控制台中键入以下内容:

import-graphml -i [name of input graphml file]

如果希望在从Neo4j导出到GraphML时包含这些密钥in,请在shell-tools控制台中使用以下命令。当转储数据库,然后将其加载回Neo4j的格式时,它很有用:

$ export-graphml -o [name of output graphml file] -t

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19055257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档