Graphlet (.gml)
予備知識
-
- Graphlet GMLグラフデータ形式.
- グラフの保管と交換に使われる.
- GMLはGraph Modeling Languageの頭字語である.
- Graphletグラフ編集ソフトウェアのネイティブ形式.
- 属性付きの有向・無向グラフを保管する.
- ユーザ定義のグラフ,辺,頂点属性を含むことができる.
- ASCII形式.
- 1995年に開発された.
ImportとExport
- Import["file.gml"]は指定のファイルに保管された,単独のGraphオブジェクトとして与えられたグラフをインポートする.
- Export["file.gml",expr]は1つのグラフの隣接行列または辺情報をGraphlet GML形式にエキスポートする.
- Import["file.gml",elem]はGraphlet GMLファイルから指定の要素をインポートする.
- Import["file.gml",{elem,suba,subb,…}]はサブ要素をインポートする.
- Import["file.gml",{{elem1,elem2,…}}]は複数の要素をインポートする.
- インポート形式はImport["file","Graphlet"]またはImport["file",{"Graphlet",elem,…}]で指定できる.
- Export["file.gml",expr,elem]は expr が要素 elem を指定するものとして扱って,Graphlet GMLファイルを作成する.
- Export["file.gml",{expr1,expr2,…},{{elem1,elem2,…}}]はそれぞれの expri が対応する elemi を指定するものとして扱う.
- Export["file.gml",expr,opt1->val1,…]は指定されたオプションの要素が指定された値を取るものとして expr をエキスポートする.
- Export["file.gml",{elem1->expr1,elem2->expr2,…},"Rules"]はエキスポートする要素を規則を使って指定する.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport 要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - データ表現要素:
-
"AdjacencyMatrix" 辺情報(行列として与えられる) "EdgeAttributes" 辺属性(規則のリストとして表示される) "EdgeRules" グラフの連結性データ(規則の配列として与えられる) "Graph" ファイルに保管されたグラフ(Graphオブジェクトとして与えられる) "GraphAttributes" グラフ属性(規則のリストとして表される) "Graphics" このファイルに保持されたグラフ(グラフプロットとして描画される) "VertexAttributes" 頂点の属性(規則のリストとして表示される) "VertexCount" グラフの頂点の数 "VertexList" 文字列のリストとして与えられる頂点 - ImportはGraphlet GMLからインポートする際に,デフォルトで"Graph"要素を使用する.
オプション
- 一般的なImportオプション:
-
ImageSize Automatic グラフを表示する画像の全体的な大きさを指定する - GMLからインポートする際は,Graphがサポートするすべてのオプションを与えることができる.一般的な設定を示す:
-
EdgeLabels Automatic 辺に対するラベルとラベルの配置 EdgeWeight Automatic 辺の重み VertexCoordinates Automatic 頂点に対する中心座標 VertexLabels Automatic 頂点に対するラベルとラベルの配置 VertexShape Automatic 頂点のグラフィックスの形状 - "Graphics"としてインポートする際は,GraphPlotがサポートするすべてのオプションを与えることができる.一般的な設定は次の通りである:
-
DirectedEdges Automatic 辺を有向矢印で示すかどうか EdgeLabels Automatic 辺に与えられたラベルを含むかどうか EdgeShapeFunction Automatic 辺に明示的なグラフィックスを与える関数 VertexLabels Automatic 頂点名をラベルとして示すかどうか VertexShapeFunction Automatic 頂点に明示的なグラフィックスを与える関数 - Exportオプション:
-
DirectedEdges Automatic エキスポートするデータが有向グラフを表すかどうか - 辺規則または対称隣接行列からエキスポートするとき,デフォルトでは辺は無向であるとされる.
- Graphオブジェクトをエキスポートする際,Wolfram言語のグラフ属性値はしばしばCompressを使って文字列としてエキスポートされる.
例題
すべて開くすべて閉じる例 (7)
Graphlet GMLからグラフをインポートし,Graphオブジェクトとして描画する:
GraphオブジェクトをGMLにエキスポートする:
上記例と同じグラフの非対称隣接行列をGMLにエキスポートする:
Graphlet GMLグラフの隣接行列表現をMatrixPlotとして描画する:
スコープ (5)
Sparse6ファイルに保管されている最初のグラフをGraphlet GMLファイルに変換する:
辺規則,および辺とグラフの属性のリストからGraphlet GMLファイルを生成する:
ラスタ画像をラベルとして持つGraphオブジェクトをエキスポートする: