SPARQL以空白节点作为主题进行查询

时间:2016-11-28 14:19:07

标签: sparql dbpedia wikidata blank-nodes

我有这样的数据:

<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?

2 个答案:

答案 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)的所有信息