简体   繁体   English

如何在OWL或RDFS中定义“共同参与”属性?

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

I'd like to know how to express the concept that: if 2 agents are participants in one event, they should be linked with a symmetric property 'co-participate'. 我想知道如何表达这样的概念:如果2个特工参加一个事件,则应将它们与对称属性“共同参与”联系起来。

I feel I could make some restrictions but don't know how. 我觉得我可以做出一些限制,但是不知道如何做。

The event ontology is defined here: http://motools.sourceforge.net/event/event.html 事件本体在这里定义: 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'. 如果一个事件中有2个代理人参与,则应将其与对称属性“共同参与”联系起来。

You can do this in OWL2 by using a sub-property chain axiom. 您可以通过使用子属性链公理在OWL2中进行此操作。 Since the data looks like: 由于数据如下所示:

在此处输入图片说明

we can see that there is a chain from X to Y with the form 我们可以看到从X到Y都有一条链,其形式为

participatesIn • participatesIn -1 参加•参加-1

So, you can assert that: 因此,您可以断言:

(participatesIn • participatesIn -1 ) ⊑ coParticipatesWith (参加•参加-1 )⊑与参加

and then you'll be able to infer that 然后您就可以推断出

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

In Protege it looks like this: 在Protege中,它看起来像这样:

protege屏幕截图

Here's an OWL ontology that contains the axiom: 这是包含公理的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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM