2012-07-31 69 views
-1

我有两个关于从RDF获取数据的SPARQL问题。SPARQL中的搜索算法?

  1. SPARQL用于提取数据的底层搜索算法是什么?

  2. 如何使用不同的搜索算法从RDF中获取数据?

回答

2

对于1没有标准的答案,这将从数据库到数据库有所不同。一般来说,它不是我认为你的意思的搜索算法。大多数数据库将采用由解析SPARQL查询产生的查询代数,并将其转换为一系列扫描,连接,过滤器等,以便从索引中获取查询的答案。这是一个与关系查询回答不完全不相似的过程。

对于2,我没有丝毫的想法你在说什么。您可以从三重存储的API或通过SPARQL从三重存储中获取RDF数据。就是这样。您可以在这两种访问数据的机制之上构建自己的算法,然后您可以自由使用您喜欢的任何算法,但是您无法更改三元组的任何基础位您正在使用的商店。

+1

我会补充说,如果您使用的是基于芝麻的三重存储,您可以使用Tinkerpop Blueprints内容在Sesame存储库中覆盖Gremlin图形查询语言,以允许您使用Gremlin作为查询语言。这不会像SPARQL那样有效(至少在我最后一次检查w /它们的实现时),因为它们没有将Gremlin转换为三重存储的内部查询运算符,而仅仅是针对Sesame API实现它。如果你喜欢Gremlin,这是一个方便的方法,但我不确定它的规模。 – Michael 2012-07-31 14:52:11