方括号的含义;[……”是;使用SPARQL查询RDF时?
我对SPARQL和RDF非常陌生,我想知道下面的内容在SPARQL中到底意味着什么方括号的含义;[……”是;使用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-
[] 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做什么?