RDF Schema
| Resource Description Framework Schema | |
| ステータス | W3C勧告 |
|---|---|
| 開始年 | 1999年1月5日 |
| 初版 | 2002年4月30日 |
| 最新版 | 1.1(勧告) |
RDFスキーマ(るふじすきーま、英: RDF Schema)は、RDFの拡張可能な知識表現データモデルを使用して、特定のプロパティを持つクラスの集合であり、オントロジーを記述するための基本要素を提供する。
最初のバージョン[1][2]は1998年4月にWorld Wide Web Consortium(W3C)によって公開され、最終的なW3C勧告は2014年2月にリリースされた[3]。多くのRDFSコンポーネントは、より表現力の高いWeb Ontology Language(OWL)に含まれている。
用語
RDFSの構成要素はRDFSクラス、関連プロパティ、およびRDFのボキャブラリ上に構築されたユーティリティプロパティである[4][5][6]。
クラス
rdfs:Resource- すべてのクラスを表す。RDFで記述されるすべてのものはリソースである。
rdfs:Class- rdfs:Classはリソースを他のリソースのためのクラスとして宣言する。
rdfs:Classの典型的な例は、Friend of a Friend(FOAF)ボキャブラリのfoaf:Personである[7]。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:domainrdf:Propertyのrdfs:domainは、そのプロパティが述語であるトリプル内の主語のクラスを宣言する。rdfs:rangerdf: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」である[8]。
rdfs:subClassOf- [9]:クラスの階層を宣言できる。
例えば、以下は「すべての人間はエージェントである」と宣言する。
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の含意[10]はあまり制限的でなく、グラフ内でどのような文が有効かを制限するルール量が(例えば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ボキャブラリには次のものが含まれる:[9]
- FOAF:FOAFボキャブラリ仕様のソースはRDFa構文で書かれたRDFSである[7]。
- Dublin Core:RDFSソースは複数の構文で利用可能である[11]。
- Schema.org:スキーマのソースは2020年7月まで元々RDFa構文で書かれたRDFSであった[12][13]。
- 簡易知識組織化システム(SKOS)はSKOS XLボキャブラリと題されたRDFスキーマを開発した。これはOWL RDF/XML構文を使用するSKOSボキャブラリのOWLオントロジーであり、したがってRDFSの多数のクラスとプロパティを使用する[14]。
- アメリカ議会図書館はRDFでMetadata Authority Description Schema(MADS/RDF)と題されたRDFスキーマを定義している。概要によれば、自館と「情報科学(LIS)コミュニティ」での使用を意図している。例えば家族の中の個人が
madsrdf:prominentFamilyMemberで著名かどうかなど、特殊な関係データに注釈を付けることができる[15]。 - UniProtデータベースは生化学データを記述するためのRDFスキーマを持ち、タンパク質の記述に特化している[16]。
関連項目
- SPARQL – RDF向けクエリ言語
- インターネットコンテンツ選択のためのプラットフォーム(PICS)
- Resource Description Framework(RDF)
- Web Ontology Language(OWL)
- セマンティック技術
- SHACL – RDF向けシェイプと制約言語
参考文献
- 1 2 “Resource Description Framework (RDF) Schemas”. W3C. RDF Schema Working Group (1998年4月9日). 2021年4月23日閲覧。
- ↑ “XML and Semantic Web W3C Standards Timeline-History” (2012年3月21日). 2013年4月24日時点のオリジナルよりアーカイブ。2021年4月23日閲覧。
- 1 2 “RDF Schema 1.1”. W3C. RDF Working Group (2014年2月25日). 2021年4月23日閲覧。
- ↑ “Chapter 3: RDF Schema”. csee.umbc.edu. UMBC's Department of Computer Science and Electrical Engineering (2017年). 2021年4月24日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
- ↑ “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日閲覧。
- ↑ “RDF Meta Model and Schema”. Cornell University (2008年3月31日). 2019年7月12日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
- 1 2 “FOAF Vocabulary Specification 0.99”. xmlns.com. The FOAF Project (2014年1月14日). 2021年4月23日閲覧。
- ↑ DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States: O'Reilly Media. p. 36. ISBN 9781449306595
- 1 2 “RDF 1.1 Primer”. W3C. RDF Working Group (2014年6月24日). 2021年4月23日閲覧。
- ↑ “RDF 1.2 Semantics”. 2026年8月17日閲覧。
- ↑ Dublin Core Metadata Initiative (2020年1月20日). “DCMI: DCMI Metadata expressed in RDF Schema Language”. dublincore.org. 2021年4月23日閲覧。
- ↑ Schema.org (n.d.). “Schema.org core schema”. schema.org. 2020年5月10日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
- ↑ “Informatively redirect accesses to retired file schema_org_rdfa.html · Issue #2656 · schemaorg/schemaorg”. GitHub (2020年7月17日). 2021年4月24日閲覧。
- ↑ “SKOS XL Vocabulary” (2009年8月18日). 2020年2月27日時点のオリジナルよりアーカイブ。2021年4月24日閲覧。
- ↑ Library of Congress (n.d.). “MADS/RDF Primer”. Library of Congress. 2021年4月24日閲覧。
- ↑ UniProt (n.d.). “UniProt RDF schema ontology”. UniProt. 2021年4月24日閲覧。
外部リンク
- W3C RDFS仕様書
- W3C RDF 1.1入門
- W3C SPARQL 1.1含意レジーム仕様書
- W3C RDFS含意
- SPARQL2XQuery OWL-RDF/SオントロジーとXMLスキーマのマッピング。