SPARQL DbPedia foaf:name
SPARQL DbPedia foaf:name
正在尝试执行一些查询,但在搜索时 foaf:name 结果集为空。这是我的代码:
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 请求无关。如果我执行以下操作,检索通用 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') }
}
当我第一次提到它不起作用时,我认为它不起作用 in a comment, but, as AKSW points out,现在似乎起作用了。 rdfs:label 属性 有各种语言的文章标题,而不是 foaf:name,所以你可以这样做来获取马的类型:
select ?x ?type {
?x a ?type ;
rdfs:label "Equus caballus"@it
}
正在尝试执行一些查询,但在搜索时 foaf:name 结果集为空。这是我的代码:
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 请求无关。如果我执行以下操作,检索通用 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') }
}
当我第一次提到它不起作用时,我认为它不起作用 in a comment, but, as AKSW points out,现在似乎起作用了。 rdfs:label 属性 有各种语言的文章标题,而不是 foaf:name,所以你可以这样做来获取马的类型:
select ?x ?type {
?x a ?type ;
rdfs:label "Equus caballus"@it
}