RDFスキーマ

RDF Schema
Resource Description Framework Schema
ステータス W3C勧告
開始年 1999年1月5日(27年前) (1999-01-05)
初版 2002年4月30日(24年前) (2002-04-30)
最新版 1.1(勧告)

RDFスキーマ(るふじすきーま、英: RDF Schema)は、RDFの拡張可能な知識表現データモデルを使用して、特定のプロパティを持つクラスの集合であり、オントロジーを記述するための基本要素を提供する。

最初のバージョンは1998年4月にWorld Wide Web Consortium(W3C)によって公開され、最終的なW3C勧告は2014年2月にリリースされた。多くのRDFSコンポーネントは、より表現力の高いWeb Ontology Language(OWL)に含まれている。

用語

RDFSの構成要素はRDFSクラス、関連プロパティ、およびRDFのボキャブラリ上に構築されたユーティリティプロパティである。

クラス

rdfs:Resource
すべてのクラスを表す。RDFで記述されるすべてのものはリソースである。
rdfs:Class
rdfs:Classはリソースを他のリソースのためのクラスとして宣言する。

rdfs:Classの典型的な例は、Friend of a Friend(FOAF)ボキャブラリのfoaf:Personである。foaf:Personのインスタンスとは、rdf:typeプロパティを使用してクラスfoaf:Personに結びついているリソースのことで、自然言語の文「ジョンは人間である」を形式的に表現した以下の例のようなものである。

ex:John       rdf:type        foaf:Person

rdfs:Classの定義は再帰的である。rdfs:Classはクラスのクラスであり、自分自身のインスタンスである。

rdfs:Class    rdf:type        rdfs:Class

RDFおよびRDFS仕様が記述するその他のクラスは以下の通りである。

rdfs:Literal
文字列や整数などのリテラル値。テキスト文字列などのプロパティ値はRDFリテラルの例である。リテラルはプレーンまたは型付きのいずれかである。
rdfs:Datatype
データ型のクラス。rdfs:Datatypeはrdfs:Classのインスタンスかつサブクラスの両方である。rdfs:Datatypeの各インスタンスはrdfs:Literalのサブクラスである。
rdf:XMLLiteral
XMLリテラル値のクラス。rdf:XMLLiteralはrdfs:Datatypeのインスタンスである(したがってrdfs:Literalのサブクラス)。
rdf:Property
プロパティのクラス。

プロパティ

プロパティはrdf:Propertyクラスのインスタンスであり、主語リソースと目的語リソースの間の関係を記述する。そのように使用される場合、プロパティは述語である(RDF:リファイケーションも参照)。

rdfs:domain
rdf:Propertyのrdfs:domainは、そのプロパティが述語であるトリプル内の主語のクラスを宣言する。
rdfs:range
rdf:Propertyのrdfs:rangeは、そのプロパティが述語であるトリプル内の目的語のクラスまたはデータ型を宣言する。

例えば、以下の宣言はプロパティex:employerがfoaf:Person型の主語をfoaf:Organization型の目的語に関連付けることを表すために使用される。

ex:employer	  rdfs:domain  	  foaf:Person
ex:employer	  rdfs:range	  foaf:Organization

前の2つの宣言を前提として、次のトリプルから:

ex:John		  ex:employer	  ex:CompanyX

ex:Johnがfoaf:Personであり、ex:CompanyXがfoaf:Organizationであることが推論(または導出)できる。

rdf:type
リソースがクラスのインスタンスであることを述べるために使用されるプロパティ。このプロパティの一般的に受け入れられているQName(英語版)は「a」である。
rdfs:subClassOf
:クラスの階層を宣言できる。

例えば、以下は「すべての人間はエージェントである」と宣言する。

foaf:Person	  rdfs:subClassOf	  foaf:Agent

クラスの階層はプロパティのドメインとレンジの継承(次のセクションの定義を参照)をクラスからサブクラスへとサポートする。

rdfs:subPropertyOf
あるプロパティで関連するすべてのリソースが別のプロパティでも関連することを述べるために使用されるrdf:Propertyのインスタンス。
rdfs:label
リソースの名前の人間可読バージョンを提供するために使用できるrdf:Propertyのインスタンス。
rdfs:comment
リソースの人間可読な説明を提供するために使用できるrdf:Propertyのインスタンス。

ユーティリティプロパティ

rdfs:seeAlso
主語リソースに関する追加情報を提供できるリソースを示すために使用されるrdf:Propertyのインスタンス。
rdfs:isDefinedBy
主語リソースを定義するリソースを示すために使用されるrdf:Propertyのインスタンス。このプロパティはリソースが記述されているRDFボキャブラリを示すために使用できる。

RDFSの含意

