在Protege的SWRL选项卡中,我正在尝试编写规则,但我只能在没有空格的类中执行此操作。例如,我有一个名为" equipment"在我的本体论中,所以我可以做到这一点,没有错误:
equipment(?x)
我还有一个名为"机器工具"的课程。因为这个类在它的名字中是一个空格,它说"无效的SWRL原子谓词'机器'"当我这样做时:
machine tool(?x)
我尝试使用下划线而不是空格,但这并不起作用。我也尝试将机床和报价如下,但随后它说"出乎意料的人物''' ":
'machine tool'(?x)
如果类名中有空格,我如何引用类?我有什么方法可以用URI来引用它吗?
答案 0 :(得分:1)
machine tool
不是本体中类的名称,它是附加到类的rdfs:label(或rdfs:comment)属性的值。编辑器不允许你使用它(我猜这很方便)。解决方法是找到类的实际IRI并使用它 - 如果可行,则缩短为QName。
答案 1 :(得分:1)
好的,我明白了。我不得不更新Protege中的SWRLTab插件,然后我可以通过它的URI引用该类,如下所示:
msdl:MSDL_0000070(?x)