如何定义在OWL或RDFS了“共同参与”的财产?(how to define a 'co-p

2019-11-03 17:05发布

我想知道如何表达的概念,即:如果2剂参加一个活动,就应该有一个对称性质“共同参与”的联系。

我觉得我可以做一些限制,但不知道怎么办。

事件本体在这里定义: http://motools.sourceforge.net/event/event.html

Answer 1:

如果2剂参加一个活动,他们应该具有对称性“共同参与”链接。

您可以通过使用一个子属性链公理在OWL2做到这一点。 由于数据的模样:

我们可以看到,有来自X连锁为Y与形式

participatesIn•participatesIn -1

所以,你可以断言:

(participatesIn•participatesIn -1)⊑coParticipatesWith

然后你就可以推断出

X coParticipatesWithÿ
ÿcoParticipatesWith X

在门生它看起来像这样:

下面是一个包含公理OWL本体:

@prefix :      <http://stackoverflow.com/q/29238387/1281433/> .
@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#> .

:       a       owl:Ontology .

:participatesIn  a  owl:ObjectProperty .

:coParticipatesWith  a          owl:ObjectProperty ;
        owl:propertyChainAxiom  ( :participatesIn _:b0 ) .
_:b0    owl:inverseOf  :participatesIn .
<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://stackoverflow.com/q/29238387/1281433/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about="http://stackoverflow.com/q/29238387/1281433/"/>
  <owl:ObjectProperty rdf:about="http://stackoverflow.com/q/29238387/1281433/participatesIn"/>
  <owl:ObjectProperty rdf:about="http://stackoverflow.com/q/29238387/1281433/coParticipatesWith">
    <owl:propertyChainAxiom rdf:parseType="Collection">
      <owl:ObjectProperty rdf:about="http://stackoverflow.com/q/29238387/1281433/participatesIn"/>
      <rdf:Description>
        <owl:inverseOf rdf:resource="http://stackoverflow.com/q/29238387/1281433/participatesIn"/>
      </rdf:Description>
    </owl:propertyChainAxiom>
  </owl:ObjectProperty>
</rdf:RDF>


文章来源: how to define a 'co-participate' property in OWL or RDFS?