首页 > 解决方案 > Jena:如何使用 Jena 规则在本体图中更新(未添加)RDF 三元组

问题描述

如何使用 jena 规则更新 RDF 三元组(未添加新的三元组)。我正在使用通用规则推理器,规则位于单独的文件中,如案例 1 所示

@prefix fa: http://www.smarthome_haier.com#

Rule1: (?a fa:setTimer “0”)(?a fa:windvolume “150”)->remove(0)(?a fa:setTimer “1”)

使用remove() 内置原语添加新三元组并使用 remove() 内置选项删除旧三元组“(?a fa:setTimer “0”)”可以正常工作。

但例如在下面的第二种情况下,我们想要与第一种情况相同的结果

@prefix fa: http://www.smarthome_haier.com#

规则1:(?a fa:airPresure “40”)(?a fa:windvolume “150”)->(?a fa:setTimer “1”)

使用它会在图中添加新的三元组 (?a fa:setTimer “1”),但旧的三元组也存在 (?a fa:setTimer “0”),因为我们没有删除那个。

我们如何在第二种情况下更新三倍? 其中 (?a fa:setTimer “0”) 不存在于规则头中。我希望这能解释这个问题。任何帮助将不胜感激。谢谢!

点击 [这里] Jena 推理支持https://jena.apache.org/documentation/inference/index.html

标签: rdfjenaowlontologyjena-rules

解决方案


推荐阅读