我正在使用 GenericRuleReasoner 来推断我的本体中的虚拟事实。GenericRuleReasoner 将推理规则作为输入中的 Datalog 规则作为jena inference support中的解释。这是附加到通用推理器的 DatalogRule 的示例:
String rules = "[r1: (?e1 st:runningTask st:gic_eth0) -> (?e1 rdf:type st:dataFromEthernet2IP)]";
Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rules));
reasoner.setDerivationLogging(true);
InfModel inf = ModelFactory.createInfModel(reasoner, rawData);
当我在我的数据上测试此代码时,它运行良好并推断出 2000 个虚拟事实。但是,当我更改 Datalog 规则以创建这样的空白节点时
String rules = "[r1: (?e1 st:runningTask st:gic_eth0) -> (_:p rdf:type st:dataFromEthernet2IP)]";
我只得到推断的虚拟事实。
GenericRuleReasoner 的数据记录规则中的空白节点表示是否有问题?