Rdf 若SPARQL查询的结果是一个资源呢?

Rdf 若SPARQL查询的结果是一个资源呢?,rdf,sparql,Rdf,Sparql,如果一个查询像 SELECT * {?s ?p ?o} 返回?o作为一个资源(uri),例如,如何在同一查询中更深入地获取此资源的rdfs:label SPARQL是一种查询图形的语言。SPARQL查询是一种可以匹配图形的模式。模式?s?p?o仅与任何三元组匹配。如果要匹配其他三元组,只需将相应的三元组模式添加到图形模式: SELECT * { ?s ?p ?o . ?o rdfs:label ?label . } 当然,您提到了“如果”?o恰好是一个资源,这表明您可能对没有rdfs

如果一个查询像

SELECT * {?s ?p ?o}

返回
?o
作为一个资源(uri),例如,如何在同一查询中更深入地获取此资源的
rdfs:label

SPARQL是一种查询图形的语言。SPARQL查询是一种可以匹配图形的模式。模式
?s?p?o
仅与任何三元组匹配。如果要匹配其他三元组,只需将相应的三元组模式添加到图形模式:

SELECT * {
  ?s ?p ?o .
  ?o rdfs:label ?label .
}
当然,您提到了“如果”
?o
恰好是一个资源,这表明您可能对没有
rdfs:label
?o
的值感兴趣。在这种情况下,您需要使用
可选

SELECT * {
  ?s ?p ?o .
  optional { ?o rdfs:label ?label . }
}
在对的评论中,你说你已经试过了。您是否正确定义了
rdfs
名称空间?有关StackOverflow的问题通常是最好的,因为其中包含的代码没有按预期工作,并且可以显示预期结果和实际结果。如果您已经尝试了类似的操作,但它没有返回您期望的结果,请将完整的查询(包括前缀声明)以及您得到的实际结果或错误消息(如果是错误)添加到问题中。