方括号的含义;[……”是;使用SPARQL查询RDF时?

方括号的含义;[……”是;使用SPARQL查询RDF时?,sparql,rdf,turtle-rdf,Sparql,Rdf,Turtle Rdf,我对SPARQL和RDF非常陌生,我想知道下面的内容在SPARQL中到底意味着什么 [] vc:n ?vcard . 完整的查询是 PREFIX vc: <http://www.w3.org/2006/vcard/ns#> SELECT ?given ?family WHERE{ [] vc:n ?vcard . OPTIONAL {?vcard vc:given-name ?given .} OPTIONAL {?vcard vc:family-

我对SPARQL和RDF非常陌生,我想知道下面的内容在SPARQL中到底意味着什么

[] vc:n ?vcard .
完整的查询是

PREFIX vc: <http://www.w3.org/2006/vcard/ns#>

SELECT ?given ?family

WHERE{

    [] vc:n ?vcard .

    OPTIONAL {?vcard vc:given-name ?given .}

    OPTIONAL {?vcard vc:family-name ?family .}

}
前缀vc: 选择“给定”族 在哪里{ []vc:n?vcard。 可选{?vcard vc:给定名称?给定。} 可选{?vcard vc:姓氏?家族。} }
[]
是查询中的空白节点。它的作用类似于命名变量,除非您不能在
选择
项目或
过滤器
或需要命名变量的任何地方使用它。您可以使用查询中未使用的名称,将
[]
替换为命名变量
SELECT*
将添加它,但在其他情况下,它与查询基本相同

这是从我的答案,其中这个问题 可能是一个复制品,虽然它有点宽泛。(有两个问题 答案主要是SPARQL规范的链接和引用

[…]是一个空白节点 中描述了方括号。特别是,请参见

图形模式中的空白节点充当变量,而不是对 正在查询的数据中的特定空白节点

空白节点由标签形式表示,例如
“\\:abc”
, 或缩写形式
“[]”
。仅在一个节点中使用的空白节点 查询语法中的位置可以用
[]
表示。独特的空白 节点将用于形成三重模式。空白节点标签不可用 对于标签为“abc”的空白节点,写为“<代码>”\:abc“”。同样的空白 节点标签不能在中的两种不同的基本图形模式中使用 同样的问题

[:p:v]
构造可以在三重模式中使用。它创造了一个 空白节点标签,用作所有包含节点的主题 谓词对象对。创建的空白节点也可以在中使用 主体和客体位置的进一步三重模式

以下两种形式

[ :p "v" ] .
[] :p "v" .
分配一个唯一的空白节点标签(此处为“b57”),等同于 写作:

_:b57 :p "v" .
此分配的空白节点标签可用作主题或对象 进一步的三重模式。例如,作为一个主题:

[ :p "v" ] :q "w" .
这相当于两个三元组:

_:b57 :p "v" .
_:b57 :q "w" .
:x  :q _:b57 .
_:b57 :p "v" .
作为一个对象:

:x :q [ :p "v" ] .
这相当于两个三元组:

_:b57 :p "v" .
_:b57 :q "w" .
:x  :q _:b57 .
_:b57 :p "v" .

这里的答案可能很有用:@MarcBaumbach它不仅有用,而且是一个复制品。该问题标题中的“方括号”指的是方括号,即
[
]
。我还添加了标记,因为这种语法与RDF的Turtle序列化是共享的(大多数情况下,如果不完全相同的话)。谢谢大家。这很有帮助。如果你们中的任何一位能给我一个简短的想法,告诉我这行到底是做什么的话,我会更加感激的,那就是“[]vc:n?vcard”。据我所知,它是三重格式的。vc:n做什么?