如果是
之类的查询SELECT * {?s ?p ?o}
返回?o
作为资源(uri),如http://example.com#george_michael,如何更深入地获取同一查询中此资源的rdfs:label
?
答案 0 :(得分:2)
SPARQL是一种查询图形的语言。 SPARQL查询是一个可以匹配图形的模式。模式?s ?p ?o
只匹配任何三元组。如果要匹配其他三元组,只需在图形模式中添加相应的三元模式:
SELECT * {
?s ?p ?o .
?o rdfs:label ?label .
}
当然,您提到“假设”?o
恰好是一种资源,这表明您可能对不拥有的?o
的值感兴趣一个rdfs:label
。在这种情况下,您需要使用optional
:
SELECT * {
?s ?p ?o .
optional { ?o rdfs:label ?label . }
}