【问题标题】:SWRLTab usage in ProtegeProtege 中的 SWRLTab 用法
【发布时间】:2018-07-13 02:58:28
【问题描述】:

大家,

我习惯了 Protégé,但现在,我正在尝试使用 Protégé 插件 SWRLTab。

问题是我真的不熟悉 SWRL 规则语法。让我们一起来解决我的问题吧:

我有一个著名的本体,叫做“pizza”。假设我有一个 4cheesesPizza,Pizza 的子类。

我不想在 Protégé 的“等效于”选项卡中写“hasTopping 正好 4 CheesyTopping”的东西,但我想用 SWRL 规则语法写它。 (是的,我知道这很愚蠢,但这是一个例子,在我的真实情况下,写一个规则是有意义的)。

我尝试了类似Pizza(?p) ^ hasTopping(?p,?t) 的方法,但接下来,我被完全阻止了。我不知道该怎么办。

此外,当我启动 OWL + SWRL -> Drools 时,在推断公理中已经有 100 多行,这是不可读的。

如果有人有解决办法,

谢谢,克莱门特

【问题讨论】:

  • OWL 和 SWRL 都适用于开放世界假设,因此,除非应用某种封闭世界推理,否则它不起作用。

标签: owl protege swrl


【解决方案1】:

你想在 SWRL 中做的事情是不可能的。 IE。 SWRL 需要计算与Pizza 类型的特定个人p 存在hasTopping 关系的个人数量。 SWRL 不能这样做,但 OWL 推理器可以,因此您在 Protege 中指定的是正确的方法。

作为 SWRL 语法的示例,假设您有 ExpensiveToppingExpensivePizza 类,您可以在 SWRL 选项卡中添加规则以确定昂贵的披萨:

Pizza(?p) ^ hasTopping(?p,?t) ^ ExpensiveTopping(?t) -> ExpensivePizza(?p).

【讨论】:

  • OWL 推理器可以做到这一点吗?真的吗? 1) 在 OWL 中,没有唯一名称假设 (UNA),因此,必须通过 OWL 公理明确地将个体声明为成对不同。 2) 在 OWL 中,我们有 开放世界假设 (OWA),即像 hasTopping exactly 4 CheesyTopping 这样的东西不能那么容易工作,因为可能有更多 hasToppingCheesyTopping 的关系不是已知 - 这就是 OWA 的理念。因此,给定 4 个 hasTopping 关系,OWL 推理器无法推断出个体 x 属于 4cheesesPizza 类。
  • 是的,这是正确的,虽然我试图回答 SWRL 的实际问题。
  • 我提到了你的陈述 “SWRL 不能这样做, 但是 OWL 推理器可以” - 从我的角度来看,这有点太笼统了
  • SWRL 是 OWL 的扩展,所以 OWL 能做的,SWRL 也能。
  • 感谢您的回答。有用。我没想到会是这样。克莱门特
猜你喜欢
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2016-10-16
  • 2022-08-19
相关资源
最近更新 更多