質問の主題が尋ねるように、2つは同じものですか? それらは互換性がありますか?そうでない場合は、違いを説明するか、例を挙げて説明してください。
3 に答える
RDF コンセプト仕様 (RDF 1.1 ドラフト版)から引用するには:
抽象構文のコア構造は、主語、述語、および目的語で構成されるトリプルの集合です。… RDF トリプルのアサーションは、述語によって示される何らかの関係が、主語と目的語によって示されるリソースの間に成立することを示しています。RDF トリプルに対応するこのステートメントは、RDF ステートメントとして知られています。
つまり、主語、述語、目的語からなる抽象的な構造を「トリプル」と呼びます。トリプルは、IRI、空白ノード、および/またはリテラルで構成されます。各トリプルは、世界に関する主張または事実を表しています。つまり、2 つのものが互いに何らかの関係にあることを示しています。世界についてのこの主張は、トリプルにエンコードされた「ステートメント」です。
というわけで、厳密には違いがあります。しかし、それは非常に微妙な違いであり、多くの場合、これらの用語は同じ意味で使用されています。
はい、RDF では、ステートメントは基本的にトリプル(または3 タプル) と同じです。
ただし、ステートメントの記述と呼ばれる別の概念があります。その場合、トリプルが異なるエンティティ (XML エンティティではなく人/組織など) によって記述される可能性があるという事実を考慮する必要があります。このようなコンテキストでは、トリプル (主語、述語、目的語) は一意ではなく、誰がそれを述べるかに応じて異なる方法で説明する必要があります。
主題全体はやや気が遠くなるようなものです。RDF Interest メーリング リストのスレッドの要約を読むことをお勧めします(軽食を持ってきてください)。要するに、RDF 自体のセマンティック記述です。
要約すると、すべてはtripleの意味に依存します。それが抽象的な概念であろうと、それを実際に述べていることであろうと。それが最初のケースであれば、トリプルとステートメントは交換可能であると想定しても安全だと思います。そしてほとんどの場合、RDF を使用する場合、これが最初のケースです。
以前、Jena Java コードの Statement と Triple の違い (または同様に Node と RDFNode の違い) について頭を悩ませているときに、Jena メーリング リストで何かに出くわし、それについてブログを書きました。メーリングリストの要点は次のとおりです。
Model/Statement/RDFNode (API) はアプリケーション インターフェイスとして機能しますが、ストレージの抽象化には適していないことがわかりました。また、Graph/Triple/Node (SPI) は、規則性がより重要な場合にうまく機能します。つまり、アプリケーション向けの設計をサブシステム向けの設計から分離しました。