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リクエストを介して50000の名前のみを返します。

すべての名前のバリエーションを持つ人のデータセットが存在する可能性がありますか?

既存のpersons_en.ntデータセットにはfoaf:nameのみが含まれていますが、他の名前のバリエーションが必要です。時々それらはrdfs:labelにリストされます(例えばMariaSharapovaの場合)。

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 に答える