2

我有一个巨大的语义网络,它具有用于查询数据(存储在多个Lucene索引中的数据)的特定 Java API。

我想要一些更具交互性的东西(比 Java 编程)来查询它,比如Datalog接口(或者你可以提出的其他东西!),这样我就可以公开一些关系,然后使用联合查询来提取我需要的数据,以及一切很简单,可以在虚拟交互式 shell 中编写。

在不重新发明大部分轮子的情况下实现这一目标的可能性有哪些?(即无需自己编写数据记录应答系统)

集成 Datalog 前端来提取数据是否更好(假设存在这种可能性)?或者最好在RDF中导出数据,并使用一些可用的查询/推理工具?哪一个?

4

1 回答 1

3

我知道你说你不一定想做很多 Java 编程,但是 Jena 的通用规则引擎包括一个反向链接规则推理器,它是一个数据记录引擎。规则语言相当简单,如果需要,您可以使用 Java 对其进行扩展。如果您编写一组规则,您可以将它们提供给推理器,将推理器与 RDF 模型绑定以生成推理模型,然后您可以使用 Java API 查询该推理模型,或使用 SPARQL 公开推理模型端点(例如,使用 Jena 的Fuseki)。

如果规则不是静态的并且提前固定,您可以将 webabb 接口扩展到 Fuskei 以提供“规则编辑”部分,您可以在其中提供规则集并在数据集上运行它们。

于 2013-06-05T18:38:51.643 回答