トリプルストアを使用するということは、3つの列と7つのインデックスを持つテーブルを持つデータベースを使用することを意味しますか?つまり、トリプルストアを使用することは、常にそのリレーショナルモデルと関係がありますか?
3 に答える
http://en.wikipedia.org/wiki/Triplestoreから:
トリプルストアは、Resource Description Framework(RDF)メタデータの保管と取得のための専用データベースです。
高性能トリプルストアは非リレーショナルモデルを使用しているようです。
一部のトリプルストアは、データベースエンジンとしてゼロから構築されていますが、他のトリプルストアは、既存の商用リレーショナルデータベースエンジン(つまり、SQLベース)の上に構築されています。4 OLAPデータベースの初期の開発と同様に、この中間的なアプローチにより、トリプルストア開発の初期段階でプログラミングの労力をほとんどかけずに、大規模で強力なデータベースエンジンを構築できました。長期的には、ネイティブトリプルストアがパフォーマンスに有利になる可能性があります。SQL上でトリプルストアを実装することの難しさは、「トリプル」は「保存」されるかもしれませんが、グラフベースのRDFモデルの効率的なクエリ(つまり、SPARQLからのマッピング)をSQLクエリに実装することは難しいことです。5
必ずしも。バックエンドとして他のRDBMSシステムに依存するトリプルストアがあります。この場合の例は、Jena / SDB、3store、またはVirtuosoです。
4store、Jena / TDB、BigDataなど、RDFデータモデルによりよく対応するようにカスタマイズされた独自のネイティブ永続モデルを実装するものもあります。これらはより適切にスケーリングする傾向があります。
概念的には、はい-トリプルは、主語、述語、目的語との二項関係です(例:<JohnSmith--marriedTo->JillSmith>)。
通常のRDBMSの場合とは異なり、トリプルストアではより高いアリティ関係は不可能です(ただし、複数のトリプルを使用してそれらを偽造することはできます)。
ただし、以前の回答で述べられているように、実装は異なります。
ほとんどのトリプルストアは実際にはクワッドを格納するため、トリプルをサブセットにグループ化できます(RDF用語では「名前付きグラフ」)。
インデックスはもちろんオプションですが、通常は何らかの形で存在します。これも、クワッドに対応するように変更されることがよくあります。