Sparql 从默认值中选择实际上是做什么的?

Sparql 从默认值中选择实际上是做什么的?,sparql,rdf,named-graphs,Sparql,Rdf,Named Graphs,Sparql有一个“默认图”的概念,当没有指定图上下文时会查询该图,它(取决于三元组存储)可能是存储库中可用的适当图的并集,也可能是一个单独的“空图”;到目前为止还不错 但是sparql也有一个可以指定的名称,而不是图形名称,如中所示 SELECT * FROM DEFAULT WHERE { ... } 这个命令的作用是什么?我只能将其解释为一种明确的方式,要求在根本没有FROM子句的情况下发生同样的事情。但这是正确的吗?我找不到关于它的文件。在更新查询中使用它,或者与清除、复制等一起使用,

Sparql有一个“默认图”的概念,当没有指定图上下文时会查询该图,它(取决于三元组存储)可能是存储库中可用的适当图的并集,也可能是一个单独的“空图”;到目前为止还不错

但是sparql也有一个可以指定的名称,而不是图形名称,如中所示

SELECT *
FROM DEFAULT
WHERE { ... }

这个命令的作用是什么?我只能将其解释为一种明确的方式,要求在根本没有FROM子句的情况下发生同样的事情。但这是正确的吗?我找不到关于它的文件。在更新查询中使用它,或者与
清除
复制
等一起使用,又如何呢。?任何人都可以指出这个关键词的含义和预期用途的文档,或者至少解释一下它存在的原因吗?

默认值是一个为将来的工作提出的功能

该语法涵盖SPARQL查询和SPARQL更新,因为它们共享大量语法信息。它们有不同的入口点(和)

默认的
关键字出现在和中。这两者都仅在SPARQL更新中使用

添加
移动
编码
使用
图形默认值
<代码>清除
放下
使用
图形下落

后跟
iri
,或
名为iri


中省略
表示隐式默认图。

当查询中有一个或多个
从命名的
语句时,查询的数据集仅由这些图组成。Per:

FROM和FROM命名关键字允许查询通过引用指定RDF数据集;它们表明,数据集应包括从给定IRI标识的资源表示(即给定IRI引用的绝对形式)中获得的图形。由许多from和from命名子句生成的数据集为:

  • 由FROM子句中引用的图的RDF合并组成的默认图,以及
  • 一组(IRI,图形)对,每个from命名子句中有一个
如果没有FROM子句,但有一个或多个FROM命名子句,则数据集包含默认图的空图

因此,这些子句的存在基本上会创建一个查询数据集,该数据集可能会隐藏底层数据集中的一些/所有图形。您的查询在此查询数据集上运行

中所述,FROM DEFAULT
是SPARQL语言的未来扩展,它允许显式引用数据集默认图(无论是什么)。目前没有标准化的方法来实现这一点,因此只有从
子句中省略任何
的查询才能访问默认图,除非您的服务提供了一些非标准的方法来引用它,例如用于引用默认图的自定义URI

对于您的特定示例查询:

SELECT *
FROM DEFAULT
WHERE { ... }

这将产生一种效果,即使用服务默认值和不可见的命名图(即任何
graph?g{}
子句在此查询中不匹配)形成一个带有默认图的查询数据集。良好概述:感谢链接!“Bob呢?”一节非常有用(但仍然只是部分信息)。谢谢!这包括语法,但是这些命令做什么呢?根据@stanislav提供的信息,默认值似乎是指空图,而不是“隐式默认图”(通常是所有图的并集)。这是正确的吗?它是否适用于更新语法以及选择方案?在SPARQL更新中,它指的是存储图形存储的未命名图形。它已经在SPARQL更新1.1中。在SPARQLquery和update中,是使用许多相同语法元素的不同语言<代码>复制到默认值
将名为的图形中的所有三元组复制到图形存储的默认图形中。谢谢,我已经研究了sparql11更新文档,它没有明确说明在编写默认值时,哪些图形会受到影响。(可能可以从其他部分推断…)因此,您在注释中所写的是新信息。第2部分:“图形存储包含一个(未命名)插槽,其中包含默认图形,零个或多个命名插槽,其中包含命名图形。”其“图形存储”是因为其可变RDF图形和RDF数据集是不可变的。因此,执行模型必须是“接受旧值,计算新值,替换插槽”