简体   繁体   English

猫头鹰本体

[英]Protege owl ontology

I have two properties 我有两个属性

  • hasWon 赢了
  • hasQualifiedTo hasQualifiedTo

The range of both is Competition and the domain is not restricted to any class. 两者的范围均为竞赛,并且域不限于任何类别。 I want to restrict the model as follows: 我想限制模型如下:

  • To win (hasWon) a competition one must qualify to (hasQualifiedTo) a competition. 要赢得(赢得)一场比赛,就必须有资格参加(一场比赛)。 How to do it in Protege and how to express it in DL syntax? 如何在Protege中进行操作以及如何以DL语法进行表达?

Appreciate any suggestions. 感谢任何建议。

To win (hasWon) a competition one must qualify to (hasQualifiedTo) a competition. 要赢得(赢得)一场比赛,就必须有资格参加(一场比赛)。 How to do it in Protege and how to express it in DL syntax? 如何在Protege中进行操作以及如何以DL语法进行表达?

There are at least two ways of interpreting this. 至少有两种解释方法。 Do you mean (a) that to win a competition, one must qualify to a competition, but not necessarily the same one; 您的意思是(a)要赢得一场比赛,一个人必须有资格参加比赛,但不一定是同一场比赛; or (b) that to win a competition, one must qualify to that same competition. 或(b)要赢得比赛,必须有资格参加同一比赛。 (b) is actually a bit easier; (b)实际上要容易一些; (a) is more complex. (一)比较复杂。

If the competitions must be the same 如果比赛必须相同

If the competitions must be the same, then you're saying that 如果比赛必须相同,那是说

hasWon(x,y) → hasQualifiedTo(x,y) hasWon(x,y)→hasQualifiedTo(x,y)

That's a subproperty axiom, typically written as 这是子财产公理,通常写为

hasWon ⊑ hasQualifiedTo hasWon⊑hasQualifiedTo

You can do this easily in Protege: 您可以在Protege中轻松完成此操作:

Protege中的子属性公理

If the competitions can be different 如果比赛可以不同

Since the range of both is already Competition, you can be sure that if someone has won something, then that something was a competition. 由于两者的范围已经是竞赛,因此您可以确定如果某人赢得了某项赛事,那么这就是竞赛。 Now you also want to say that whatever won the competition must also have qualified for some competition. 现在,您还想说, 赢得比赛的人也必须具备参加比赛的资格。 That's a domain axiom. 这是领域公理。 You can simply add the class (hasQualifiedTo some Competition) as a domain of hasWon . 你可以简单地添加类(hasQualifiedTo一些比赛)作为hasWon的域。 Then you can infer that if something won a competition, then it also qualified to some competition. 然后,您可以推断出, 如果某项比赛赢得了比赛, 那么它也有资格参加某些比赛。 I don't know that there's a perfectly standard way of expressing domains and ranges in DL syntax, but you could say that the domain of a property P is D with an axiom like: 我不知道用DL语法表达域和范围的完美标准方法,但是您可以说属性P的域是D,其公理如下:

⊤ ⊑ ∀ P -1 .D ∀P -1 .D

This says that every X (ie, every element of ⊤) is such that if P -1 (X,Y) (which means that P(Y,X)), then Y ∈ D. That means that every subject in a P(subject,object) assertion must be an element of D. So, in the present case, we'd have: 这表示每个X(即every的每个元素)都是这样的,如果P -1 (X,Y)(意味着P(Y,X)),则Y∈D。这意味着P中的每个主题 (主题,对象)断言必须是D的元素。因此,在当前情况下,我们将具有:

⊤ ⊑ ∀ hasWon -1 .(∃ hasQualifiedTo) ∀hasWon -1 。(∃hasQualifiedTo)

In plain English, if someone won something, then they also qualified to something (but not necessarily the same something). 用简单的英语来说,如果有人赢得了某些东西,那么他们也有资格获得某些东西(但不一定是相同的东西)。 Here's what it looks like in Protege, and in the resulting ontology (which you can download and open in Protege). 这就是Protege中的样子,以及由此产生的本体(可以在Protege中下载并打开)。

Protege中的外观

@prefix :      <http://www.semanticweb.org/taylorj/ontologies/2015/4/untitled-ontology-39#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml:   <http://www.w3.org/XML/1998/namespace> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

:Competition  a  owl:Class .

:qualified  a       owl:ObjectProperty ;
        rdfs:range  :Competition .

:won    a            owl:ObjectProperty ;
        rdfs:domain  [ a                   owl:Restriction ;
                       owl:onProperty      :qualified ;
                       owl:someValuesFrom  :Competition
                     ] ;
        rdfs:range   :Competition .

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

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