答えを得る前に、解決しなければならない誤解がいくつかあります。
まず、サブクラスと個体はまったく異なる概念です。個体 (インスタンス) はクラスのメンバーです。サブクラスは、クラスが別のクラスのサブセットであることを示します。これは、(推論による) サブクラスのすべてのメンバーが (スーパー) クラスのメンバーであることを意味します。(参考までに: OWLには継承の概念はありません。)
:People :has :Disease
クラス個体にとっては意味を持たないなど、第 2 クラス レベルのプロパティ。クラスに対するプロパティの関係を定義する方法は、プロパティのドメインと範囲を設定することです。(:has
プロパティ名として使用するだけでは、おそらく他の種類の言語からの幅広い誤解を示しています。)したがって、名前:hasDisease
とアサーションをお勧めします。
:hasDisease rdfs:domain :People .
:hasDisease rdfs:range :Disease .
3 番目に、が のサブクラスであるとすると、それをアサートし:John :hasDisease :Cancer
、John が病気にかかっていると推測できます。これには、標準の RDFS 推論が必要です。また、上記のドメインと範囲の定義、およびアサーション が与えられると、RDFS 推論はそれと を推論します。:Cancer
:Disease
:Joy :hasDisease :Gout
:Joy a :Person
:Gout a :Disease
Google で見つけることができる OWL 入門書がいくつかあります。OWL と推論プロファイルがどのように機能するかについての基本的な理解を得るために、これらのいくつかに目を通すことをお勧めします。