1

おもちゃの例:


次のタイプを検討してください。

  • Hamburger, Veggieburger, Component, Vegetable, Meat

どこ

  • Veggieburgersubclass_of Hamburger
  • Vegetablemeatサブクラスであり、Component

次のプロパティを検討してください。

  • Has_component: ドメイン = Hamburger、範囲 =Component

Has_componentここで、 を再定義し、Veggieburgerが 野菜 のみを含むことができることを示したいと思いますComponents

プロパティを再定義 (オーバーライド) する方法はありますHas_componentか?

4

2 に答える 2

3

RDFS のみを使用する場合は、次のことをお勧めします。

@prefix menu: <http://yourdomain/menu#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

menu:Burger rdf:type rdfs:Class.

menu:Veggieburger rdf:type rdfs:Class;
                  rdfs:subClassOf menu:Burger.

menu:Hamburger rdf:type rdfs:Class;
               rdfs:subClassOf menu:Burger.

menu:Component rdf:type rdfs:Class.

menu:VeggieComponent rdf:type rdfs:Class;
                     rdfs:subClassOf menu:Component.

menu:MeatComponent rdf:type rdfs:Class;
                   rdfs:subClassOf menu:Component.

#use camel casing for property names
menu:hasComponent rdf:type rdf:Property;
                  rdfs:domain menu:Burger;
                  rdfs:range menu:Component.

menu:hasMeatComponent rdf:type rdf:Property;
                  rdfs:subPropertyOf menu:hasComponent;
                  rdfs:domain menu:MeatBurger;
                  rdfs:range menu:MeatComponent.

menu:hasVeggieComponent rdf:type rdf:Property;
                  rdfs:domain menu:VeggieBurger;
                  rdfs:subPropertyOf menu:hasComponent;
                  rdfs:range menu:VeggieComponent.
于 2012-06-08T13:10:28.930 に答える
2

別のペアのドメイン/範囲公理を RDFS に追加できます。推論機能は、実際の範囲を Component と VeggieComponent の 2 つのクラスの共通部分として解釈しますが、この場合は問題ありません。場合によっては、それが望ましくない場合もありますので、覚えておいてください。

また、OWL と、必要なものを取得するための制限を使用してこれを行うこともできます。

VeggieBurger subClassOf some(HasComponent, VeggieComponent)

于 2012-06-08T12:45:26.333 に答える