GraphML (.graphml)

予備知識

    • GraphMLグラフデータ形式.
    • グラフの標準交換.
    • GraphMLはGraph Markup Languageから派生した頭字語である.
    • XMLベースの形式.
    • 型付き,属性付き,有向・無向グラフを表す.
    • ネストしたグラフ,ハイパーグラフも保管できる.
    • ユーザ定義の辺,頂点のタイプをサポートする.
    • 2001年にGraphML開発グループにより提案された.

ImportとExport

  • Import["file.graphml"]は指定のファイルに保管された,単独のGraphオブジェクトあるいはグラフのリストとして与えられたグラフをインポートする.
  • Export["file.graphml",expr]は1つまたは複数のグラフの隣接行列あるいは辺情報をGraphML形式にエキスポートする.
  • Import["file.graphml",elem]は指定された要素をGraphMLファイルからインポートする.
  • Import["file.graphml",{elem,suba,subb,}]は子要素をインポートする.
  • Import["file.graphml",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポートの形式はImport["file","GraphML"]あるいはImport["file",{"GraphML",elem,}]で指定することができる.
  • Export["file.graphml",expr,elem]expr が要素 elem を指定するものとして扱って,GraphMLファイルを作成する.
  • Export["file.graphml",{expr1,expr2,},{{elem1,elem2,}}]はそれぞれの expri が対応する elemi を指定するものとして扱う.
  • Export["file.graphml",expr,opt1->val1,]は指定されたオプションの要素が指定された値を取るものとして expr をエキスポートする.
  • Export["file.graphml",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートされるべき要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport 要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "AdjacencyMatrix"辺情報(行列のリストとして与えられる)
    "EdgeAttributes"辺属性(規則のリストとして表示される)
    "EdgeLabels"辺ラベルを表す文字列のリスト
    "EdgeRules"すべてのグラフの結合性データ(規則の配列として与えられる)
    "Graph"ファイルに保管された最初のグラフ(Graphオブジェクトとして与えられる)
    "Graphics"このファイルに保持された最初のグラフ(グラフプロットとして描画される)
    "GraphicsList"グラフィックスオブジェクトのリストとして与えられる全グラフ
    "GraphList"Graphオブジェクトのリストとして与えられる,ファイルに保管された全グラフ
    "VertexAttributes"頂点の属性(規則のリストとして表示される)
    "VertexCount"それぞれのグラフの頂点の数(整数のリストとして与えられる)
    "VertexList"頂点(文字列のリストとして与えられる)
  • Importは単純なGraphMLファイルには"Graph"を,複数のグラフのGraphMLファイルには"GraphList"をデフォルトで使用する.
  • 複数のグラフを含むGraphMLファイルの要素指定:
  • "GraphNames"文字列のリストで与えられるグラフ名
    elem,"name""name"で指定されるグラフの要素 elem
    elem,nこのファイルの n 番目のグラフのデータ表現要素 elem
    elem,{n1,n2,}グラフ n1, n2, の要素 elem
    elem,Allリストで与えられる,全グラフに対する要素 elem

オプション

例題

すべて開くすべて閉じる

  (7)

GraphMLファイルからグラフをインポートする:

GraphオブジェクトをGraphMLにエキスポートする:

グラフデータをGraphMLにエキスポートする:

エキスポートされたファイルからグラフをインポートする:

例題ファイルで利用可能なImport要素を示す:

このファイルから辺と頂点のラベルと連結規則をインポートする:

Graphオブジェクトとしてインポートする:

例題ファイルの辺の属性をインポートする:

スコープ  (1)

グラフをインポートし,頂点ラベルを表示してプロットする: