我需要从DBPEdia中提取变体的人名。 我的SPARQL请求:
select distinct ?o where {
{ ?instance <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>;
<http://xmlns.com/foaf/0.1/name> ?o }
union
{
?instance <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>;
rdfs:label
}
FILTER (langMatches(lang(?o),"en"))}
DBPedia通过SRARQL请求仅返回50 000个名称。
可能是所有名称变化的人员都存在数据集吗?
现有的persons_en.nt数据集仅包含foaf:name但我需要其他名称的变体。有时它们列在rdfs:label中(例如,对于Maria Sharapova)。
答案 0 :(得分:0)
在另一篇文章中找到答案。运行以下SPARQL:
SELECT ?o WHERE {
{
select distinct ?o
where {
?instance <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>;
rdfs:label ?o
FILTER (langMatches(lang(?o),"en"))
}
ORDER BY ASC(?o)
}
} OFFSET 800000 LIMIT 50000
Java程序中的:
Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);