如何在 OWL 或 RDFS 中定义 'co-participate' 属性?

how to define a 'co-participate' property in OWL or RDFS?

我想知道如何表达这个概念:如果 2 个代理参与一个事件,他们应该与对称 属性 'co-participate'.

相关联

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

事件 ontology 在此处定义:http://motools.sourceforge.net/event/event.html

if 2 agents are participants in one event, they should be linked with a symmetric property 'co-participate'.

您可以在 OWL2 中使用子 属性 链公理来执行此操作。由于数据如下所示:

我们可以看到从 X 到 Y 有一条链,形式为

参与 •参与人数-1

因此,您可以断言:

(participatesIn • participatesIn-1) ⊑共同参与

然后你就可以推断出

X 与 Y 共同参与
Y 与 X 共同参与

在 Protege 中它看起来像这样:

这是一个包含公理的 OWL ontology:

@prefix :      < .
@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=""
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about=""/>
  <owl:ObjectProperty rdf:about="participatesIn"/>
  <owl:ObjectProperty rdf:about="coParticipatesWith">
    <owl:propertyChainAxiom rdf:parseType="Collection">
      <owl:ObjectProperty rdf:about="participatesIn"/>
      <rdf:Description>
        <owl:inverseOf rdf:resource="participatesIn"/>
      </rdf:Description>
    </owl:propertyChainAxiom>
  </owl:ObjectProperty>
</rdf:RDF>