【问题标题】:Protege exactly 1 cardinality OWL restriction not raising an inconsistency精确保护 1 基数 OWL 限制不会引起不一致
【发布时间】:2014-04-19 20:35:58
【问题描述】:

我觉得我快疯了!我已按照 Owl 和 Protege 的各种教程进行操作,但仍然无法找到答案。用例很简单。我定义了一个名为“Person”的类。我已经定义了一个名为 hasFirstName 的数据属性。我为 Person 添加了一个“子类”限制,如下所示:“hasFirstName 正好是 1 个字符串”。我还添加了一个名为 Alex 的 Person 类型的个人,并且没有添加 hasFirstName 属性。我希望推理者抱怨,因为我已经指定了基数 1,并断言 Alex 是一个人,但没有将属性值添加到 Alex 个体,但推理者没有抱怨。但是,如果我添加两个语句,例如hasFirstName 'Alex' 和 hasFirstName 'John' 然后我会收到投诉。我做错了什么?任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: owl protege restrictions cardinality


    【解决方案1】:

    在第一种情况下没有不一致。 OWL 生成open world assumption,这意味着未知的事物不同于已知为真或已知为假的事物。在我写这个答案时,您的用户名是 user3552593。我比较有信心有一个名字,这与我还不知道它是什么的事实并不矛盾。

    这么说

    人 ⊑ =1 hasFirstName.String

    还有那个

    亚历克斯:人

    你可以推断出来

    亚历克斯:=1 hasFirstName.String

    没有什么不符合的;亚历克斯,凭借亚历克斯的人格,只有一个名字——我们只是还不知道它是什么。

    【讨论】:

    • 有道理,非常感谢。除了在开放世界假设下,还有什么方法可以在 OWL 中指定在已知知识库中必须有一个对个人有价值的属性?还是你必须进入封闭世界的假设?
    • 这是一个广泛的问题。您可以添加“关闭”知识库的公理,例如,枚举类中的个体,并添加否定属性断言。出于查询目的,还有 SPARQL。如果您查询的个​​人姓名少于一个,您将检索到没有声明姓名的个人; SPARQL 是 RDF 的一种数据查询语言,在这方面更像是一个封闭的世界数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    相关资源
    最近更新 更多