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>
<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 リソースであるため、rdf:Description の代わりに rdfs:Class を使用し、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>
<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>
これだけです!
その他の拡張