没有FROM关键字的Sparql

时间:2011-09-09 05:35:57

标签: database semantics semantic-web sparql

如果有人能澄清,我很高兴。

我总是读到SQL和SPARQL非常相似。 但是,很多时候我看过没有FROM关键字的sparql查询。 您可以假设您必须在数据库中的某个位置查询数据源“FROM” 就像SQL的行为一样。

实施例

PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE 
{
    ?person foaf:name ?name .
}

它如何知道在哪里寻找?与在SQL中一样,查看Database1 - table1

干杯

2 个答案:

答案 0 :(得分:3)

SPARQL查询是针对 RDF数据集执行的,它包含两部分:

  • 单个默认图表:一组没有附加姓名的三元组
  • 零个或多个命名图表:一组由名称
  • 标识的三元组

您可以使用可选的FROMFROM NAMED子句指定要查询的图表。看看Specifying RDF Datasets。如果省略这些子句,则在默认图形上执行查询。


图形和RDF数据集存储依赖于实现。例如,使用Jena ARQ您使用QueryExecutionFactory,您可以通过两种方式对其进行初始化:

  • 传递Model,这将成为执行查询的默认图表
  • 传递Dataset,其中包含一个默认图表和多个命名图表

Jena ARQ的代码示例可用here。其他实施可能会有所不同。

答案 1 :(得分:2)

它更接近于“查看Database1,所有表格”。

由于RDF中的所有数据都是三元组(如果您以这种方式查看世界,则可以选择四边形),您可以一次性查询所有内容,而无需担心架构差异。