早上好。如果我们考虑这个查询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吗?
答案 0 :(得分:2)
在http://librdf.org/query的示例中,您在SPARQL查询上方的文本框中提供源文件的URI。上面的文字提出了两种可能的使用来源。要查看如何使用它,请输入其中一个并运行查询。您还可以查看“运行此查询”&#39;与其他示例相关联的链接。
更一般地,在URL的查询参数中提交到远程SPARQL端点的查询将使用端点的默认图。通常,这是要查询的商店中所有或部分命名图形的并集。可以使用FROM NAMED在查询中指定特定的命名图,也可以使用&#39; graph =&#39;在URL中指定。参数。
答案 1 :(得分:2)
当您向端点发送SPARQL查询时,它会针对&#34;默认图表&#34;执行。默认图表取决于端点;它的实现依赖。使用FROM和FROM NAMED可以指定要使用的图形。 FROM和FROM NAMED的工作方式在SPARQL 1.1规范的13.2 Specifying RDF Datasets中有更详细的描述。相关部分包括:
SPARQL查询可以指定要用于匹配的数据集 使用FROM子句和FROM NAMED子句来描述RDF 数据集。如果查询提供了这样的数据集描述,那么它就是 用于代替查询服务在没有的情况下将使用的任何数据集 数据集描述在查询中提供。