2013-09-27 25 views
1

使用https://github.com/jexp/neo4j-shell-tools工具運行neo4j-shell時,它不會加載我的graphml文件,並在http://validator.w3.org/check上進行驗證。使用neo4j-shell工具導入GraphML失敗

的Neo4j在Ubuntu KDE下運行與OpenJDK的IcedTea項目2.3.9

這是命令和消息:

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文件的一個片段:

的Neo4j殼工具進口graphml命令
<?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> 

+0

的graphml文件加載到gephi(gephi.org),並顯示在那裏,所以應該沒事。 –

回答

0

一個缺陷,確保每個鍵有您的文檔的圖形標記之前密鑰ID。任何節點或邊緣有一個未在密鑰ID部分定義的密鑰將不會被shell-tools導入。沒有看到整個文件,可能是沒有定義的XML密鑰ID的節點/邊緣屬性。

要檢查是否有任何密鑰ID不匹配,請使用稱爲XML工具的Notepad ++ XML插件。安裝完成後,進入插件> XML工具>立即驗證。它將顯示一個對話框,其中包含任何未定義的密鑰ID。

只要「數據」字段中的每個屬性都具有在「圖形」標籤之前定義的密鑰ID,導入命令就可以工作。鍵入的Neo4j殼工具的控制檯以下:

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

如果要包括的Neo4j出口到GraphML當這些鑰匙ID,在shell工具控制檯使用此命令。你傾倒數據庫,然後加載回的Neo4j的格式時,這是非常有用:易

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