【发布时间】:2014-07-07 13:16:13
【问题描述】:
我正在使用 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 的数据记录规则中的空白节点表示是否有问题?
【问题讨论】:
标签: jena inference jena-rules