【发布时间】:2017-06-01 01:55:29
【问题描述】:
我正在使用 Protege 并尝试返回所有实例的 DL 查询,但没有特定属性。
例如,我可以使用属性 initialValue 返回 number 的实例(例如 number1、number2 等) initialValue 一些值
如何在 Protege 中创建一个 DL QUERY 以返回不具有属性 intialValue 的 number 实例?
提前致谢
【问题讨论】:
我正在使用 Protege 并尝试返回所有实例的 DL 查询,但没有特定属性。
例如,我可以使用属性 initialValue 返回 number 的实例(例如 number1、number2 等) initialValue 一些值
如何在 Protege 中创建一个 DL QUERY 以返回不具有属性 intialValue 的 number 实例?
提前致谢
【问题讨论】:
我不太确定,但我认为这无法做到。我认为问题在于应用于语义网络和本体的Open World Assumption OWA。 Beriefly,我们不能仅仅因为我们不知道就说某事是错的。当某事未知时,它就是未知。
在你的情况下instances of number that don't have the property intialValue。当 number 具有明确声明的 initialValue Value 时,很明显它拥有它。现在,考虑我们有Number 的number1 和number2 实例,而没有将initialValue Value 分配给它们。这不会使推理器推断出number1 和number2 没有initialValue Value。
澄清一下:
Number that not (initialValue some Value)
不会返回任何内容,它是 OWA!
我认为您可以做的一种解决方法是,您可以在 Protege 中断言负面属性断言,这可能会有所帮助但不能解决它。考虑我们有v1,Value 的实例。您可以声明(例如使用 Protege)number3 没有 initialValue v1,然后您可以查询:
Number that not (initialValue value v1)
这将检索number3。
【讨论】: