SPARQL是一种查询语言,也就是一种用于在.另一方面,推理是从现有数据中获取新信息的过程。这是两个不同的互补过程。
- 要从本体中检索信息,可以使用SPARQL。你可以不用推理,也可以和推理者结合。如果您有一个reasoner,这意味着您的查询可以更简单,并且在某些情况下,推理者可以派生出完全不能通过查询来检索的信息。
- 像Pellet这样的推理者并不真正回答问题,他们只是推理:他们知道从原始事实中可以得到什么隐含的信息,并且可以做一些事情,比如验证事物是一致的(也就是说,您的数据中没有逻辑矛盾)。佩莱可以知道,如果你拥有一辆丰田汽车,这是类型的汽车,你拥有一辆车(因为汽车是一种类型的车辆)。或者,如果你定义一个比萨饼的成分是“帕尔马干酪”,那么你就会得到一个“奶酪”型披萨(因为它知道帕尔马干酪是一种奶酪)。因此,您可以使用像Pellet这样的推理器来获得这种隐式信息,然后使用像SPARQL这样的查询语言来问:“好吧,给我一个关于所有也有凤尾鱼的低俗比萨饼的概述”。
- 像Jena这样的API是将RDF视为抽象模型的工具包。保存文件的语法格式是无关紧要的,它几乎可以读取任何RDF语法。一旦你在耶拿模型中读到了它,你就可以在上面执行颗粒推理器--不管你的原始文件是哪种语法。有关如何做到这一点的详细信息可以在Jena文档中找到。