如何在OWL或RDFS中定义“共同参与"属性? [英] how to define a 'co-participate' property in OWL or RDFS?

查看:138
本文介绍了如何在OWL或RDFS中定义“共同参与"属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何表达这样一个概念:如果2个特工参加一个事件,则应将它们与对称属性共同参与"联系起来.

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

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

I feel I could make some restrictions but don't know how.

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

The event ontology is defined here: http://motools.sourceforge.net/event/event.html

推荐答案

如果2个特工是一个事件的参与者,则应将其与 对称属性共同参与".

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

您可以通过使用子属性链公理在OWL2中进行此操作.由于数据如下所示:

You can do this in OWL2 by using a sub-property chain axiom. Since the data looks like:

我们可以看到从X到Y的链条形式为

we can see that there is a chain from X to Y with the form

   参加• joinsIn -1

    participatesIn • participatesIn-1

因此,您可以断言:

   (participatesIn•参加ins -1 )⊑ coParticipatesWith

    (participatesIn • participatesIn-1) ⊑ coParticipatesWith

然后您就可以推断

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

    X coParticipatesWith Y
    Y coParticipatesWith X

在Protege中,它看起来像这样:

In Protege it looks like this:

这是一个包含公理的OWL本体:

Here's an OWL ontology that contains the axiom:

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

这篇关于如何在OWL或RDFS中定义“共同参与"属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