簡體   English   中英

OWL 2 rolification

[英]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中表達的新公理。

Rolification

至於具體的過程,如果你想表達像象(x)∧鼠標(y)→更大的(x,y) ,你首先要升級大象鼠標 這意味着您引入了新角色(屬性) R ElephantR 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中,它們如下所示。

大象滾動公理小鼠rolification公理子屬性鏈公理

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM