问题标签 [pellet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rdf - OWL 和 DL 推理:爱神为什么不美?
我创建了一个基于以下内容的本体:
每个人都是美丽的,如果他/她的父母之一是美丽的
阿芙罗狄蒂是爱神之父
阿芙罗狄蒂很漂亮
因此我们希望爱神也很漂亮!然而,Pellet 推理机似乎并没有推断出这一点。如果我手动将 Eros 的类型设置为成功,它会接受它,但它不应该推断它吗?
我的本体就在这里(将扩展名更改为 .owl)。我还提供了 Protege 的屏幕截图:
我错过了什么?
编辑:
我可以看到 Eros 出现在这个 DL 查询中:
但不是在这个:
但是即使我说 OK some
,我仍然希望看到美丽,因为我在第二张图片中看到 Child,其中 Child 是由推理器推断的。
rdf - 没有孩子和幸福结合在一起?
这个问题与此有关:OWL and DL 推理:为什么爱神不美?
我正在尝试创建具有以下功能的本体:
如果他所有的孩子都成功了,那么每个人都是幸福的。
阿芙罗狄蒂是爱神之父。
爱神是成功的。
这是我对快乐的看法:
我希望阿芙罗狄蒂不会快乐,因为开放世界假设(她以后可能会有另一个孩子),但是爱神呢?他没有孩子,他不应该幸福吗?
eclipse - 如何在 Jena 3.0.1 (Eclipse) 中正确导入 Pellet 2.3.0?
我正在尝试在 Jena 3.0.1 中导入 Pellet 2.3.0 推理器(在 Eclipse 中工作)。为此,我在这里阅读了所有类似的问题(尽管有些已经过时)和 Apache Jena 网站上的常见问题解答。使用他们的代码,我总是在以下行中出现错误:
OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
Jena 工作正常,我已经测试过了。我猜是我没有为 Pellet 导入正确的 jar 文件。我从 GitHub 克隆了整个 Pellet 存储库,我发现的唯一 jar 文件是 Protege 文件夹中的那个。在带下划线的文本中移动光标 Eclipse 告诉我要导入一些东西,但问题仍然存在。罐子是造成该错误的原因还是其他原因?
java - Fuseki 如何添加 Pellet 推理机
我想在我的 Fuseki 2.3.1 中使用颗粒推理器
首先:我将 Pellet reasoner 添加到我的 config.ttl 中,如下所示:
所以现在我必须将 Pellet 的罐子添加到 fuseki
这个页面解释了如何将罐子(不是特别是颗粒)添加到 fuseki
https://jena.apache.org/documentation/permissions/example.html
所以我遇到了这条线
执行 $JAVA $JVM_ARGS -jar "$JAR" "$@"
我取消了这条线
java $JVM_ARGS -cp "$JAR:$APPJAR" org.apache.jena.fuseki.cmd.FusekiCmd "$@"
并取消注释以APPJAR=
现在我仍然需要知道并下载Pellete 的罐子,我找到了这个链接https://datababel.wordpress.com/2013/06/26/fuseki-using-pellet-inference/说哪些是罐子,
我从 maven 下载了最新的可用版本,它们是:
颗粒-耶拿-ignazio1977-2.4.0-ignazio1977.jar
颗粒规则-2.3.6-ansell.jar
颗粒-el-2.3.6-ansell.jar
颗粒数据类型-2.3.6-ansell.jar
颗粒核心-ignazio1977-2.4.0-ignazio1977.jar
aterm-java-1.8.2-p1.jar
commons-collections4-4.1-javadoc.jar
commons-collections4-4.1.jar
我将它们添加到 fuseki-server 脚本中,如下所示:
(它们在 fuseki 的主目录中)
我运行 ./fuseki-server,我得到了这个错误
请提供任何帮助
提示:我不知道我尝试的是否正确,我只想将 Pellet reasoner 包含到 fuseki 中
更新
在 ignazio 告诉我我正在混合罐子之后,
我去了 Pellet git hut 并下载了 src 并使用 maven 编译并获取了 jars
然后我将我正在使用的 jar 更改为:
但我得到了这个例外:
owl-api - 猫头鹰 api + 颗粒 ignazio1977
我在运行 Pellet 和 OWL-API 时遇到问题。为了调试代码,抛出以下异常:
}
在下一行引发异常:
OWLReasoner reasoner = reasonerFactory.createReasoner(ontology, new SimpleConfiguration());
POM.XML:
谁能给我有关如何解决此问题的任何提示?
我的类路径的主文件
System.out.println(System.getProperty("java.class.path")); 的结果
rdf - 为开发人员推荐的语义 Web 推理器是什么?
我正在寻找可以应用于大型数据集(关联数据)的语义 Web 推理器。我见过几个选项,Pellet 似乎是一个不错的选择,但它的最后一个版本是在 2013 年,它与 Java 的最后一个版本存在一些问题。考虑到社区支持、文档、支持的编程语言等,有人知道其他好的选择吗?
jena - 将 Pellet reasoner 与 Fuseki 服务器一起使用时出错
我尝试使用 Pellet reasoner 和 Jena 启动 Fuseki 服务器。我发现另一个有类似问题的线程,但是(1)我的错误消息不同,并且(2)看起来最终解决方案没有在引用的线程中提供。
问题是Fuseki说
目前尚不清楚为什么它指向这个根,我显然没有一个名为 as 的文件org.mindswap.pellet.jena.PelletReasonerFactory
。
这是我的config.ttl
文件,我按如下方式启动 Fuseki 服务器:
配置文件
我从这里下载了所有必要的 Jena 库,并将它们添加到 Fuseki 根目录,如此处所述。最后,我修改后的 fuseki-server 脚本如下所示:
现在当我尝试启动 Fuseki 服务器时,出现以下错误:
java - 如何将规则转换为 SWRL 代码?
假设我们有以下规则:
Course(?x), teacherOf(?y,?x),worksFor(?y,?z) => coursePresentedInUniversity(?x,?z)
颗粒或 java 中是否有任何库可以将上述规则转换为 SWRL 代码?例如,以下内容:
我知道颗粒可以做相反的事情(使用reasoner.getKB().getRules()
),但我不知道是否有任何东西可以将表示转换为 SWRL XML 代码。谢谢!
java - How to add SWRL rules to an Ontology using Java or pellet?
Instead of using Protégé to add rules to my ontology, I want to use Java or pellet to add SWRL rule to the ontology.
For example, this is the rule that I want to import into my ontology:
[Course(?x),teacherOf(?y,?x),worksFor(?y,?z)] => [coursePresentedInUniversity(?x,?z)]
I want to add the following code into the ontology:
#xA;Could anybody point me out to a sample code to do that?
Actually, I wrote the following code, but it didn't work!
#xA;owl - SWRLb - 大于和小于触发
我在使用 SWRL 规则时遇到问题。我有一个机器人应该在出现两种异常情况时通知人类。对于我的测试用例,我使用了用户的压力:
如果张力小于 14,则机器人提示张力过低:
(:hasTension :Charles ?x) ∧ GreaterThan(?x, "14.0"^^xsd:float) → (:hasAlert :Samii "你的压力很大"^^xsd::string)
如果张力大于 14,机器人会提示张力过高。
(:hasTension :Charles ?x) ∧ lessThan(?x, "14.0"^^xsd:float) → (:hasAlert :Samii "你的张力很低"^^xsd::string)
我正在使用带有颗粒推理器的 OWL API(颗粒的 openllet 叉)。为此,我有使用内置swrlb:greaterThan和swrlb:lessThan的 SWRL 规则。对于测试,我添加了公理
:查尔斯 :hasTension "10"^^xsd:float
并查询数据属性
:Samii :hasAlert ?alert
但是当我查询本体时,我收到两个警报:一个是大于,另一个是小于。我认为我的规则格式正确,API 没有任何警告或错误表明内置函数未实现,所以我相信规则应该按我的预期工作。知道为什么我会收到意外警报吗?
资源
我的测试“主要”
核心:
和我的本体
我的测试用例的输出: