[英]OWL 2 rolification
在描述逻辑中,存在称为“rolification”的概念( OWL和Rules,Sec 3.2 )。 它将概念(类)转换为角色(属性)。 例如,当我们滚动R(x)
,我们得到r(x,x)
。 该技术对于在DL中表达一些规则很有用。
我们如何在OWL 2中做到这一点? 似乎在OWL 2规范中没有直接支持rolification。
您链接的论文的第3.2节说:
它确实有可能把这种规则为OWL 2,然而这涉及我们称之为rolification转型:一个概念A的rolification是由公理A≡∃R 一个 .Self定义的(新)角色R A。 武装起来,我们现在可以用公理来表达规则(1)......
OWL2不支持直接表达大象(x)∧鼠标(y)→更大(x,y)之类的公理。 据我所知,你手动使用本文描述的滚动过程来产生一个可以直接在OWL2中表达的新公理。
至于具体的过程,如果你想表达像象(x)∧鼠标(y)→更大的(x,y) ,你首先要升级大象和鼠标 。 这意味着您引入了新角色(属性) R Elephant和R Mouse (但您不删除大象和鼠标类)。 这些新角色是R 大象 (x,x)当且仅当大象(x) 。 这是通过添加公理来强制执行的
大象≡∃R 大象。自己
老鼠≡∃R 老鼠。自己
每个都可以在OWL2中表达。 有了这两个公理,你最终会添加子属性链公理
R 大象 •topObjectProperty•R 鼠标 ⊑更大
这也可以在OWL2中表达出来。 由于任何大象e和任何鼠标男 ,我们有
R 大象 (e,e)
topObjectProperty(E,M)
R 鼠标 (m,m)
然后通过子属性链公理,我们就有了
biggerThan(E,M)
这正是我们想要表达的。
在Protege接受的输入语法中,这些公理如下编写。
大象等同于 R_Elephant 一些自我
鼠标等效于 R_Mouse 一些自我
R_Elephant o topObjectProperty o R_mouse SubPropertyOf greaterThan
在Protege中,它们如下所示。
在N3:
@prefix : <http://www.example.org/rolification#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:Elephant
a owl:Class ;
owl:equivalentClass
[ a owl:Restriction ;
owl:hasSelf "true"^^xsd:boolean ;
owl:onProperty :R_Elephant
] .
:R_Elephant
a owl:ObjectProperty .
:biggerThan
a owl:ObjectProperty ;
owl:propertyChainAxiom
(:R_Elephant owl:topObjectProperty :R_Mouse) .
:Mouse
a owl:Class ;
owl:equivalentClass
[ a owl:Restriction ;
owl:hasSelf "true"^^xsd:boolean ;
owl:onProperty :R_Mouse
] .
<http://www.example.org/rolification>
a owl:Ontology .
:R_Mouse
a owl:ObjectProperty .
在RDF / XML中:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.example.org/rolification#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology rdf:about="http://www.example.org/rolification"/>
<owl:Class rdf:about="http://www.example.org/rolification#Elephant">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Elephant"/>
</owl:onProperty>
<owl:hasSelf rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</owl:hasSelf>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="http://www.example.org/rolification#Mouse">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Mouse"/>
</owl:onProperty>
<owl:hasSelf rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>true</owl:hasSelf>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
<owl:ObjectProperty rdf:about="http://www.example.org/rolification#biggerThan">
<owl:propertyChainAxiom rdf:parseType="Collection">
<owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Elephant"/>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#topObjectProperty"/>
<owl:ObjectProperty rdf:about="http://www.example.org/rolification#R_Mouse"/>
</owl:propertyChainAxiom>
</owl:ObjectProperty>
</rdf:RDF>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.