在在编的SWRL中,我试图编写一条规则,但我只能在没有空格的类中这样做。例如,我的本体中有一个名为“设备”的类,所以我可以在没有错误的情况下这样做:
equipment(?x)我还有一门课叫“机床”。因为这个类的名称是一个空格,所以在我这样做时,它会说“无效的SWRL谓词‘机器’”:
machine tool(?x)我试着用下划线代替空格,但那行不通。我还试着把机床和引号写在下面,但后面写着“意想不到的字符":
'machine tool'(?x)如果类名中有一个空格,我如何引用一个类?我是否可以用URI来引用它呢?
发布于 2018-05-10 22:53:02
好吧我想明白了。我必须在Protege中更新SWRLTab插件,然后按其URI引用该类,如下所示:
msdl:MSDL_0000070(?x)发布于 2018-05-09 11:28:12
machine tool不是本体中类的名称,它是附加到类的rdfs:标签(或rdfs:注释)属性的值。编辑器不允许您使用它(我想这会很方便)。解决方法是找到类的实际IRI,并使用它的缩写为QName (如果可以的话)。
https://stackoverflow.com/questions/50245987
复制相似问题