Ich möchte alle Menschen in der Wikipedia-Datenbank über ihre API finden. Bisher meine Herangehensweise an diese Aufgabe war es, eine Abfrage zu verwenden, um alle Leute zu holen, die zu einer Kategorie gehören, wie zum Beispiel:Abrufen aller Personen aus der Wikipedia-API
Dieser Ansatz erfordert mich zu wissen, dass French_revolutionaries eine Kategorie von Menschen ist. Meine Frage ist: Wie kann man alle Leute (nicht nur die Leute in einer Kategorie) von der API abrufen?
Ein Ansatz, den ich in Erwägung zog, war, mit einer willkürlichen Kategorie wie French_revolutionaries zu beginnen. Rufen Sie für jedes Mitglied dieser Kategorie deren Informationen und die anderen Kategorien ab, zu denen sie gehören, und suchen Sie dann auf dieselbe Weise nach diesen Kategorien. Arbeiten Sie so rekursiv, bis keine neuen Kategorien mehr abgerufen werden konnten. Dies funktioniert jedoch nicht, wenn das Netzwerk nicht vollständig verbunden ist und weniger elegant ist, als ich es möchte.
Gibt es eine einfache Möglichkeit, alle Personen in der Wikipedia-Datenbank zu finden? Kann dbpedia dieses Array bereitstellen? Ich lade gerade eine SQL dump of the Wiki category data herunter, aber wollte die Frage stellen, falls andere von einer schnellen Lösung wissen. Jede Hilfe, die andere anbieten können, wird sehr geschätzt!
Nizza, suchte ich nur herum und sahen viele Ihrer früheren SPARQL Abfragen als Gut. Ich habe die Eigenschaft SELECT? HasValue? IsValueOf WHERE { {? Property? HasValue} UNION {? IsValueOf? Property } } aber das ist viel weniger kompakt als Ihre Lösung! –
duhaime
@duhaime sicher, es verwandelt sich einfach in '? Person a dbo: Person; dbo: wikiPageID? id'. –
Perfekt, danke! Ich habe festgestellt, dass die Antworten Wikipedia-Titel enthalten, die dem gleichen Zweck dienen können wie die ID, zumindest was die API betrifft. Danke noch einmal! – duhaime