3. 基本構成OWLの記述方法ここではOWLの基本構成について説明します。 ヘッダ要素ヘッダ要素はowl:Ontology要素の中に記述します。ヘッダ要素にはバージョン情報など、そのオントロジーに関する情報を記述します。 例1:ヘッダ要素
<?xml version=”1.0” encoding=”Shift_JIS” ?>
<rdf:RDF
xmls:owl=”http://www.w3.org/2002/07/owl#”
xmls:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xml:base=”http://www.4dd.co.jp/sw/ontology#” >
<owl:Ontology rdf:about=””>
<owl:priorVersion rdf:resource=”http://www.4dd.co.jp/example” />
・・・
</owl:Ontology>
・・・
OWLはRDFの構文に従って記述するため、オントロジーの要素をすべてrdf:RDF要素の中に記述します。以降ではxml宣言やrdf:RDF要素を省略しています。 クラス要素クラス要素ではRDF Schemaで定義されたクラスについての記述をします。OWLでクラスを表すときは基本的にowl:Class要素を用います。 ここではクラス同士の関係を記述するためのプロパティを紹介します。
equivalentは英語で「〜に相当する」という意味です。つまりOWLでは、A equivalentClass B と記述した場合はAはBと同じようなクラスだと言っていることになります。 例2:男(Men)は女(Women)と共通部分を持たず、人(Person)のサブクラスである。
<owl:Class rdf:ID="Men">
<rdfs:subClassOf rdf:resource="http://www.4dd.co.jp/example/Person" />
<owl:disjointWith rdf:resource="http://www.4dd.co.jp/example/Women" />
</owl:Class>
プロパティ要素プロパティ要素でもクラス要素と同じように、RDF Schemaで定義されたプロパティクラス同士の関係を記述します。OWLでプロパティ要素を記述する方法としては大きく分けて二つあり、目的語がオブジェクトであるようなプロパティはowl:ObjectProperty要素、データタイプであるようなプロパティのときはowl:DatatypeProperty要素を使用します。またRDF Schemaの要素であるrdfs:subPropertyOf、rdfs:range、rdfs:domainもこのプロパティ要素で記述できます。 プロパティ同士の関係を記述するプロパティが二つあり、それを紹介します。
equivalentPropertyはクラスでのequivalentClassと同じです。 このプロパティ定義の例を以下に示します。 例3:後輩は先輩と逆の意味のプロパティであり、その主語と目的語には必ず人(Person)のインスタンスを持つ。 <owl:ObjectProperty rdf:ID=”junior”> <owl:inverseOf rdf:resource=”#senior” /> <rdfs:range rdf:resource=”#Person” /> <rdfs:domain rdf:resource=”#Person” /> </owl:ObjectProperty> インスタンス要素インスタンス(実体、OWLではよく個体と呼ばれる)は実際のものを表しており、たとえばPersonクラスの「四次元太郎」インスタンスであればそれは四次元太郎という実在の人物を指すものとします。この四次元太郎さんが他の組織では”Taro,Yojigen”と別の名前で定義されてしまった場合、現実では「四次元太郎」という人と「Taro,Yojigen」という人が別人として存在するということになってしまいます。このようなときにはowl:sameAsプロパティを使ってこの二つのインスタンスは同じものであると宣言します。この例を以下に示します。 例4:「四次元太郎」と”Taro,Yojigen”は同じインスタンス <Person rdf:ID=”四次元太郎”> <owl:sameAs rdf:resource=”#Taro,Yojigen” /> </Person> このようなインスタンスに関する記述はインスタンス要素で行います。 OWLの機能はこの章で紹介したものだけではありません。次章からはさらに詳しく説明します。 |
![]()
![]()
|