2016-11-28 72 views
0

我的數據是這樣的:空白節點爲研究對象SPARQL查詢

<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

它返回一個空白節點,因爲屬性'hasRank'的值是一個空白節點。你必須解決空白節點,即在你的情況下獲得'rankValue'的值。這可以被看作是一個鏈,即'?s:hasRank?等級。 ?rank:rankValue?value' – AKSW

回答

1

您只需擡起你可以在數據看到模式(格式化略):

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

講解,[ ... content ... ]是烏龜和SPARQL爲了方便引入B節點(通常在物體位置)並添加該bnode的一些屬性。