graphdb - GraphDB 中的 SPIN Hack
问题描述
我在 TopBraid 中创建了一个使用 SPIN + OWL 推理的本体。我一直在试图找出一种解耦 SPIN 的方法,因为大多数 RDF 图数据库供应商仍然不支持该标准。
我想出的使用 GraphDB 的方法是将我的本体加载到 GraphDB 中,然后将存在于我的本体中的每个 spin:rule 作为 SPARQL UPDATE/INSERT 执行。
首先,我想弄清楚是否可以在进行一组 SPARQL INSERTS/UPDATES 时暂时关闭 GraphDB 推理器,然后再打开推理器。
其次,虽然可能不推荐,但是否可以将 SPARQL INSERT/UPDATES 添加到隐式图中而不是显式图中?
如果有人对如何做到这一点有更好的想法,请告诉我。
解决方案
我想您可以通过选择默认规则集来关闭推理器,该规则集为空(或非常基本),如此处所述http://graphdb.ontotext.com/documentation/free/reasoning.html(设置默认规则集)。
但是,如果您希望您的 SPIN 规则(转换为 INSERT/UPDATE)被完全执行,您必须 1- 执行 NSERT/UPDATEs 2- 启动推理器重复 1 和 2 直到没有生成新的三元组
推荐阅读
- c# - 当以编程方式生成所有行时,如何允许分页gridview?
- r - 使用冒号运算符了解数据帧的索引
- ios - 如何使用 Core Motion 将 uiview 从一个点移动到另一个点
- mysql - Codeigniter SQL 查询不适用于 WHERE 子句中的特殊字符
- django - 在服务器中找不到 URL
- ssl-certificate - Bot Emulator V4 连接:对 https://localhost:44378/api/messages 的请求失败,原因:无法验证第一个证书
- go - 执行外部命令并返回其输出
- java - sqlite 中的 checkIfRowExists() 不起作用
- asp.net-core-mvc - ASP.NET Core MVC 在局部视图/ViewComponent 中提交表单
- c++ - 在代码块 (C++) 中调试时,我可以选择跳过所有打开的内部库调用和函数吗?