【问题标题】:FROM clause in SPARQL queriesSPARQL 查询中的 FROM 子句
【发布时间】:2015-07-09 10:19:12
【问题描述】:

早上好。如果我们考虑这个查询 SPARQL,例如:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?name
WHERE {
  ?x rdf:type foaf:Person .
  ?x foaf:name ?name
}
ORDER BY ?name

查询取自link

我的问题是:它没有任何 FROM CLAUSE。那么它如何查询数据集呢? 最后,当我必须进行 SPARQL 查询时,我必须设置 FROM CLAUSE 吗?

【问题讨论】:

    标签: rdf sparql


    【解决方案1】:

    当您向端点发送 SPARQL 查询时,它会针对“默认图”执行。默认图是什么取决于端点;它依赖于实现。使用 FROM 和 FROM NAMED 可以指定要使用的图形。 FROM 和 FROM NAMED 的工作方式在 SPARQL 1.1 规范中的 13.2 Specifying RDF Datasets 中有更多描述。相关部分包括:

    SPARQL 查询可以指定用于匹配的数据集 使用 FROM 子句和 FROM NAMED 子句来描述 RDF 数据集。如果查询提供了这样的数据集描述,那么它是 如果没有,则用于代替查询服务将使用的任何数据集 数据集描述在查询中提供。

    【讨论】:

    • SPARQL 实现如何处理存在多个FROMFROM NAMED 子句的情况?然后,SPARQL 执行是否会尝试针对多个数据集迭代地解析 where 子句中的模式?
    【解决方案2】:

    http://librdf.org/query 的示例中,您在 SPARQL 查询上方的文本框中提供源文件的 URI。它上面的文字提出了两种可能的来源。要查看如何使用它,请输入其中之一并运行查询。您还可以查看与其他示例关联的“运行此查询”链接。

    更一般地,在 URL 的查询参数中提交到远程 SPARQL 端点的查询将使用端点的默认图。通常这是被查询的商店中所有或部分命名图的联合。可以在查询中使用 FROM NAMED 或在 URL 中使用 'graph=' 参数指定特定的命名图。

    【讨论】:

      猜你喜欢
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      相关资源
      最近更新 更多