我正在使用Protege 4.3和SWRL作为推理者制定一些规则。

我正在尝试使用swrl内置,但我根本无法使它起作用。

该规则是正确的,但Protege似乎根本没有识别(例如SWRLB:大trlb)

您能告诉我使Protege 4.3识别SWRL内置所需的过程吗?

这是一个规则的示例:

Asset(?p), id(?p, ?x), swrlb:greaterThan(?x, 10) -> State(?p)

我的问题是,它似乎根本没有识别 swrlb:greaterThan. 。错误说:

OwlruntimeException:org.protege.editor.Owl.model.classexpression.OwlexPressionParsereXception:遇到的SWRLB:在第1行30列的大trlb。

有帮助吗?

解决方案 2

在Protégé(无论如何,4.2.0,但我都希望4.3是正确的),您不需要添加前缀 swrlb: 在编辑中。只是使用 greaterThan. 。例如,如果您在编辑器中键入此内容:

rule editor

你会得到:

the rendered rule

其他提示

班级:状态

id some xsd:int[> "10"^^xsd:int]

当前Protege(我正在使用V 5.5.0)不支持推理(隐士,颗粒,...)。你可以:

  • 创建一个“状态”类
  • 在“状态类”中添加类似于上述的“等价”规则
  • 运行推理器

现在,您应该在类型列表中看到具有“状态”的ID> 10的实体

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top