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

问题描述 投票:0回答:2

我有这样的数据:

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

sparql dbpedia wikidata blank-nodes
2个回答
1
投票

你可以解除你在数据中看到的模式(重新格式化一点):

SELECT ?c 
WHERE 
{ 
    ?s <http://purl.org/voc/vrank#hasRank> [ 
        <http://purl.org/voc/vrank#rankValue> ?c 
    ]
}

为了解释,[ ... content ... ]是一个方便的乌龟和sparql引入一个bnode(通常在一个对象位置)并添加该bnode的一些属性。


0
投票
DESCRIBE ?c
where {?s <http://wikidata.dbpedia.org/resource/Q1000047> <http://purl.org/voc/vrank#hasRank> ?c}

这将为您提供有关您的BN (?c)的所有信息

© www.soinside.com 2019 - 2024. All rights reserved.