- sparql/
- 使用Pellet理解SPARQL和语义推理之间的差异
使用Pellet理解SPARQL和语义推理之间的差异
使用Pellet理解SPARQL和语义推理之间的差异,sparql,rdf,semantics,owl,ontology,Sparql,Rdf,Semantics,Owl,Ontology,我有一个比萨饼本体,它定义了不同类型的比萨饼、配料以及它们之间的关系。
我只想了解几件基本的事情:
如果我想获得信息,而不使用SPARQL,那么我应该使用SPARQL,这是正确的吗
推理?例如,哪些比萨饼含有洋葱
SPARQL和推理算法之间的区别是什么
像小球?哪些查询不能由SPARQL回答,而可以
用小球回答?比萨饼本体的一些查询示例(类似问题)会很有帮助
据我所知,将Java中的SPARQL与Jena一起使用,我
应该以RDF/XML格式保存我的本体。然而,使用颗粒
对于Jena,我需要选择
我有一个比萨饼本体,它定义了不同类型的比萨饼、配料以及它们之间的关系。
我只想了解几件基本的事情:
如果我想获得信息,而不使用SPARQL,那么我应该使用SPARQL,这是正确的吗
推理?例如,哪些比萨饼含有洋葱
SPARQL和推理算法之间的区别是什么
像小球?哪些查询不能由SPARQL回答,而可以
用小球回答?比萨饼本体的一些查询示例(类似问题)会很有帮助
据我所知,将Java中的SPARQL与Jena一起使用,我
应该以RDF/XML格式保存我的本体。然而,使用颗粒
对于Jena,我需要选择哪种格式?小球使用猫头鹰2
SPARQL是一种查询语言,也就是说,一种用于在中表达问题的语言。另一方面,推理是从现有数据中获取新信息的过程。这是两个不同的互补过程
要从本体中检索信息,可以使用SPARQL。你可以不用推理,也可以与推理机结合使用。如果您有一个推理机处于活动状态,这意味着您的查询可以更简单,并且在某些情况下,推理机可以派生出仅凭一个查询根本无法检索的信息
像Pellet这样的推理者并没有真正回答问题,他们只是推理:他们找出可以从原始事实中得到的隐含信息,并可以做一些事情,比如验证事情是否一致(即数据中没有逻辑矛盾)。佩莱可以计算出,如果你拥有一辆丰田汽车,这是一种汽车类型,你就拥有一辆汽车(因为汽车是一种汽车类型)。或者它可以计算出,如果你定义一个比萨饼的配料是“帕尔玛干酪”,那么你就得到了一个“奶酪”类型的比萨饼(因为它知道帕尔玛干酪是一种奶酪)。因此,您使用诸如Pellet之类的推理程序来推导此类隐式信息,然后使用诸如SPARQL之类的查询语言来实际询问:“好的,给我一个关于所有也有凤尾鱼的奶酪比萨的概述。”
像Jena这样的API是将RDF作为抽象模型处理的工具包。保存文件的语法格式无关紧要,它几乎可以读取任何RDF语法。一旦你在Jena模型中读取了它,你就可以在它上面执行Pellet reasoner——不管你的原始文件是用哪种语法。有关如何执行此操作的详细信息,请参见Jena文档
谢谢你的回答。顺便问一下,本体概念之间的相似度计算是否与推理过程有关?例如,比萨A与比萨B有30%的相似性,因为两种比萨都含有“帕尔马干酪”和“洋葱”成分。