【问题标题】:Cardinality query with inconsistent results结果不一致的基数查询
【发布时间】:2015-10-08 15:21:54
【问题描述】:

我在使用基于对象属性基数的 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

【问题讨论】:

  • 嗯,我不完全确定,但我猜这与开放世界假设有关。据我所知,基数主要用作限制。但在查询的情况下,由于 OWA,指定“恰好 1”不会让推理者知道没有其他个人满足该条件。
  • @KunalKhaladkar 你是绝对正确的。这是因为 OWA 无法推断。

标签: owl protege dlquery


【解决方案1】:

由于开放世界假设 (OWA),无法完成查询。

来自OWL2 Primer:

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

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

这是正确的。由于 OWL 中的开放世界假设 (OWA), 根据您的断言,推理者无法推断 A 没有其他 与 B 以外的其他人的“hasSomething”关系。

如果你想修改你的本体来声明 A 是类型 SimpleClass,SimpleClass 是“hasSomething”的子类 1”,那么推理器将返回 A 作为“hasSomething”的实例 min 1" 和 "hasSomething 正好是 1"。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    相关资源
    最近更新 更多