GRAPHML ファイル形式とは?
.graphml ファイルは、学術コンソーシアム(コンスタンツ大学、ウィーン工科大学、ブラウン大学)によって開発され、2001年に初めて公開された標準的な .xml ベースの形式で、グラフデータ(ノードとエッジのネットワーク)を保存します。ネットワーク科学、社会ネットワーク分析、バイオインフォマティクス、およびグラフデータベースで広く使用されています。
構造は単純です。<graphml> ルート要素(名前空間 http://graphml.graphdrawing.org/graphml)に、型付き属性スキーマを定義するオプションの <key> 宣言が含まれ、その後に1つ以上の <graph> 要素が続きます。各 <graph> は <node> と <edge> 要素を保持し、どちらも属性値を付加するために <data key="..."> 子要素を持つことができます。有向、無向、混合、ハイパーグラフ、および入れ子状の階層グラフ構造がすべてサポートされています。
GraphML はデータ交換形式であり、視覚的な図表作成ツールではありません。グラフのトポロジと属性のみをエンコードします。視覚的な座標やスタイリングは、拡張属性(例:yEd エディタで使用される y:Geometry 属性)を介してオプションで追加できます。.graphmlz バリアントは、gzip 圧縮された .graphml ファイルです。
.graphml は非圧縮の XML であるため、任意のテキストエディタで内容を確認できます。分析と視覚化には、Gephi(オープンソースのネットワーク分析ツール)と yEd Graph Editor が最も一般的なツールです。Python の networkx、Java の JGraphT、R の igraph ライブラリはすべて、ネイティブで .graphml の読み書きをサポートしています。関連する形式には、Gephi でネイティブに使用される .gexf があります。
セキュリティと安全性
リスク: LOW.graphml ファイルはプレーンな XML データであり、コードを実行することはできません。開いても安全です。非常に大きなグラフファイル(数百 MB)は、Gephi や yEd で大量の RAM を消費する可能性があります(大規模な社会ネットワークでは数 GB)。大きなファイルを開く場合は JVM のメモリ制限を設定してください。GraphML 形式ではスクリプトやマクロは使用できません。
形式の詳細
概要GRAPHML ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルのエンコーディング | プレーン XML テキスト、UTF-8 |
| ルート要素 | <graphml>(XML 名前空間 http://graphml.graphdrawing.org/graphml) |
| ノード要素 | <node id="..."> - ID はドキュメント内で一意である必要があります |
| エッジ要素 | <edge source="..." target="..."> - 親の <graph edgedefault="..."> 属性に従い、有向または無向となります |
| 属性スキーマ | <key> 宣言により、ノード、エッジ、またはグラフにスコープされた型付き属性(string, int, double, boolean, long, float)を定義します |
| 属性値 | <data key="..."> 子要素により、宣言された属性値を個々のノードまたはエッジに付加します |
| サポートされるグラフの種類 | 有向、無向、混合、ハイパーグラフ、および入れ子/階層グラフ |
| 圧縮バリアント | .graphmlz - gzip 圧縮された .graphml ファイル。圧縮された GraphML グラフの標準的な拡張子です |
| バイナリシグネチャ | なし - オプションの <?xml 宣言の後に <graphml で始まります |
| 一般的なファイルサイズ | 1 KB(小規模なテストグラフ)から 500 MB 以上(大規模な社会ネットワークや生物学的ネットワーク) |
| MIME タイプ | application/xml(非公式には application/graphml+xml も使用されます) |
| 視覚的レイアウト | 基本仕様にはエンコードされていません。yEd 拡張機能により、オプションのレイアウトデータとして y:Geometry および y:NodeLabel 属性が追加されます |
| XML スキーマの場所 | http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd |
| リリース日 | 2001 (initial GraphML specification published) |
| 最新バージョン | GraphML 1.1 (spec stable; no significant changes since ~2007) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | graphml.graphdrawing.org |
GRAPHML の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。GRAPHML ファイルについて最初の質問をしてみましょう。