トリプルストア
From Wikipedia, the free encyclopedia
トリプルストア(triplestore)、別称 RDF ストアとは目的指向型のデータベースであり[1]、意味論型のクエリを介してトリプルの保存と取り出しを行う[2][3]。 トリプルというデータ項目は3要素つまり「主語–述語–目的語」で構成される。英文であれば「ボブの歳を年数で表すと35である」という意味に対して「Bob is 35」と述べる。または「Bob knows Fred」も一例となる。
問い合わせ言語を用いて情報を保存もしくは取り出すトリプルストアは、データベースの特徴が関係データベースと類似し、前者では後者と異なりトリプルを取り扱うように特化している。クエリに加え、 リソース記述フレームワーク(RDF=Resource Description Framework)その他のフォーマットを採用してトリプルを扱う。
トリプルストアとしてまとめた中には、当初からデータベース・エンジンとして開発したものがあり、その他に既存の商用関係データベース・エンジン(SQL基盤など[4])、あるいはNoSQL エンジンなど文書型データベース(英語版)[5]を基盤に構築したものがある。たとえばトリプルストア開発の初期段階では、オンラインの分析型処理「OLAP」データベースの開発初期段階に似て、プログラミングの労力は大規模で強力なデータベース・エンジン構築にほとんど費やしていない[6]。
トリプルストアをSQL上に実装しようとすると「トリプル」の「格納」はできても、それ以外に固有の難しさがある。SQLクエリはSPARQLからマッピングするなど、グラフベースのRDFモデルへの効率的なクエリ実装が困難[7]。
関連するデータベースの種別
トリプルに名称(name)を加えると数字の「4」に由来する「クアッドストア」もしくは名前付きグラフ(named graph)ができる。
トリプルストアよりも汎用的な構造を備えるものを「グラフデータベース」(英語版 graph database)と呼び、データの表現と格納に用いるグラフ構造にはノード、エッジ、属性が含まれる。このデータベースではインデックス参照は不要で、要素ごとにそれぞれ隣接する要素への直接的なポインタが含まれていて、インデックス無用の隣接性を提供する。
汎用グラフデータベースはあらゆるグラフを格納でき、特殊なグラフデータベースであるトリプルストアやネットワーク型データベースなどとは異なる。