【问题标题】:Forcing a closed world assumption on an OWL class强制对 OWL 类进行封闭世界假设
【发布时间】:2014-03-03 17:12:42
【问题描述】:

我有一个 OWL 类,它具有以下等价性(曼彻斯特表示法):

A and not (hasB some (B and (hasC some C) and (hasD some D) and (hasList some (OWLList and (hasContents some (OWLList and (hasContents some (E and (hasValue some integer[< 200]) and (hasType value "xsd:integer"^^string))) and (hasNext some EmptyList))) and (hasNext some EmptyList)))))

我希望对此类强制执行封闭世界推理,以便任何不满足 not 语句后剩余条件的个人都将成为此类的成员。

为此,我尝试使 hasChasDhasList 属性正常工作,以便 OWL 知道这些属性的其他实例不可能附加到此类。

不幸的是,hasB 属性可能会出现多次,因此无法对此进行限制。为了尝试“关闭”这部分课程,我在 B 课程中添加了一个 oneOf 语句,指定了 B 课程可能接受的所有可能的个人。

在我看来,函数属性和oneOf 语句的组合应该成功地“关闭”类。谁能告诉我我做错了什么?

我正在使用http://owl-workshop.man.ac.uk/acceptedLong/submission_12.pdf 提出的OWLList 类和相关属性。

非常感谢。

【问题讨论】:

  • 你能提供你想要描述的类的英文描述吗?此外,也许一个最小的例子会有所帮助?这似乎比说明挑战所需的复杂得多。
  • “我希望对这个类强制执行封闭世界推理,这样任何在 not 语句之后不满足剩余条件的个人都将成为这个类的成员。”您的类表达式是A and not Y(对于Y 的特定值)。即使某物是not Y,它仍然需要是A 才能成为A 的实例。毕竟A and not Y 不等于not Y

标签: semantic-web owl description-logic


【解决方案1】:

Stardog 有一个名为Integrity Constraint Validation 的功能,它为 OWL 添加了一个封闭世界的解释,以便能够将其用作验证语言。您可以在detailed breakdown of the semantics 中阅读有关如何完成此操作的更多信息。

我不确定验证部分是否是您想要的,但如果是这样,您可以立即使用 Stardog ICV。如果没有,语义可能会告诉您如何准确地实现您所需要的。

【讨论】:

  • 链接断开 :-(
  • @JimL。似乎截至今天,Stardog Docs 将其合并为“数据质量约束”,请参阅 herehere
【解决方案2】:

OWL 是建立在open world assumption 之上的,你无法真正绕过它。在某些情况下,您可以提供一些关于类的额外公理,以减少开放世界允许的可能性数量。例如,如果你有

{d} &sqsubseteq; ∃ hasValue 正好 1 {a, b, c}
a≠b
a≠c
b≠c

然后从 hasValue(d,a),你可以推断出这两个:

¬hasValue(d,b)
¬hasValue(d,c)

你所要求的听起来更像是你想说的默认推理

如果使用标准 OWL 无法证明 X,则推断 ¬X。

这样做的困难在于,您可以在 OWL 中同时表示正面和负面的陈述,并且当 X¬X 都不能使用标准 OWL,因为在这种情况下,您会推断 ¬X 和 ¬¬X。

但是,您可以在这里做一些事情。如果您正在生成数据,则可以添加否定属性断言以明确声明某些特定关系不成立。这是编码有关您的域的某些子集的全部知识的一种方式。因此,如果有许多已知的 B,那么您可以为每个 B 断言 A 是否与每个 B 相关。

另一种选择是使用 SPARQL 查询数据并检查 A 是否与符合条件的 B 相关,如果不相关,则添加一些额外的数据,以便 OWL 推理器得出您需要的推论。这并不太难,但是如果推断出需要找到您正在寻找的 B 的任何其他关系,您仍然可能需要在 SPARQL 查询之前运行 OWL 推理器。

【讨论】:

  • 在没有唯一名称假设的情况下,限制可以出现在断言中的个体也是行不通的,即,所有个体都必须被声明为彼此不同。此外,我不知道有任何推理器允许为一个类而不是整个本体激活封闭世界假设。 Pellet 曾经可以选择在整个本体上使用唯一名称假设,但我不确定它是否仍然如此。
  • 谢谢。我查看了我的数据,似乎可以使用肯定语句而不是否定语句来表达所有内容,所以我想我会那样处理它:-)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 2018-03-05
相关资源
最近更新 更多