SPARQL四元模式

SPARQL四元模式,sparql,Sparql,在SPARQL中,QuadPattern如下 由此我了解到,QuadPattern可以是空的。但我不明白原因。空的四元模式的用途是什么?例如,使用空的四元模式,您可以完全删除默认图形: DELETE WHERE { } 但是,语法允许的事实并不一定意味着有人故意选择允许特定模式。在某些情况下,用更通用的方式定义事物可能更方便。正如@Antoine Zimmermann所指出的,仅仅因为语法允许,并不意味着它有意义 在这种情况下,我相信这样做是为了将语法保持在一定的约束范围内并简化它。如果不允许

在SPARQL中,
QuadPattern
如下


由此我了解到,
QuadPattern
可以是空的。但我不明白原因。空的
四元模式的用途是什么?

例如,使用空的四元模式,您可以完全删除默认图形:

DELETE WHERE { }

但是,语法允许的事实并不一定意味着有人故意选择允许特定模式。在某些情况下,用更通用的方式定义事物可能更方便。

正如@Antoine Zimmermann所指出的,仅仅因为语法允许,并不意味着它有意义

在这种情况下,我相信这样做是为了将语法保持在一定的约束范围内并简化它。如果不允许
Quads
为空,则必须重新定义
QuadPattern
规则:

QuadPattern ::= '{' '}' | '{' Quads '}'

这只会增加不必要的复杂性,特别是当您使用解析器生成器时

Oops,您是对的!然而,我不能删除它,因为你在答案中交叉引用了它:P
QuadPattern ::= '{' '}' | '{' Quads '}'