27.1.5 XMLファイル形式

Graph ML

グラフ・サーバー(PGX)では、XMLベースのGraph ML形式を使用したファイルからのグラフのロードがサポートされています。すでにメモリー内にあるグラフもGraphMLファイルにエクスポートできます。XMLスキーマの詳細な説明は、GraphMLの仕様を参照してください。

PGXにおけるGraphMLの制限

PGXでは、GraphML形式のすべての機能がサポートされているわけではありません。次のようないくつかの制限があります。

  • グラフが無向である(edgedefault="undirected")場合、エッジ・プロパティはサポートされていません
  • 頂点(エッジ)はすべて、同じ数と型の頂点(エッジ)プロパティを持つ必要があります
  • portdefaultおよびhyperedgeはサポートされていません

例27-6

次のグラフの例は、3つの頂点と3つのエッジで構成されています。各頂点にはnumberという名前の整数プロパティがあり、各エッジにはlabelという名前の文字列プロパティがあります。エッジが有向であること、およびプロパティの文字列を(二重)引用符で囲む必要がないことに注意してください。

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
    <key attr.name="number" attr.type="integer" for="node" id="number"/>
    <key attr.name="label" attr.type="string" for="edge" id="label"/>
    <graph edgedefault="directed">
        <node id="1">
            <data key="number">2</data>
        </node>
        <node id="2">
            <data key="number">45</data>
        </node>
        <node id="3">
            <data key="number">83</data>
        </node>
        <edge target="2" source="1">
            <data key="label">this graph</data>
        </edge>
        <edge source="3" target="2">
            <data key="label">forms a</data>
        </edge>
        <edge target="1" source="3">
            <data key="label">triangle</data>
        </edge>
    </graph>
</graphml>

注意:

XMLの冗長な性質により、GraphML形式では、他のファイルベースのグラフ形式と比較してオーバーヘッドが大きくなります。ロードまたは格納のパフォーマンスとファイル・サイズを重要な要素として考慮する場合は、別の形式を使用する必要があります。