【とりぷるすとあ】

トリプルストア とは?

最終更新:
💡 主語・述語・目的語の関係を保存するDB

RDFの主語・述語・目的語という3つ組(トリプル)を保存・検索するデータベース。対象同士の関係や値をグラフとして扱い、SPARQLによる関係パターンの問い合わせなどに使う。

📌 このページのポイント
RDFのトリプル:関係を保存 主語 述語 目的語 会員A 所属 チームB チームB 部門 開発部 会員A 表示名 文字列「A」 矢印は主語から目的語への関係 トリプルを保存・検索 SPARQLで関係を問い合わせ
会員・組織の架空例。図は表示名で示し、実際のRDFではIRIやリテラルなどを使う。
ひよこ ひよこ
3つ組って何を並べるの?
ペンギン先生 ペンギン先生
たとえば「会員A・所属・チームB」だよ。主語は会員A、述語は所属という関係、目的語はチームB。RDFでは、対象の識別子や値を使ってこの関係を記述するんだ。
ひよこ ひよこ
人間向けの名前だけで保存するの?
ペンギン先生 ペンギン先生
RDFでは主語にIRIという識別子か空白ノード、述語にはIRIを使う。目的語はIRIや空白ノードに加え、文字列や数値などのリテラルでもいい。図の会員Aなどは読みやすくした表示名だよ。
ひよこ ひよこ
RDFはファイルの種類なの?
ペンギン先生 ペンギン先生
関係を表すデータモデルだよ。同じRDFデータをTurtleやJSON-LDなど複数の書式で表せる。トリプルストアは、そのデータを保存して問い合わせるためのものなんだ。
ひよこ ひよこ
関係をどうやって検索するの?
ペンギン先生 ペンギン先生
SPARQLでは「会員が所属するチーム」「そのチームの部門」のように、探したい関係のパターンを書くよ。データに合う組み合わせを探せる。実装の例にはApache JenaのTDB2があるんだ。
ひよこ ひよこ
関係を入れれば、すべて正しく推論してくれる?
ペンギン先生 ペンギン先生
推論するには規則や対応する仕組みが必要だよ。RDFを保存するだけで人間のように意味を理解するわけではないし、元のデータが誤っていれば結果も誤り得る。識別子や関係の意味をそろえることも大切なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「トリプルストア」って出てきたら「主語・述語・目的語の3つ組で関係を保存・検索するDB」と思えばだいたいOK!
📖 おまけ:英語の意味
「Triple Store」 = 3つ組格納庫
💬 Triple(3つ組)をStore(格納)するデータベースという意味だよ。RDFのデータ単位が3要素のトリプルだから、この名前になったんだ

参考資料

← 用語集にもどる