gpt4 book ai didi

java - 如何使用自定义 SWRL 内置插件扩展 Pellet 2.4.0?

转载 作者:行者123 更新时间:2023-12-01 08:52:12 29 4
gpt4 key购买 nike

我已经使用 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com