SPARQL DbPedia foaf:名称

时间:2015-11-17 10:57:01

标签: sparql dbpedia foaf

尝试执行某些查询但在搜索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') }
}

1 个答案:

答案 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
}

SPARQL results