如果我想从URI中检索摘要,请执行以下操作:
PREFIX dbp_owl: <http://dbpedia.org/ontology/>
SELECT DISTINCT ?abstract WHERE { <http://dbpedia.org/resource/Horizon_High_School_(Thornton,_Colorado)> dbp_owl:abstract ?abstract FILTER (lang(?abstract) = "en" )}
如果我想检索缩略图:
SELECT DISTINCT ?thumb WHERE { <http://dbpedia.org/resource/Horizon_High_School_(Thornton,_Colorado)> dbp_owl:thumbnail ?thumb }
如何从URI中检索所有内容,而不仅仅是一个属性?
答案 0 :(得分:2)
对于检索多个属性,可以通过在属性位置使用变量来实现。例如,
select ?property ?value where {
dbpedia:Mount_Monadnock ?property ?value
}
请注意,如果您尝试按语言过滤?value ,则会错过很多结果,因为结果不是文字,或者不是语言标记的文字不会使用 lang 函数为您提供值。所以你真的需要稍微限制一下过滤器:
select ?property ?value where {
dbpedia:Mount_Monadnock ?property ?value
filter ( !isLiteral(?value) #-- ?value is not a literal
|| lang(?value) = "" #-- ?value is a non-language tagged literal
|| langMatches(lang(?value),"en")) #-- ?value has a language tag matching "en"
}
请注意,您不应使用 = 检查语言,而应使用 langMatches 检查语言。这将处理资本化的差异,以及语言的区域变体。