2017-05-02 60 views
0

私はWikidata idからWikipediaのpageidを取得したいのですが、wikidataのクエリサービスや他のPythonメソッドからどうやって取得できますか? wikidataにはwikipedia idのような属性はありません。WikidataのIDを取得するには?

答えて

1

まず、あなたはそうのように、ウィキデータAPIへのリクエストwbgetentitiesモジュールで行うことができウィキデータのID、からWikipediaのページtitleを取得する必要があります:https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q123&format=json&props=sitelinks

次に、あなたがからWikipediaのタイトルを見つけたら、 https://en.wikipedia.org/w/api.php?action=query&titles=September&format=json

ので、これらの例のURLからあなたはそれを得ることができます:あなたはそのWikipediaのAPIから関連するページIDを取得することができ、Wikipediaの版を希望
ウィキデータのID = Q123
=>英語版ウィキペディア(enwiki)タイトル= September
=> pageidに= 15580374

1

DBpediaのは常にwikiPageIDとウィキデータIDの両方が含まれている場合、私は、わからないんだけど、あなたはDBpedia SPARQL Endpointに対してこのクエリを試すことができます。

PREFIX wd: <http://www.wikidata.org/entity/> 
SELECT ?wikipedia_id WHERE { 
    ?dbpedia_id owl:sameAs ?wikidata_id . 
    ?dbpedia_id dbo:wikiPageID ?wikipedia_id . 
    VALUES (?wikidata_id) {(wd:Q123)} 
} 

することができますWikidata SPARQL endpointに対して連合クエリを試すこともできます。

PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 

SELECT ?wikipedia_id where { 
    VALUES (?wikidata_id) {(wd:Q123)} 
    SERVICE <http://dbpedia.org/sparql> { 
     ?dbpedia_id owl:sameAs ?wikidata_id . 
     ?dbpedia_id dbo:wikiPageID ?wikipedia_id 
    } 
} 
+0

非常に素晴らしい...それは1と協力して、あなたのwikiDataIDに置き換えますCURLコールのみ。 –

1

CURL呼び出しでは、以下のURLを使用してください。あなたは以下のリンクのWikiDataID Q243を変更する必要があります。あなたはTaj_MahalのwikiPageIDをしたいならば、リンクの下にQ9141とQ243を交換し、CURL呼び出しを行う例については

http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=PREFIX+wd%3A+%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E+%0D%0ASELECT+%3FwikiPageID+WHERE+%7B%0D%0A%3Fdbpedia_id+owl%3AsameAs+%3Fwikidata_id++.%0D%0A%3Fdbpedia_id+dbo%3AwikiPageID+%3FwikiPageID+.%0D%0AVALUES+%28%3Fwikidata_id%29+%7B%28wd%3AQ243%29%7D+%0D%0A%7D&format=application%2Fsparql-results%2Bjson&CXML_redir_for_subjs=121&CXML_redir_for_hrefs=&timeout=30000&debug=on&run=+Run+Query

あなたがリンクの上または上記のリンクでお好みのwikiDataIDを置き換えることによって、変更する必要がwikiDataIdを通じてWikiPageIDを取得します。

注:

1)CURLコール

2)Q243を探すにはラベルの使用this URLでWikiPageIDを取得し、

関連する問題