19

Neo4J データベース ファイルを XML に変換できますか?

4

4 に答える 4

21

XML の冗長性に問題がなければ、GraphML が最適です。これを行う簡単な方法は、Gremlinから Neo4j グラフを開くことです。ここで、GraphML はデフォルトのインポート/エクスポート形式です。

ピーターズ: ./gremlin.sh

グレムリン> $_g := neo4j:open('/tmp/neo4j')
==>ネオグラフ[/tmp/neo4j、頂点:2、エッジ:1]
グレムリン> g:save('graphml-export.xml')

ここに記載されているように

それはあなたの問題を解決しますか?

于 2010-02-05T08:19:20.910 に答える
20

ブループリントを使用するには、次のようにします。

Graph graph = new Neo4jGraph("/tmp/mygraph");
GraphMLWriter.outputGraph(graph, new FileOutputStream("mygraph.xml"));

または、Gremlin(背面でも同じことを行います)を使用します。

g = new Neo4jGraph('/tmp/mygraph');
g.saveGraphML('mygraph.xml');

最後に、Neo4jGraphのコンストラクターに、GraphDatabaseServiceインスタンスを渡すこともできます。

于 2011-11-21T16:07:44.373 に答える
2

数か月前にそれをいじったときではなく、これについては何も存在しないと思います。私が見たところ、主な障害が 2 つあります。

  1. XML は階層的であるため、この形式ではグラフ データを簡単に表現できません。
  2. ノードの明示的な ID の欠如。暗黙の ID が存在する場合でも、インポート/エクスポートのために Oracle で ROWID を使用するようなものです...同じであるとは限りません。

これにはGraphMLが適切な形式であると示唆する人もいますが、私も同意する傾向があります。グラフィカルな構造がなく、XML/階層形式で問題なく表現できる場合は、運が悪いだけです。この種の拡張タスクに取り組むユーザーの大部分は、そのように保存されないデータを使用しているため、XML ソリューションが出てくるとは思えません...すべての用途をサポートするフォーマットが最初に登場する可能性が高くなります。

于 2010-02-05T01:46:53.210 に答える