如何在OWL或RDFS中定义“共同参与"属性? [英] how to define a 'co-participate' property in OWL or 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屋!