我正在尝试在Protege 5.2中使用SWRL的内置函数,但它们似乎无法运行。当我启动我的推理器(pellet)时,所有其他规则(没有任何内置编写)都被推断并且清晰可见。 我不确定,我是否需要在protege或任何其他方式设置内容以使用内置的东西。即使是如下的简单示例也无效:
Person(?x) ^ hasAge(?x,?age)^ swrlb:greaterThan(?age, 17) -> Adult(?x)
我将不胜感激任何帮助。感谢。
答案 0 :(得分:0)
即使支持SWRL,一些reasoners也不支持内置类型。根据推理器的不同,您可能会在Protege的右上角看到一个红色三角形。点击它将详细说明所遇到的错误。
不幸的是,我不知道有一个支持SWRL内置类型的推理器。
在这种情况下,有一种解决方法。您可以指定:
Class: Adult
hasAge some xsd:int[> "17"^^xsd:int]