- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 SWRLAPI 的 SWRLBuiltInBridge 组件完成了此任务: https://github.com/protegeproject/swrlapi/wiki/SWRLBuiltInBridge
但是,在我的 Java 代码中,我还将 Pellet Reasoner 与 OWLAPI 结合使用。每当我使用推理器时,当它发现具有未知内置的 SWRL 规则时,它都会生成警告。我知道我可以在推理器中禁用规则检查,并在我想运行规则时使用 SWRLAPI。
但这似乎不切实际......因为在使用推理器之前,我必须在每次本体修改后运行规则。
我看过一个深入研究这个问题的博客页面,但可能已经过时了: https://semwebguy.wordpress.com/2011/01/04/how-to-extend-pellet2-2-2s-swrl-built-in-support-with-your-custom-built-in/
此外,与 SWRLAPI 相比,创建内置函数的方式(根据博客)是不同的(例如 Abox 对象是一个参数)。
还有其他方法可以做到这一点吗?或者是否可以将 Pellet 与 SWRLBuiltInBridge 连接?
最佳答案
Pellet Reasoner 不使用 SwrlApi。 Pellet 使用/实现内置的方式与 SwrlApi 相差甚远。每个内置函数都必须与推理器 (ABox) 的内部数据结构进行交互,并且必须使用 ATerm 的对象来进行交互。
但是如果您需要这样做,总有一种可行的方法。您可以按照示例 on the method testSpecialBuitIn() .
关键是使用以下方法添加自定义内置:BuiltInRegistry.instance.registerBuiltIn。
如果您的内置函数是正确的,则没有其他要求。
请注意,该解决方案使用了没有接口(interface)的 Pellet 的 .core. 模块;因此,形式/行为的变化可能会在没有警告的情况下从一个版本发生到另一个版本。
关于java - 如何使用自定义 SWRL 内置插件扩展 Pellet 2.4.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42317609/
我正在尝试使用 SWRLAPI 和 OWLAPI 将 SWRL 规则添加到我的本体中。我正在尝试使用与 SWRLAPI 兼容的 OWLAPI 版本。但是,我在创建规则时仍然遇到错误。这似乎是依赖管理的
我正在写一篇关于天气如何影响人们健康(气象病)的毕业论文。本体如图所示:http://dl.dropbox.com/u/5322973/WeatherHealthcast1%20-%20Propert
任何人都可以解释 SWRL 规则的目的。据我了解,SWRL 规则与 SQL 中的存储过程相同。我制定了一些规则,但不知道如何通过查询在我的应用程序中使用它们。我不知道我是否以正确的方式思考 SWRL
我创建了这个本体,其中包含两个类:血糖和服务。 Blood-Sugar 有两个数据属性:hasValu(范围为 xsd:int)和 hasStatut(范围为 xsd:string)。对象属性trig
假设我们有以下规则: Course(?x), teacherOf(?y,?x), worksFor(?y,?z) => coursePresentedInUniversity(?x,?z) pelle
我需要在Protégé中实现一个OWL-ontology,它包含两个类:s1和s2,都是System的实例> 类。这两个类是通过连接类s1_s2 连接起来的,其中包含属性omega。该属性必须根据以下
我目前正在发现 Owlready 库的所有可能性。 现在我正在尝试处理一些 SWRL 规则,到目前为止一切顺利,但我有一点被卡住了。 我已经在我的本体中定义了一些规则,现在我想查看所有结果(因此,一切
protege SWRL选项卡在Protege 4版本中不可用,我已经尝试了protege 4.1和protege 4.2。据说用于在 protege 中编辑 SWRL 规则的 axiome 插件仅适
我正在对基于本体的上下文管理和基于流程的上下文管理进行性能分析。然而,为了创建与 PCM 案例研究类似的场景,我需要在推理过程中直接从 Jena SWRL 规则触发 Java 方法。我做了很多研究,但
我正在处理使用 Protégé 生成的 OWL 文件。我在 Java 代码中使用 OWL API。我有一组定义的类,例如: SpeciesA ⊑ Species ⊓ ∃hasPart.Fruit ⊓
我尝试在java owl-api 中使用swrl 和pellet。我看过: owl2 and swrl tutorial test of builtin swrl in pellet和 swrl de
我创建了一个包含类 Blood_Sugar 的本体该类包含 4 个子类:Normal_BS、High_BS、Low_BS 和 Dangerous_BS。我想在 Protege 3.4.8 上执行一个
我无法找到一些使用 SWRL 和 Jena 的简单代码示例佩莱,或者至少使用 SWRL?我研究了 Pellet 文档中的一些示例,但没有关于使用 SWRL 的示例。网络上的大多数示例都不完整且令人困惑
我已经使用 SWRLAPI 的 SWRLBuiltInBridge 组件完成了此任务: https://github.com/protegeproject/swrlapi/wiki/SWRLBuilt
我不想使用 Protégé 将规则添加到我的本体中,而是想使用 Java 或 pellet 将 SWRL 规则添加到本体中。 例如,这是我要导入到我的本体中的规则: [Course(?x),teach
我的问题是,如果我想检查实例是否在范围内,我使用以下规则: Rule1: Error(?d), TimeRelatedError(?c), TimeRelatedError_start_at(?c,
我正在尝试使用 Jena 框架来编辑使用 Protoge 4.2 构建的现有本体。即更改属性值或添加个人或类别,然后进行推理。假设在本体中我们有这样的规则:hasAge(?p,?age)^swrlb:
什么: 我面临着我所说的问题,但它可能不是。 为了满足某些需求,我通过 OWL API 创建一系列 swrl 规则,这些规则在序列化后将通过简单的文件上传添加到 stardog 存储库中。 出于示例目
我是一名优秀的程序员,十分优秀!