人々は、リソース記述フレームワーク (RDF) をスキーマレス データ モデルと見なしています。ただし、RDF スキーマ (RDFS) と呼ばれるものがあります。では、なぜ RDF はスキーマレス データ モデルなのでしょうか?
3 に答える
RDF スキーマの名前が多少間違っています。これは、少なくとも XML スキーマや ER モデルがスキーマであるという意味では、実際のスキーマ言語ではありません。
主な違いは次のとおりです: スキーマは規範的です: スキーマはデータがとらなければならない正確な形式を規定します: この列が存在する必要があります, これは省略できます, これは他の何かとこの特定の関係を持たなければなりません, など.スキーマに完全に準拠していない (何かを除外するか、スキーマにない追加の列/要素/属性を使用することにより) は、自動的に無効と見なされます (リレーショナル データベースは、スキーマを持たないデータを挿入しようとするとエラーになります)挿入したいテーブルの正しい列数など)。
一方、RDFスキーマは、より正確には「語彙記述言語」と呼ぶべきです。それは本質的に記述的です。言い換えれば、データの語彙を定義する手段を提供します (「これらのクラスとリレーションが存在し、これがそれらを結び付ける方法です」) が、データがそのスキーマに準拠することを強制するものではありません。特定のRDFスキーマの一部を使用し、他の部分を使用しないRDFデータセットを持つこと、または他のスキーマの他の語彙(またはRDFスキーマで明示的に定義されていない語彙さえも)をさらに使用するRDFデータセットを持つこと。
RDF の唯一の利点はスキーマレスであるということで、私はモデリング フレームワークとしての RDF について話しているのです。リンクされたデータ スタックを構成する多くの語彙、オントロジー、およびツールは「RDF」ではありませんが、RDF によって促進されます。これらは、分散型の Web のような方法で Web 上のデータを操作する際に不可欠ですが、RDF が機能する必要はありません。
一方、RDF Schemaは RDF の語彙を提供します。
RDF を検証するために特定のボキャブラリーのみを使用するとすぐに、それはもはやスキーマレスではないように思えます。その点では XML に似ています。スキーマなしで使用できますが、ほとんどの人は使用しません。