gpt4 book ai didi

OWL 2环化

转载 作者:行者123 更新时间:2023-12-04 05:39:47 28 4
gpt4 key购买 nike

在描述逻辑中,有一个称为“汽化”(OWL and Rules, Sec 3.2)的概念。它将概念(类)转换为角色(属性)。例如,当我们将R(x)打包时,我们得到r(x,x)。此技术对于在DL中表达某些规则很有用。

我们如何在OWL 2中做到这一点? OWL 2 specification中似乎没有直接支持rolification的功能。

最佳答案

您链接到的论文的第3.2节说:

It is indeed possible to translate this rule into OWL 2—however this involves a transformation which we call rolification: The rolification of a concept A is a (new) role RA defined by the axiom A ≡ ∃RA.Self. Armed with rolification, we can now express rule (1) by the axiom …



OWL2不支持直接表达象Elephant(x)∧Mouse(y)→bigThan(x,y)这样的公理。据我了解,您可以手动使用本文描述的电子化过程来生成可以直接在OWL2中表达的新公理。

旋转

关于特定过程,如果要表达象Elephant(x)∧Mouse(y)→bigThan(x,y)之类的内容,则首先将大象和鼠标类归为一类。这意味着您将引入新角色(属性)RElephant和RMouse(但您不会删除Elephant和Mouse类)。这些新角色使得RElephant(x,x)当且仅当Elephant(x)时才如此。这是通过添加公理来强制执行的

大象∃RElephant.Self

鼠标∃RMouse.Self

每个都可以在OWL2中表达。有了这两个公理,您终于可以添加子属性链公理

Relephant•topObjectProperty•RMouse⊑比

在OWL2中也可以表达。因为对于任何大象e和任何鼠标m,我们都有

Relephant(e,e)

topObjectProperty(e,m)

RMouse(米,米)

然后通过次属性(property)链公理,我们有

大于(e,m)

这正是我们想要表达的。

公理语法

在Protege接受的输入语法中,这些公理编写如下。

大象 等效于 R_大象 一些自我
鼠标 等效于 R_Mouse 一些自
R_Elephant o topObjectProperty o R_mouse 子属性大于

在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>

关于OWL 2环化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16989042/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com