尝试执行某些查询但在搜索foaf时:name resultset为空。这是我的代码:
SELECT DISTINCT ?uri ?string
WHERE {
?uri rdf:type ?x.
?uri foaf:name 'Cavallo domestico'@it .
OPTIONAL { ?uri rdfs:label ?string . FILTER (lang(?string) = 'it') }
}
页面存在http://it.dbpedia.org/resource/Equus_caballus/html
显然它似乎与英语不同的语言有关,但与foaf:name request无关。如果我执行以下命令,检索通用foaf:givenName,它可以工作:
SELECT DISTINCT ?uri ?string
WHERE {
?uri rdf:type ?x.
?uri foaf:givenName 'Jimmy'@en .
OPTIONAL { ?uri rdfs:label ?string . FILTER (lang(?string) = 'en') }
}
答案 0 :(得分:1)
我认为当我第一次提到它不是in a comment时,这是行不通的,但是,as AKSW points out,这似乎现在正在起作用。 rdfs:label属性具有各种语言的文章标题,而不是foaf:name,因此您可以执行此操作以获取Horse的类型:
select ?x ?type {
?x a ?type ;
rdfs:label "Equus caballus"@it
}