2016-05-10 3 views
2

PeopleDiseaseという2つのクラスがあるとします。これらのクラスは、オブジェクトプロパティhasによって関連付けられています。OWL:スーパークラスから2つのクラス間のプロパティ関係の継承を取得するにはどうすればよいですか?

:People :has :Disease 

Peopleサブクラス(または個人)John、及びDiseaseサブクラス(または個人)を有するCancerを有しています。

:John a :People 
:Cancer a :Disease 

これらのサブクラス間の関係は、どのように推論することができますか?

:John :has :Cancer 
+0

あなたは、ジョンが人であり人々に病気があるので、ジョンがガンを持っていると推測したいと言っていますか?それは意味をなさないので、あなたが持っている事実とあなたが推論したいことを少しはっきりさせることは良い考えかもしれません。 (人名の代わりに ':Person'のようなクラス名の方が単名詞の方が優れています。 – scotthenninger

答えて

2

回答を得る前に、解決する必要のある誤解がいくつかあります。

まず、サブクラスと個人は非常に異なる概念です。個人(インスタンス)はクラスのメンバーです。 Subclassは、あるクラスが別のクラスのサブセットであることを意味します。つまり、(推論による)意味は、サブクラスのすべてのメンバーが(スーパー)クラスのメンバーであることを意味します。 (参考のため、OWLに継承の概念はありません):People :has :Diseaseのような2番目のクラスレベルのプロパティは、クラスの個人にとって意味がありません。プロパティとクラスとの関係を定義する方法は、プロパティのドメインと範囲を設定することです。 (。ただ、プロパティ名として:hasを使用すると、おそらく言語の他の種類の中から、誤解の広いセットを示す)だから私は名前:hasDiseaseとアサーションをお勧めしたい:

:hasDisease rdfs:domain :People . 
:hasDisease rdfs:range :Disease . 

第三に、あなたはその:John :hasDisease :Cancerを主張することができますし、 :Cancer:Diseaseのサブクラスであるとすると、ジョンは疾患を有すると推測する。これには、標準のRDFS推論が必要です。また、上記のドメインと範囲の定義とアサーション:Joy :hasDisease :Goutがある場合、RDFS推論器は:Joy a :Person:Gout a :Diseaseを推論します。

Googleから検索できるOWLプライマーがいくつかあります。 OWLと推論の仕組みがどのように機能するかを理解するために、これらのいくつかを検討することをお勧めします。

+0

あなたの提案をお寄せいただきありがとうございます。[this primer](https://www.w3.org/TR/owl2-primer /)、私の理解が正しいかどうか疑問に思う:プライマリは、技術的に、クラス間のサブクラスの関係は推移的である、つまり、 'person'クラスが' hasTwoLegs'のプロパティを持っていて、そのサブクラス 'John'しかし、もし 'John'が個体であれば' hasTwoLegs'というプロパティはありませんなぜ、 'person'クラスのメンバであるのでプロパティを持たないのですか? –

+1

はい、サブクラスの関係は推移的ですが、RDFSのサブクラスの唯一の意味はクラスメンバシップです。サブクラスのメンバはクラスのメンバです。それ以外は何もありません。したがって、この推論結果を得る方法はありますか?プロパティは、インスタンスまたはサブクラスによって「継承」されません。また、プロパティは、c上記の意味合いでドメインと範囲を介してlasses。他に何もない。 OOの原則を使用しないので、混乱します。 OWLクラスを1組と考えてみましょう。それはまずは​​より良い原則かもしれません。また、「個人」はクラス(「インスタンス」とも呼ばれます)のメンバーです。 – scotthenninger

関連する問題