0

我需要从 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 个名称。

可能存在所有名称变化的人的数据集?

现有的 people_en.nt 数据集仅包含 foaf:name 但我需要其他名称的变体。有时他们会在 rdfs:label 中列出(例如 Maria Sharapova)。

4

1 回答 1

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);
于 2012-10-13T12:58:34.933 回答