2013-05-18 9 views
6

Ich habe die Interlanguage-Links aus einem exportierten Wikipedia-Artikel abgerufen, indem ich den Export mit einigen regulären Ausdrücken analysiert habe.Abrufen der Interlanguage-Links von einem exportierten Wikipedia-Artikel?

In Phase 1 der WikiData project wurden diese Links auf eine separate Seite auf Wikidata verschoben.

Zum Beispiel hat der Artikel Ore Mountains im Export keine Sprachverbindungen mehr. Die Sprachlinks sind jetzt auf Q4198.

Wie kann ich die Sprachlinks exportieren?

+0

Asimov, wenn eine Antwort entsperrt Ihre Situation bitte bestätigen Sie es. (Wenn es meiner ist, wird es meine erste validierte Antwort sein) – Hugolpz

Antwort

1

Ich habe von der Verwendung des Exports in die API geändert. Sie können die interwikilanguage Links mit der Eigenschaft "Langlinks", wie diese abrufen:

http://en.wikipedia.org/w/api.php?action=query&titles=Ore%20Mountains&prop=langlinks

+2

So weit ich es verstehe, [dies wird bald aufhören zu arbeiten, und einige Zeit später wird es wieder funktionieren, wenn Sie einen Parameter zu der Abfrage hinzufügen] (http: //osdir.com/ml/general/2013-04/msg48570.html). – svick

+0

Das wird weiter funktionieren, aber während sich das Wikidata vorwärts bewegt, werden alle Interwiki-Daten aus Wikipedia entfernt und nach wikidata verschoben. Phase 1 sollte bereits die meisten von ihnen aus Wikipedia entfernt haben. – Hugolpz

+0

Die Verwendung der API, wie in der Antwort gezeigt, ruft die richtigen Links ab. Da die Interwiki-Links von der Seite in der Frage bereits in Wikidata verschoben sind, nehme ich an, dass dies der richtige Weg ist, um die Links zu erhalten. – Asimov

5

Sie sind jetzt die Wikidata API verwenden ermutigt: http://wikidata.org/w/api.php

Für your case, use props=labels. Diese URL ist selbst erklärend:

http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&titles=Ore%20Mountains&languages=cs|de|es|fr|it|pl|pt|ru&props=labels&format=xml 
+0

das funktioniert, aber für einige Sprachen bekomme ich ein Ergebnis, auch wenn der Artikel auf Wikipedia nicht existiert. Gibt es eine Möglichkeit, dieses Problem zu lösen? –

+0

Können Sie ein Beispiel zeigen? – Hugolpz

+0

Tatsache ist, dass die Wikipedia-Links Sitelinks sind, keine Labels. Zum Beispiel versuchen Sie Ihre URL mit "Giancarlo Magalli" statt "Erzgebirge" Sie werden viele Sprachen haben, auch wenn es nur auf Italienisch erhältlich ist –