[英]RDFS subclass: property redefinition
玩具示例:
請考慮以下類型:
Hamburger, Veggieburger, Component, Vegetable, Meat
哪里
Veggieburger
Hamburger
是Hamburger
subclass_of
Vegetable
和meat
是Component
子類 考慮以下屬性:
Has_component
:域= Hamburger
,范圍= Component
現在,我要重新定義Has_component
的Veggieburger
,並表明是只能包含植物Components
。
有沒有一種方法可以重新定義(即覆蓋)屬性Has_component
?
如果您只願意使用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.
您可以在RDFS中添加另一個對域/范圍公理,推理機會將實際范圍解釋為Component和VeggieComponent這兩個類的交集,在這種情況下可以。 在某些情況下,這是不可取的,因此請記住這一點。
您也可以使用OWL和獲取所需內容的限制來執行此操作,
VeggieBurger subClassOf一些(HasComponent,VeggieComponent)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.