含意(エンテイルメント)レジームは、グラフ内のトリプルが論理的に矛盾しているかどうかを定義する。RDFSの含意はあまり制限的でなく、グラフ内でどのような文が有効かを制限するルール量が(例えばOWLと比べて)少ない。一方で、グラフで機械解釈可能な方法で表現できるセマンティクスがかなり限られているという意味で、あまり表現力も高くない。

以下はRDFSの含意の機能と制限の簡単な例である。以下の明示的なトリプルを含むグラフから始める:

foo:SomeGiraffe rdf:type bar:Animal.
foo:SomeElephant rdf:type bar:Elephant.
foo:SomeZoo rdf:type bar:Zoo.
bar:livesInZoo rdfs:domain bar:Animal.
bar:livesInZoo rdfs:range bar:Zoo.
foo:SomeElephant bar:livesInZoo foo:SomeZoo.

RDFSの含意による推論を有効にしないと、持っているデータからはfoo:SomeElephantがbar:Animalかどうかわからない。RDFSベースの推論を行うと、以下の追加トリプルが得られる:

foo:SomeElephant rdf:type bar:Animal.

rdfs:domain文は、bar:livesInZooが述語であるトリプルの主語はすべてbar:Animal型であることを規定する。RDFSの含意で分からないのはbar:Animalとbar:Elephantの関係である。推論によりfoo:SomeElephantはbar:Animalでもbar:Elephantでもあることがわかるので、これらのクラスは交差するが、単に交差するだけか、等しいか、またはサブクラス関係にあるかを推論する情報はない。

RDFS 1.1では、ドメインとレンジの文は正式な意味を持たず、その解釈は実装者に委ねられる。一方、1.2ワーキングドラフトでは個人の型を推論するための含意ルールとして使用される。それでも両バージョンで、レンジの期待される機能は「プロパティの値は1つ以上のクラスのインスタンスである」、ドメインは「特定のプロパティを持つリソースは1つ以上のクラスのインスタンスである」と明確に述べられている。

上記の例はRDFS含意の制限と機能の一部を示したが、論理的不整合(一般の言葉では「バリデーションエラー」と解釈できる)の例は示さなかった。論理的不整合とはトリプルが表す文が矛盾し、相互に矛盾する状態を表現しようとすることを意味する。RDFSにおける例としては、推論が有効な場合にオブジェクトに対して競合するデータ型を持つこと(例えばリソースをxsd:integer型として宣言し、同時にxsd:booleanと宣言するなど)が挙げられる。

RDFボキャブラリの例

RDFSで表現されるRDFボキャブラリには次のものが含まれる:

関連項目

参考文献

  1. 1 2 “Resource Description Framework (RDF) Schemas”. W3C. RDF Schema Working Group (1998年4月9日). 2021年4月23日閲覧。
  2. ↑ “XML and Semantic Web W3C Standards Timeline-History” (2012年3月21日). 2013年4月24日時点のオリジナルよりアーカイブ。2021年4月23日閲覧。
  3. 1 2 “RDF Schema 1.1”. W3C. RDF Working Group (2014年2月25日). 2021年4月23日閲覧。
  4. ↑ “Chapter 3: RDF Schema”. csee.umbc.edu. UMBC's Department of Computer Science and Electrical Engineering (2017年). 2021年4月24日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
  5. ↑ “XML: Looking at the Forest Instead of the Trees § 7.1. Triples in RDF/XML”. Université de Montréal (2002年). 2021年1月14日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
  6. ↑ “RDF Meta Model and Schema”. Cornell University (2008年3月31日). 2019年7月12日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
  7. 1 2 “FOAF Vocabulary Specification 0.99”. xmlns.com. The FOAF Project (2014年1月14日). 2021年4月23日閲覧。
  8. ↑ DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States: O'Reilly Media. p. 36. ISBN 9781449306595
  9. 1 2 “RDF 1.1 Primer”. W3C. RDF Working Group (2014年6月24日). 2021年4月23日閲覧。
  10. ↑ “RDF 1.2 Semantics”. 2026年8月17日閲覧。
  11. ↑ Dublin Core Metadata Initiative (2020年1月20日). “DCMI: DCMI Metadata expressed in RDF Schema Language”. dublincore.org. 2021年4月23日閲覧。
  12. ↑ Schema.org (n.d.). “Schema.org core schema”. schema.org. 2020年5月10日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
  13. ↑ “Informatively redirect accesses to retired file schema_org_rdfa.html · Issue #2656 · schemaorg/schemaorg”. GitHub (2020年7月17日). 2021年4月24日閲覧。
  14. ↑ “SKOS XL Vocabulary” (2009年8月18日). 2020年2月27日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
  15. ↑ Library of Congress (n.d.). “MADS/RDF Primer”. Library of Congress. 2021年4月24日閲覧。
  16. ↑ UniProt (n.d.). “UniProt RDF schema ontology”. UniProt. 2021年4月24日閲覧。

外部リンク