OWL中复杂的概念描述

时间:2016-07-14 08:47:01

标签: owl protege

我正在调查OWL,但仍然无法理解以下内容。假设我们有家庭班。它有BadFamily和GoodFamily子类(这些也可以只是个体 - 而不是子类)。在现实世界中,家庭概念暗示了几个物体的存在(例如父亲,母亲,儿子,女儿)。家庭中的一些人可以彼此相爱或互相仇恨(据我所知,“爱”和“恨”是关系)。因此,在BadFamily中,有几个人互相仇恨。在GoodFamily中,有几个人彼此相爱。那么如何在OWL中表示(Protege示例或列表基本方向建议会很棒!)。

它也可以被视为不同的案例描述,其中相同的类和关系用于所有情况,但是以不同的组合。

1 个答案:

答案 0 :(得分:0)

这是实现它的一种方法。您可以创建以下分类:

- 家庭

- GoodFamily

- BadFamilly

-FamilyMember

- LovesFamilyMember

和对象属性:

-hasFamilyMember

-hasRelative

-lovesFamilyMember

-hatesFamilyMember

其中后者应该被宣布为反射性的,以排除当一个家庭只爱自己时将一个家庭归为好。

然后你需要定义那些喜欢FamilyMember等同于lovesFamilyMember some FamilyMember的人的类,而GoodFamily' as equivalent of的类有家庭成员一些LovesFamilyMember`。

你需要另外照顾受尊敬的爱戴和憎恨的成员属于同一个家庭。这可以通过首先定义hasRelative是一个对象属性来链接一个家庭成员与来自同一家族的成员: inverse (hasFamilyMember) o hasFamilyMember。然后,您需要将此关系添加为类LovesFamilyMember的成员资格的另一个条件。现在该类的完整定义将变为: lovesFamilyMember some FamilyMember and hasRelative some FamilyMember

这就是Turtle与个人ABFamily1一起看待的情况:

    #################################################################
    #    Object Properties
    #################################################################

    :hasFamilyMember rdf:type owl:ObjectProperty ;
                     rdfs:domain :Family ;
                     rdfs:range :FamilyMember .

    :hates rdf:type owl:ObjectProperty ,
                    owl:IrreflexiveProperty .

    :hatesFamilyMember rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :hates ;
                       rdfs:range :FamilyMember .

    :loves rdf:type owl:ObjectProperty ,
                    owl:IrreflexiveProperty .


    :lovesFamilyMember rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :loves ;
                       rdfs:range :FamilyMember .

    #################################################################
    #    Classes
    #################################################################

    :BadFamily rdf:type owl:Class ;
               rdfs:subClassOf :Family .

    :Family rdf:type owl:Class .

    :FamilyMember rdf:type owl:Class .

    :GoodFamily rdf:type owl:Class ;
                owl:equivalentClass [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasFamilyMember ;
                                      owl:someValuesFrom :LovesFamilyMember
                                    ] ;
                rdfs:subClassOf :Family .

:LovesFamilyMember rdf:type owl:Class ;
                   owl:equivalentClass [ owl:intersectionOf ( [ rdf:type                           owl:Restriction ;
owl:onProperty :hasRelative ;
                                                                owl:someValuesFrom :FamilyMember
                                                              ]
                                                              [ rdf:type owl:Restriction ;
owl:onProperty :lovesFamilyMember ;
                                                                owl:someValuesFrom :FamilyMember
                                                              ]
                                                            ) ;
                                         rdf:type owl:Class
                                       ] ;
                   rdfs:subClassOf :FamilyMember .

    #################################################################
    #    Individuals
    #################################################################

    :A rdf:type owl:NamedIndividual ,
                :FamilyMember ;
       :lovesFamilyMember :B .

    :B rdf:type owl:NamedIndividual ,
                :FamilyMember .

    :Family1 rdf:type owl:NamedIndividual ,
                      :Family ;
             :hasFamilyMember :A ,
                              :B .

    :Family2 rdf:type owl:NamedIndividual ,
                      :Family .

    #################################################################
    #    General axioms
    #################################################################

    [ rdf:type owl:AllDifferent ;
      owl:distinctMembers ( :A
                            :B
                          )
    ] .