トリプルストアまたはRDFストアは、意味クエリによるトリプル[ 1 ]の保存と取得のために特別に構築されたデータベースです。トリプルは、「ボブは35歳です」(つまり、ボブの年齢は35歳です)や「ボブはフレッドを知っています」のように、主語-述語-目的語で構成されるデータエンティティです。
リレーショナルデータベースと同様に、トリプルストア内の情報はクエリ言語を介して保存および取得されます。SPARQLは、RDFデータをクエリするためのW3C標準化クエリ言語であり、活発にメンテナンスされているほとんどのRDFトリプルストアで実装されています。リレーショナルデータベースとは異なり、トリプルストアはトリプルの保存と取得に最適化されています。クエリに加えて、トリプルは通常、リソース記述フレームワーク(RDF)やその他の形式を使用してインポートおよびエクスポートできます。
トリプルストアの中には、データベース エンジンとしてゼロから構築されたものもあれば、既存の商用リレーショナル データベース エンジン ( SQLベースなど) [ 2 ]や NoSQLドキュメント指向データベースエンジン[ 3 ]の上に構築されたものもあります。オンライン分析処理(OLAP) データベースの初期開発と同様に、この中間的なアプローチにより、トリプルストア開発の初期段階では、少ないプログラミング作業で大規模で強力なデータベース エンジンを構築することができました。SQL 上でトリプルストアを実装する際の難点は、「トリプル」を「格納」することはできますが、グラフ ベースの RDF モデル ( SPARQLからのマッピングなど) を SQL クエリに効率的にクエリする実装が難しいことです。[ 4 ]
トリプルに名前を追加すると、「クワッドストア」または名前付きグラフが作成されます。
グラフデータベースは、ノード、エッジ、プロパティを持つグラフ構造を用いてデータを表現・格納するため、トリプルストアよりも汎用的な構造を持つ。グラフデータベースとトリプルストアは、データモデル、クエリ言語、典型的なユースケースにおいて異なる。トリプルストアは、RDFデータの格納とクエリに特化している。