SELECT * {?s ?p ?o}
回报?o
作为一个资源(URI),如http://example.com#george_michael查询,我怎么能去更深,在同一个查询中获取例如该资源的rdfs:label
?
SELECT * {?s ?p ?o}
回报?o
作为一个资源(URI),如http://example.com#george_michael查询,我怎么能去更深,在同一个查询中获取例如该资源的rdfs:label
?
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 . }
}
我试过这个,但它不工作。 – user3156345
@ user3156345对此没有什么作用? –
在以评论[我的回答(http://stackoverflow.com/a/21165839/1281433),你说你已经尝试过它。你是否正确定义了'rdfs'命名空间?如果StackOverflow包含的代码不能像您期望的那样工作,并且您可以显示预期的结果和实际结果,那么StackOverflow的问题通常是最好的。如果您已经尝试了类似的内容,但没有返回您期望的结果,请添加_complete_查询(包括前缀声明)到问题中,以及您获得的实际结果,或者错误消息是否为错误。 –