RDF Schema (RDFS)

RDF Schema (RDFS)はRDFの拡張です。

RDF Schemaとアプリケーションのクラス

RDFはクラス、属性、値を通じてリソースを説明します。

また、RDFはアプリケーション専用のクラスや属性を定義する方法を必要とします。アプリケーション専用のクラスや属性は、RDFの拡張を使用して定義する必要があります。

RDF Schemaはこのような拡張です。

RDF Schema (RDFS)

RDF Schemaは、実際のアプリケーション専用のクラスや属性を提供しません。代わりに、アプリケーション専用のクラスや属性を説明するフレームワークを提供しています。

RDF Schemaのクラスは、面向オブジェクトプログラミング言語のクラスと非常に似ています。これにより、リソースがクラスのインスタンスとして、またクラスのサブクラスとして定義されることができます。

RDFSインスタンス

以下の例は、RDFSの能力の一部を示しています:

<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
  <rdf:type 
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
  <rdf:type
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>

上記の例では、リソース "horse" はクラス "animal" のサブクラスです。

簡略化された例

RDFS クラスは RDF リソースであるため、rdfs:Class を使用して rdf:Description を置き換え、rdf:type 情報を削除することで、上記の例を簡略化できます:

<?xml version="1.0"?>
<rdf:RDF 
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>

それだけのことです!