In the following Ontology I'm trying to make Boy the complement of Girl by using OneOf however using Fact++ or Hermit I'm unable to get any instances by querying for Boy (Protege 5.2 DL query), any suggestions?: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 .推荐答案添加公理以使所有个体都不同可以解决斯坦尼斯拉夫提出的问题:Adding an axiom to make all individuals as different solves the problem as suggested by Stanislav:[ rdf:type owl:AllDifferent ; owl:distinctMembers ( :Bob :Mike :Sarah )] .请参见 https://en.wikipedia.org/wiki/Unique_name_assumption 这篇关于猫头鹰用OneOf封闭世界的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-23 21:27