OWL 2 - 断言如果不喜欢 smth 则不喜欢它

OWL 2 - Assert that if not likes smth then dislikes it

我有一个公理:A 不喜欢 B 喜欢的东西。 然后是属性,喜欢和不喜欢。 我想推断,当某人不喜欢某事时,他就会不喜欢它。

我补充说,喜欢和不喜欢是不相交的,但我不知道如何进一步使用 Protege。

如果您不坚持推断对象属性,则有一种使用覆盖公理的解决方法,它可以关闭世界。

假设我们有一个 :Person_A,如果 he/she 不喜欢某事,那么 he/she 不喜欢它。重点需要转移到 :Person_A 喜欢或不喜欢的事物上。他们将属于 class :ThingsThatAHasAttitudeTo

属性

首先,重要的是声明一个 属性 表示喜欢和不喜欢。

:dislikes rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :hasAttitude ;
          owl:inverseOf :isDislikedBy .

:hasAttitude rdf:type owl:ObjectProperty .

:isDislikedBy rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :isLikedOrDislikedBy .

:isLikedBy rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :isLikedOrDislikedBy ;
           owl:inverseOf :likes .

:isLikedOrDislikedBy rdf:type owl:ObjectProperty .

:likes rdf:type owl:ObjectProperty ;
       rdfs:subPropertyOf :hasAttitude .

然后,如果您有一个仅包含个体 Person_A、

的枚举 class
:PersonClass_A rdf:type owl:Class ;
               owl:equivalentClass [ rdf:type owl:Class ;
                                     owl:oneOf ( :PersonClass_A
                                               )
                                   ] .

对于喜欢的东西,需要以下限制:

:ThingsThatALikes rdf:type owl:Class ;
                  owl:equivalentClass [ owl:intersectionOf ( :ThingsThatAHasAttitudeTo
                                                             [ rdf:type owl:Restriction ;
                                                               owl:onProperty :isLikedBy ;
                                                               owl:someValuesFrom :PersonClass_A
                                                             ]
                                                           ) ;
                                        rdf:type owl:Class
                                      ] .

...以及不喜欢的事物:

:ThingsThatADislikes rdf:type owl:Class ;
                     owl:equivalentClass [ rdf:type owl:Class ;
                                           owl:unionOf ( [ owl:intersectionOf ( :ThingsThatAHasAttitudeTo
                                                                                [ rdf:type owl:Restriction ;
                                                                                  owl:onProperty :isDislikedBy ;
                                                                                  owl:someValuesFrom :PersonClass_A
                                                                                ]
                                                                              ) ;
                                                           rdf:type owl:Class
                                                         ]
                                                         [ owl:intersectionOf ( :ThingsThatAHasAttitudeTo
                                                                                [ rdf:type owl:Restriction ;
                                                                                  owl:onProperty :isLikedOrDislikedBy ;
                                                                                  owl:someValuesFrom :PersonClass_A
                                                                                ]
                                                                              ) ;
                                                           rdf:type owl:Class
                                                         ]
                                                       )
                                         ] .

最后,重要的是涵盖 class :ThingsThatAHasAttitudeTo

:ThingsThatAHasAttitudeTo rdf:type owl:Class ;
                          rdfs:subClassOf [ rdf:type owl:Class ;
                                            owl:unionOf ( :ThingsThatADislikes
                                                          :ThingsThatALikes
                                                        )
                                          ] .

classes 需要不相交并且个体不同。

根据这些定义,如果有个人是 class :ThingsThatAHasAttitudeTo 的成员,对于那些没有断言 :Person_A 喜欢的人,他们将被推断为class :ThingsThatADislikes.

成员