大多数推理机支持SWRL,允许用户添加自己的推理规则。但是,在我的上下文中,这些用户规则可能需要推断规则结果侧的空白节点。
Jena为makeTemp
提供了一个完成工作的内置方法-- 详见此处。
以下是一个例子:
[r1: (?e1 st:runningTask st:gic_eth0), makeTemp(?p)
->
(?p rdf:type st:dataFromEthernet2IP) ]
我的问题是:
SWRL是否支持在规则的结果端进行空节点推断?SWRL w3c对这种特殊情况只字未提。
发布于 2015-01-10 14:15:42
SWRL规则中的变量接受的值是OWL个人和RDF文本。空白节点不能是RDF文本,尽管空白节点可能是未命名的OWL个体。(我不确定SWRL是否适用于未命名但已声明的个人;它不适用于未声明的个人(例如,可以推断其存在但实际上没有声明表示的个人)。在任何情况下,SWRL变量都不会绑定到任意的空白节点。
这里的重要见解是,Jena规则在RDF上工作,RDF有URI节点、空白节点和文字的概念。SWRL规则适用于OWL结构。您实际上不需要RDF来进行OWL推理,而且您可以在没有任何底层RDF表示的情况下进行SWRL推理。因此,如果您使用的是SWRL,您不应该考虑某个东西是否是一个空白节点;OWL没有空节点;空白节点是一个RDF构造。
https://stackoverflow.com/questions/27856826
复制相似问题