首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >owl用OneOf关闭世界

owl用OneOf关闭世界
EN

Stack Overflow用户
提问于 2018-05-18 15:03:52
回答 1查看 190关注 0票数 0

在下面的本体中,我试图通过使用OneOf使男孩成为女孩的补充,但是使用Fact++或Hermit,我无法通过查询男孩(Proge5.2DL查询)获得任何实例,有什么建议吗?

代码语言:javascript
复制
:Bob rdf:type owl:NamedIndividual ,
              :Person .


:Mike rdf:type owl:NamedIndividual ,
               owl:Thing .


:Sarah rdf:type owl:NamedIndividual ,
                :Girl.

:Person rdf:type owl:Class ;
        owl:equivalentClass [ rdf:type owl:Class ;
                              owl:oneOf ( :Bob
                                          :Mike
                                          :Sarah
                                        )
                            ] .

:Girl rdf:type owl:Class ;
      owl:equivalentClass [ rdf:type owl:Class ;
                            owl:oneOf ( :Sarah
                                      )
                          ] ;
      rdfs:subClassOf :Person .

:Boy rdf:type owl:Class ;
     owl:equivalentClass [ owl:intersectionOf ( :Person
                                                [ rdf:type owl:Class ;
                                                  owl:complementOf :Girl
                                                ]
                                              ) ;
                           rdf:type owl:Class
                         ] ;
     rdfs:subClassOf :Person ;
     owl:disjointWith :Girl .
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-21 09:31:52

按照Stanislav的建议,添加一个公理,使所有个体都不同,解决了这个问题:

代码语言:javascript
复制
[ rdf:type owl:AllDifferent ;
  owl:distinctMembers ( :Bob
                        :Mike
                        :Sarah
                      )
] .

请参阅assumption

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50414243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档