我有一个巨大的语义网络,它有其特定的 Java API 用于查询数据(数据存储在多个 Lucene 索引中)。
我想要一些更具交互性(比 Java 编程)的东西来查询它,比如 Datalog接口(interface)(或者您可以建议的其他东西!),以便我可以公开一些关系,然后使用 conjunctive queries提取我需要的数据,一切都很简单,可以在虚拟交互式 shell 中编写。
在不重新发明轮子的大部分部件的情况下实现这一目标的可能性有哪些? (即无需自己编写数据记录应答系统)
集成数据记录前端来提取数据是否更好(假设存在这种可能性)? 或者最好导出RDF中的数据,并使用一些可用的查询/推理工具?哪一个?
最佳答案
我知道你说你不一定想做很多Java编程,但是Jena的general purpose rule engine包括一个向后链接规则推理器,它是一个数据记录引擎。规则语言相当简单,如果需要,您可以使用 Java 对其进行扩展。如果您编写一组规则,则可以将它们提供给推理器,将推理器与 RDF 模型绑定(bind)以生成推理模型,然后您可以使用 Java API 查询该推理模型,或使用 SPARQL 公开推理模型端点(例如,Jena 的 Fuseki )。
如果规则不是静态的并提前修复,您也许可以将 webabb 接口(interface)扩展到 Fuskei 以提供“规则编辑”部分,您可以在其中提供规则集并在数据集上运行它们。
关于java - 如何使用 Datalog 查询接口(interface)公开巨大的语义图(链接数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16944990/