【ぷろぱてぃぐらふ】
プロパティグラフ とは?
最終更新:
💡 ノードと関係の両方に、意味と属性を持たせる
ノードと関係にキー・値の属性を持たせ、つながりとデータを表すモデル。例えばNeo4jでは、ノードのラベル、関係の型と方向、両者のプロパティを使います。具体的な制約や操作言語は製品によって異なります。
📌 このページのポイント
プロパティグラフって何を表すの?
点にあたるノードと、それらを結ぶ関係に属性を持たせるよ。例えば人のnameと、購入という関係の数量。図ではAliceがBookを2冊購入したという架空の例で、両方にデータを付けられることを示すんだ。
ラベルや関係の型は同じもの?
矢印は何の向きなの?
テーブルより必ず速くなる?
必ずではないよ。関係をたどる形で表現できる一方、探索で広がる候補が多いと処理量も増える。データ量、索引、クエリや実装によるので、必要な処理で計測しよう。グラフというだけで何段先でも速いとは限らないんだ。
RDFとはどう違うの?
もっと詳しく知りたい人へ
すべてのグラフDBでCypherを使う?
操作言語や対応機能は製品によって異なります。Neo4jではCypherを使いますが、プロパティグラフというデータモデル名だけで同じ言語や構文が使えるとは判断できません。対象製品の仕様を確認します。
まとめ:ざっくりこれだけ覚えればOK!
「プロパティグラフ」って出てきたら「ノードと関係に属性を付けて、つながりを表すデータモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Property Graph」 = プロパティ付きグラフ
💬 Property(属性・特性)を持つGraph(グラフ=点と辺の集まり)という意味だよ。数学のグラフ理論をデータベース向けに拡張したモデルなんだ