基数查询结果不一致

时间:2015-10-08 15:21:55

标签: owl protege dlquery

我遇到基于对象属性基数的DL查询问题,我不确定我做错了什么,或者HermiT有问题。

首先,我附上了一个非常简单的本体论来证明我的问题。只有两个人 A B ,对象属性 hasSomething A hasSomething B 为真。

以下DL查询返回 A

hasSomething min 1

查询

hasSomething exactly 1

无法满足。

有没有人知道为什么第一个有效,第二个没有?

@prefix : <http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3#> .
@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#> .
@base <http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3> .

<http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3> rdf:type owl:Ontology .


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


###  http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3#hasSomething

:hasSomething rdf:type owl:ObjectProperty .





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


###  http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3#SimpleClass

:SimpleClass rdf:type owl:Class .





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


###  http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3#A

:A rdf:type owl:NamedIndividual ;

   :hasSomething :B .



###  http://www.semanticweb.org/cg/ontologies/2015/9/untitled-ontology-3#B

:B rdf:type owl:NamedIndividual .




###  Generated by the OWL API (version 3.5.1) http://owlapi.sourceforge.net

1 个答案:

答案 0 :(得分:2)

由于Open World Assumption(OWA),无法满足查询。

来自OWL2 Primer

  

如果某个事实在数据库中不存在,通常被认为是假的(所谓的封闭世界假设),而在OWL 2文档的情况下,它可能只是丢失(但可能是真的), 开放世界的假设

csnyluas,他是一名保护人/维护者,给出了以下答案:

  

这是对的。由于OWL中的开放世界假设(OWA),   从你的断言中,推理者无法推断A没有其他的   与B之外的其他人“有一些”关系。

     

如果您要修改本体以声明A是类型   SimpleClass,而SimpleClass是“hasSomething”的子类   1“,然后推理者将返回A作为”hasSomething“的实例   min 1“and”hasSomething恰好1“。