【发布时间】:2017-04-12 07:18:42
【问题描述】:
我有这样的数据:
<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?
【问题讨论】:
-
它返回一个空白节点,因为属性
hasRank的值是一个空白节点。您必须解决空白节点,即在您的情况下获取rankValue的值。这可以看作是一条链,即?s :hasRank ?rank . ?rank :rankValue ?value -
使用属性路径:
?s vrank:hasRank/vrank:rankValue ?v。来源:people.aifb.kit.edu/ath
标签: sparql dbpedia wikidata blank-nodes