我有这样的数据:
<http://wikidata.dbpedia.org/resource/Q1000019> <http://purl.org/voc/vrank#hasRank>
[<http://purl.org/voc/vrank#rankValue> "0.15"^^xsd:float] .
<http://wikidata.dbpedia.org/resource/Q100004> <http://purl.org/voc/vrank#hasRank>
[<http://purl.org/voc/vrank#rankValue> "0.15"^^xsd:float] .
<http://wikidata.dbpedia.org/resource/Q1000047> <http://purl.org/voc/vrank#hasRank>
[<http://purl.org/voc/vrank#rankValue> "0.15"^^xsd:float] .
我正在尝试这样的查询:
SELECT ?c WHERE {?s <http://purl.org/voc/vrank#hasRank> ?c}
这只返回一个空白节点。如何在这里得到引号之间的值0.15?
答案 0 :(得分:1)
你可以解除你在数据中看到的模式(重新格式化一点):
SELECT ?c
WHERE
{
?s <http://purl.org/voc/vrank#hasRank> [
<http://purl.org/voc/vrank#rankValue> ?c
]
}
要解释一下,[ ... content ... ]
是turtle和sparql的一个便利,它引入了一个bnode(通常在一个对象位置)并添加了该bnode的一些属性。
答案 1 :(得分:0)
DESCRIBE ?c
where {?s <http://wikidata.dbpedia.org/resource/Q1000047> <http://purl.org/voc/vrank#hasRank> ?c}
这将为您提供有关您的BN (?c)
的所有信息