トリプルストア(triplestore)、別称 RDF ストアとは目的指向型のデータベースであり、を介しての保存と取り出しを行う – SKOS「SWADヨーロッパ」(2002年–2004年)の申請論文。。 トリプルというデータ項目は3要素つまり「主語–述語–目的語」で構成される。英文であれば「ボブの歳を年数で表すと35である」という意味に対して「Bob is 35」と述べる。または「Bob knows Fred」も一例となる。
問い合わせ言語を用いて情報を保存もしくは取り出すトリプルストアは、データベースの特徴が関係データベースと類似し、前者では後者と異なりトリプルを取り扱うように特化している。クエリに加え、 リソース記述フレームワーク(RDF=Resource Description Framework)その他のフォーマットを採用してトリプルを扱う。
実装 トリプルストアとしてまとめた中には、当初からデータベース・エンジンとして開発したものがあり、その他に既存の商用関係データベース・エンジン(SQL基盤などアメリカ合衆国特許出願「Storage and management of semi-structured data」出願者:Andrew, Peter。内容は「RDFトリプルストアとしてSQL関係型データベースを応用」。)、あるいはNoSQL エンジンなど文書型データベース(英語版)を基盤に構築したものがある。たとえばトリプルストア開発の初期段階では、オンラインの分析型処理「OLAP」データベースの開発初期段階に似て、プログラミングの労力は大規模で強力なデータベース・エンジン構築にほとんど費やしていない。
トリプルストアをSQL上に実装しようとすると「トリプル」の「格納」はできても、それ以外に固有の難しさがある。SQLクエリはSPARQLからマッピングするなど、グラフベースのRDFモデルへの効率的なクエリ実装が困難。
関連するデータベースの種別 トリプルに名称(name)を加えると数字の「4」に由来する「クアッドストア」もしくは名前付きグラフ(named graph)ができる。
トリプルストアよりも汎用的な構造を備えるものを「グラフデータベース」(英語版 graph database)と呼び、データの表現と格納に用いるグラフ構造にはノード、エッジ、属性が含まれる。このデータベースではインデックス参照は不要で、要素ごとにそれぞれ隣接する要素への直接的なポインタが含まれていて、インデックス無用の隣接性を提供する。
汎用グラフデータベースはあらゆるグラフを格納でき、特殊なグラフデータベースであるトリプルストアやネットワーク型データベースなどとは異なる。
脚注
関連項目 データのモデル化に同様の取り組みをするもの 意味論メディアウィキ – ウィキのうち「主語・述語・目的語」に対応する意味論を基盤とする(英語版)。高度なクエリに対応、多くの大規模組織による実装の例がある。 実体関連モデル –
以下は50音順。
SPARQL – W3C 仕様で主語-述語-目的語のトリプルを格納。 SPARQLの実装一覧(英語版) 意味論的統合(英語版 Semantic integration) –「クラス-属性-値」。クラスもしくは属性としてのトリプル各要素。 はじめの2要素は構造メタデータであり定義済みの意味を備える。 3番目の要素は値で、可能な限りいずれか統制語彙から取得すると望ましい。 – データベース類の概要(英語版)
関連資料
外部リンク W3C SPARQL 1.1 アップデート - W3C 推奨(2013年3月21時点) SPARQL クエリ言語 SPARQL 作業グループ - w3.org 旧称は RDF データアクセス作業グループ SPARQL プロトコル 大規模トリプルストアの一覧- esw.w3.org その他 リーハイ大学ベンチマーク- リーハイ大学(LUBM) RDF データベース類とその他のNoSQL ソリューションの相違- DataGraph の公式サイト掲載のブログ