当前位置: 首页 > 知识库问答 >
问题:

如何使用Pellet在Protegé4.3上使用SWRL规则

韩梓
2023-03-14

我刚开始用Protegé做本体论方面的工作,我正在尝试理解如何使用SWRL规则。我恐怕我不知道如何正确地对待它们,因为我不能产生任何输出。我将更多地解释我创建的一个简单的案例来测试这一点:

我创建了三个个体,称为A、B和C,每个个体都有一个测试属性,具有一个布尔范围。在每个属性断言选项卡上,我都初始化了它们的值,因此它们是测试(A,true)测试(B,true)测试(C,true)。为了测试规则是如何工作的,我创建了这样一个规则:test(a,true),test(B,true)->test(C,false)。我的理解是,如果A和B的测试属性为真,那么C的一将变为假。为此,我启动了reasoner(Pellet)但什么也没有发生。我的意思是,它说推理器是活动的,没有“不一致的本体”消息出现,但是C的测试值没有改变。我确信这一定是一个真正简单的混淆,但我似乎找不到它,也无法检查规则是否已激活。

提前谢谢你。

共有1个答案

申自明
2023-03-14

这个推断不是这样工作的,如果已经断言了test(C,true)就不能收回它。您的本体可能包括测试(C,true)测试(C,false),除非您另有规定,否则这是完全合法的;在这种情况下,您会看到不一致。

 类似资料:
  • 我一直在尝试设置一个查询打印机:https://github.com/owlcs/owlapi/wiki/dl-queries-with-a-real-reasoner,如果我用曼彻斯特语法给它一个查询,我就可以得到一个响应,它反映了我在Protege中得到的结果。我用Openllet替换了Hermit reasoner,它似乎不能再检索任何个体了。 出于原因,如果可能的话,我想远离耶拿。 ont

  • OWLAPI用于序列化SWRL规则的OWL-XML序列化格式在哪里指定?例如。通过使用Protege(据我所知,它使用OWLAPI)序列化一个简单的规则,我得到以下代码: 这与SWRL规范[1]: 谢谢你![1]https://www.w3.org/submission/swrl/[2]http://dl.acm.org/citation.cfm?id=2890050

  • 我使用RDF4J在Ontotext GraphDB上创建一个存储库,向其导入RDF/XML并执行SPIN规则。 我们可以创建和配置存储库,如下所示http://graphdb.ontotext.com/documentation/enterprise/using-graphdb-with-the-rdf4j-api.html 什么是SPIN支持的正确配置和在Ontotext GraphDB FRE

  • haspart(x,FruitA) HasShape(x,Round) 我检索我的个人所属的每个类(在本例中,这应该包括SpeciesA)。 我根本不确定应该使用什么:我可以使用SWRL Species(?x)^HasPart(?x,Fruit)^HasShape(?x,“$round$”)还是应该使用Reasoner?

  • 本文向大家介绍如何在BigDecimal上使用>,=,相关面试题,主要包含被问及如何在BigDecimal上使用>,=,时的应答技巧和注意事项,需要的朋友参考一下 Class的每个对象都有一个可用来将其与另一个BigDecimal进行比较的方法。然后比较的结果,或者根据需要进行比较。阅读文档,您将找到答案。 运营商,,等只能在基本数据类型等中使用,,或它们的包装类等和。 从以下文档中: 将其与指定