Wikidata Query Service/Bedienungsanleitung
Der Wikidata Query Service (WDQS) ist ein Softwarepaket und öffentlicher Dienst, der einen SPARQL-Endpunkt zur Abfrage des Wikidata-Datensets bieten soll.
Diese Seite oder andere relevante Dokumentationsseiten werden entsprechend aktualisiert; es wird empfohlen, dass du sie beobachtest, wenn du den Dienst nutzt.
If you're looking for a tutorial on the SPARQL syntax itself, we recommend starting here: SPARQL tutorial.
Du kannst dir Beispiele für SPARQL-Abfragen auf der SPARQL-Beispielseite ansehen.
Datensatz
Der Wikidata Query Service arbeitet mit einem Datensatz von Wikidata.org, der, wie in der Dokumentation des RDF-Dump-Formats beschrieben, in RFD dargestellt wird.
Der Datensatz des Dienstes stimmt nicht exakt mit dem Datensatz überein, der von RDF-Dumps erzeugt wird, hauptsächlich aus Gründen der Performance; Die Dokumentation beschreibt eine kleine Reihe von Unterschieden.
Du kannst dir einen wöchentlichen Dump der gleichen Daten herunterladen:
https://dumps.wikimedia.org/wikidatawiki/entities/
Grundlagen - SPO (Subjekt, Prädikat, Objekt; auch bekannt als semantisches Tripel) verstehen
SPO oder "Subjekt, Prädikat, Objekt" ist bekannt als ein Tripel und wird in Wikidata häufig als Aussage über Daten bezeichnet.
Die Aussage "Die Hauptstadt der Vereinigten Staaten ist Washington, D.C." besteht aus dem Subjekt "Vereinigte Staaten" (Q30), dem Prädikat "Hauptstadt" (P36) und einem Objekt "Washington, D.C." (Q61). Diese Aussage kann in Form von drei URIs dargestellt werden:
<http://www.wikidata.org/entity/Q30> <http://www.wikidata.org/prop/direct/P36> <http://www.wikidata.org/entity/Q61> .
Dank den Präfixen (siehe unten) kann die gleiche Aussage in einer prägnanteren Form geschrieben werden. Beachte, dass der Punkt am Ende das Ende der Aussage repräsentiert.
wd:Q30 wdt:P36 wd:Q61 .
/entity/ (wd:) steht für ein Wikidata-Datenobjekt (Werte mit einer Q-Nummer). /prop/direct/ (wdt:) ist eine "wahre" Eigenschaft — ein Wert, den wir am häufigsten erwarten würden, wenn wir uns die Aussage ansehen. Die wahren Eigenschaften werden benötigt, da manche Aussagen "wahrer" sein können, als andere. Beispielsweise ist die Aussage "Die Hauptstadt der Vereinigten Staaten ist New York City" wahr — jedoch nur im historischen Kontext des Jahres 1790. WDQS nutzt Ränge, um zu bestimmen, welche Aussagen als "wahr" genutzt werden sollen.
Zusätzlich zu den wahren Aussagen speichert der WDQS alle Aussagen (wahre und unwahre), jedoch nutzen sie nicht das gleiche Präfix wdt:. Die Hauptstadt der Vereinigten Staaten hat drei Werte: Washington, D.C., Philadelphia, und New York City. Und jeder von diesen Werten hat "Qualifikatoren" - zusätzliche Informationen, wie Start- und Enddatum, was den Umfang jeder Aussage einengt. Um diese Informationen als Tripel zu speichern, hat der WDQS ein automatisches "Aussagen"-Subjekt eingefügt, was im Wesentlichen eine zufällige Zahl ist:
wd:Q30 p:P36 <random_URI_1> . # US "indirect capital" is <X>
<random_URI_1> ps:P36 wd:Q61 . # The X's "real capital value" is Washington DC
<random_URI_1> pq:P580 "1800-11-17" . # The X's start date is 1800-11-17
Siehe SPARQL-Tutorial - Qualifikatoren für weitere Informationen.
SPO wird auch als Form eines grundlegenden Syntax-Layouts zur Abfrage von RDF-Datenstrukturen, Graph-Daten oder einem Tripelspeicher, wie dem Wikidata Query Service (WDQS), der auf Blazegraph, einer Graph-Datenbank mit hoher Performance, läuft, genutzt.
Fortgeschrittene Nutzungen eines Tripels (SPO) umfassen die Nutzung von Tripels als Objekten oder Subjekten anderer Tripel!
Grundlagen - Präfixe verstehen
Die Subjekte und Prädikate (erster und zweiter Wert des Tripels) müssen immer als URIs gespeichert werden. Wenn das Subjekt beispielsweise das Universum (Q1) ist, wird es als <https://www.wikidata.org/wiki/Q1> gespeichert. Präfixe ermöglichen es uns, diesen langen URI in einer kürzeren Form zu schreiben: wd:Q1. Im Gegensatz zu Subjekten und Prädikaten kann das Objekt (dritter Wert des Tripels) entweder ein URI oder ein Wort sein, z.B. eine Zahl oder eine Zeichenkette.
WDQS versteht viele Abkürzungen, bekannt als Präfixe. Manche sind Wikidata-intern, z.B. wd, wdt, p, ps, bd, und manche sind häufig genutzte externe Präfixe, wie rdf, skos, owl, schema.
In der folgenden Abfrage suchen wir Datenobjekte mit der Aussage "P279 = Q7725634" oder vollständiger ausgedrückt Subjekte, die ein Prädikat "Unterklasse von" mit einem Objekt = "literarisches Werk" haben.
Die Ausgabe-Variablen:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wds: <http://www.wikidata.org/entity/statement/>
PREFIX wdv: <http://www.wikidata.org/value/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bd: <http://www.bigdata.com/rdf#>
# The below SELECT query does the following:
# Selects all the items(?s subjects) and their labels(?label)
# that have(WHERE) the statement(?s subject) has a direct property(wdt:) = P279 <subclasses of>
# with a value of entity(wd:) = Q7725634 <Literary Work>
# and optionally return the English labels
SELECT ?s ?label WHERE {
?s wdt:P279 wd:Q7725634 .
OPTIONAL {
?s rdfs:label ?label filter (lang(?label) = "en").
}
}
Erweiterungen
Der Abfragedienst unterstützt die folgenden Erweiterungen der Standard-SPARQL-Fähigkeiten:
Bezeichnungs-Dienst
Du kannst die Bezeichnung, Alias oder Beschreibung von Einträgen unter Berücksichtigung der Sprach-Rückfallkette erhalten, indem du den spezialisierten Dienst mit dem URI <http://wikiba.se/ontology#label> nutzt. Dieser Dienst ist sehr hilfreich, wenn du Bezeichnungen abrufen möchtest, da er die Komplexität von SPARQL-Abfragen, die du sonst benötigen würdest, um das gleiche Ergebnis zu erzielen, reduziert. The service is very helpful when you want to retrieve labels, as it reduces the complexity of SPARQL queries that you would otherwise need to achieve the same effect.
Der Dienst kann in zwei unterschiedlichen Modi genutzt werden: manuell und automatisch.
Im automatischen Modus musst du nur die Vorlage des Dienstes angeben, z.B.:
PREFIX wikibase: <http://wikiba.se/ontology#>
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
Der WDQS generiert dann automatisch wie folgt Bezeichnungen:
- Wenn eine ungebundene Variable in
SELECT
den Namen?NAMELabel
hat, produziert WDQS die Bezeichnung (rdfs:label
) für den Eintrag in der Variable?NAME
. - Wenn eine ungebundene Variable in
SELECT
den Namen?NAMEAltLabel
hat, produziert WDQS das Alias (skos:altLabel
) für den Eintrag in der Variable?NAME
. - Wenn eine ungebundene Variable in
SELECT
den Namen?NAMEDescription
hat, produziert WDQS die Beschreibung (schema:description
) für den Eintrag in der Variable?NAME
.
In jedem Fall sollte die Variable in ?NAME
gebunden sein, da der Dienst andernfalls fehlschlägt.
Der automatische Modus prüft nur die Projektion der Abfrage – beispielsweise wird in SELECT ?aLabel (GROUP_CONCAT(?bLabel) AS ?bLabels)
nur die erste Bezeichnung erkannt und SELECT *
wird im automatischen Modus überhaupt nicht unterstützt.
In solchen Fällen musst du den manuellen Modus nutzen (siehe unten).
Du kannst deine bevorzugte(n) Sprache(n) für die Bezeichnung mit einem oder mehreren bd:serviceParam wikibase:language "language-code"
-Tripeln angeben.
Jede Zeichenkette kann einen oder mehrere Sprachcodes enthalten, die durch ein Komma getrennt werden.
WDQS betrachtet Sprachen in der Reihenfolge, in der du sie angegeben hast.
Wenn in keiner der angegeben Sprachen eine Bezeichnung verfügbar ist, ist die Q-ID des Eintrags (ohne Präfix) seine Bezeichnung.
Each string can contain one or more language codes, separated by commas.
WDQS considers languages in the order in which you specify them.
If no label is available in any of the specified languages, the Q-id of the entity (without any prefix) is its label.
Die Webseite des Wikidata Query Service ersetzt automatisch [AUTO_LANGUAGE]
durch den Sprachcode der aktuellen Benutzeroberfläche des Benutzers. Wenn beispielsweise die Benutzeroberfläche des Benutzers in Französisch ist, wird der SPARQL-Code bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"
in bd:serviceParam wikibase:language "fr,en"
umgewandelt, bevor er an den Abfragedienst gesendet wird.
For example, if the user's UI is in French, the SPARQL's code bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"
will be converted to bd:serviceParam wikibase:language "fr,en"
before being sent to the query service.
Beispiel, das die Liste von US-Präsidenten und ihren Ehepartnern zeigt:
SELECT ?p ?pLabel ?w ?wLabel WHERE {
wd:Q30 p:P6/ps:P6 ?p .
?p wdt:P26 ?w .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
In diesem Beispiel erstellt WDQS automatisch die Bezeichnungen ?pLabel
und ?wLabel
für Eigenschaften.
Im manuellen Modus bindest du die Variablen für die Bezeichnung explizit im Anrufdienst, jedoch wird WDQS weiterhin Sprach-Auflösungen und die Sprach-Rückfallkette anbieten. Beispiel:
SELECT *
WHERE {
SERVICE wikibase:label {
bd:serviceParam wikibase:language "fr,de,en" .
wd:Q123 rdfs:label ?q123Label .
wd:Q123 skos:altLabel ?q123Alt .
wd:Q123 schema:description ?q123Desc .
wd:Q321 rdf:label ?q321Label .
}
}
Dabei werden Bezeichnungen und Beschreibungen in Französisch, Deutsch und Englisch berücksichtigt und sofern keine verfügbar ist, die Q-ID als Bezeichnung genutzt.
Geodaten-Suche
Der Dienst erlaubt es, nach Datenobjekten mit Koordinaten zu suchen, die sich in einem bestimmten Radius um einen Punkt oder innerhalb einer Box befinden.
Suche um einen Punkt
Beispiel:
# Airports within 100km from Berlin
#defaultView:Map
SELECT ?place ?placeLabel ?location ?dist WHERE {
# Berlin coordinates
wd:Q64 wdt:P625 ?berlinLoc .
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center ?berlinLoc .
bd:serviceParam wikibase:radius "100" .
bd:serviceParam wikibase:distance ?dist.
}
# Is an airport
FILTER EXISTS { ?place wdt:P31/wdt:P279* wd:Q1248784 }
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
} ORDER BY ASC(?dist)
Die erste Zeile des Anrufs an den around
-Dienst muss das Format ?item
predicate
?location
haben, wobei das Ergebnis der Suche ?item
an Datenobjekte am angegebenen Ort und ?location
an deren Koordinaten bindet.
Die unterstützten Parameter sind:
Prädikat | Bedeutung |
---|---|
wikibase:center | Der Punkt, um den herum gesucht wird. Muss gebunden werden, damit die Suche funktioniert. |
wikibase:radius | Entfernung vom Zentrum. Derzeit muss die Entfernung immer in Kilometern angegeben werden, andere Einheiten werden noch nicht unterstützt. |
wikibase:globe | Der Globus, auf dem gesucht wird. Optional, Standard ist Erde (wd:Q2). |
wikibase:distance | Die Variable, die die Entfernungsinformation erhält |
Suche in einer Box
Beispiel einer Box-Suche:
# Schools between San Jose, CA and Sacramento, CA
#defaultView:Map
SELECT * WHERE {
wd:Q16553 wdt:P625 ?SJloc .
wd:Q18013 wdt:P625 ?SCloc .
SERVICE wikibase:box {
?place wdt:P625 ?location .
bd:serviceParam wikibase:cornerSouthWest ?SJloc .
bd:serviceParam wikibase:cornerNorthEast ?SCloc .
}
FILTER EXISTS { ?place wdt:P31/wdt:P279* wd:Q3914 }
}
oder:
#Schools between San Jose, CA and San Francisco, CA
#defaultView:Map
SELECT ?place ?location WHERE {
wd:Q62 wdt:P625 ?SFloc .
wd:Q16553 wdt:P625 ?SJloc .
SERVICE wikibase:box {
?place wdt:P625 ?location .
bd:serviceParam wikibase:cornerWest ?SFloc .
bd:serviceParam wikibase:cornerEast ?SJloc .
}
FILTER EXISTS { ?place wdt:P31/wdt:P279* wd:Q3914 }
}
Koordinaten können direkt angegeben werden:
# Schools between San Jose, CA and Sacramento, CA
#same as previous
#defaultView:Map
SELECT * WHERE {
SERVICE wikibase:box {
?place wdt:P625 ?location .
bd:serviceParam wikibase:cornerWest "Point(-121.872777777 37.304166666)"^^geo:wktLiteral .
bd:serviceParam wikibase:cornerEast "Point(-121.486111111 38.575277777)"^^geo:wktLiteral .
}
FILTER EXISTS { ?place wdt:P31/wdt:P279* wd:Q3914 }
}
Die erste Zeile des Anrufs an den box
-Dienst muss das Format ?item
predicate
?location
haben, wobei das Ergebnis der Suche ?item
an Datenobjekte am angegebenen Ort und ?location
an deren Koordinaten bindet.
Die unterstützten Parameter sind:
The parameters supported are:
Prädikat | Bedeutung |
---|---|
wikibase:cornerSouthWest | Die südwestliche Ecke der Box. |
wikibase:cornerNorthEast | Die nordöstliche Ecke der Box. |
wikibase:cornerWest | Die westliche Ecke der Box. |
wikibase:cornerEast | Die östliche Ecke der Box. |
wikibase:globe | Der Globus, auf dem gesucht wird. Optional, Standard ist Erde (wd:Q2). |
wikibase:cornerSouthWest
und wikibase:cornerNorthEast
sollten zusammen genutzt werden, ebenso wie wikibase:cornerWest
und wikibase:cornerEast
und können nicht gemischt werden. Wenn die Prädikate $5 ist $6 genutzt werden, wird angenommen, dass die Punkte die Diagonale der Box sind und die Ecken werden dementsprechend abgeleitet.
If wikibase:cornerWest
and wikibase:cornerEast
predicates are used, then the points are assumed to be the coordinates of the diagonal of the box, and the corners are derived accordingly.
Erweiterte Funktionen
Entfernungs-Funktion
Die Funktion geof:distance
gibt die Entfernung zwischen zwei Punkten auf der Erde in Kilometern aus.
Nutzungsbeispiel:
Example usage:
# Airports within 100km from Berlin
SELECT ?place ?placeLabel ?location ?dist WHERE {
# Berlin coordinates
wd:Q64 wdt:P625 ?berlinLoc .
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center ?berlinLoc .
bd:serviceParam wikibase:radius "100" .
}
# Is an airport
?place wdt:P31/wdt:P279* wd:Q1248784 .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
BIND(geof:distance(?berlinLoc, ?location) as ?dist)
} ORDER BY ?dist
# Places around 0°,0°
SELECT *
{
SERVICE wikibase:around {
?place wdt:P625 ?location .
bd:serviceParam wikibase:center "Point(0 0)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "250" .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . ?place rdfs:label ?placeLabel }
BIND(geof:distance("Point(0 0)"^^geo:wktLiteral, ?location) as ?dist)
}
ORDER BY ?dist
Koordinaten-Funktionen
Die Funktionen geof:globe
, geof:latitude
und geof:longitude
geben Teile der Koordinaten aus - Globus-URI, Breitengrad und Längengrad.
URL-Entschlüsselungs-Funktionen
Die Funktion wikibase:decodeUri
dekodiert (d.h. sie macht die Prozentkodierung rückgängig) eine gegebene URI-Zeichenkette. Dies kann nötig sein, wenn Wikipedia-Titel (die kodiert sind) in Zeichenketten umgewandelt werden. Diese Funktion ist ein Gegenstück zur SPARQL-Funktion [$w3-org encode_for_uri].
This may be necessary when converting Wikipedia titles (which are encoded) into actual strings.
This function is an opposite of SPARQL encode_for_uri function.
# Example usage of wikibase:decodeUri function
SELECT DISTINCT * WHERE {
?el wdt:P31 wd:Q5.
?webRaw schema:about ?el;
schema:inLanguage "ru";
schema:isPartOf <https://ru.wikipedia.org/>.
BIND(URI(wikibase:decodeUri(STR(?webRaw))) AS ?webHyperlink) .
BIND(wikibase:decodeUri(STR(?webRaw)) AS ?webString) .
}
LIMIT 20
Automatische Präfixe
Die meisten Präfixe, die in üblichen Abfragen genutzt werden, werden von der Maschine genutzt, ohne dass sie explizit angegeben werden müssen.
Erweiterte Daten
Der Dienst unterstützt Datumswerte vom Typ xsd:datumZeit
in einer Zeitspanne von 290 Milliarden Jahren in der Vergangenheit und der Zukunft mit einer Auflösung von einer Sekunde. WDQS speichert die Daten als 64-Bit-Zahl seit Beginn der Unixzeit.
WDQS stores dates as the 64-bit number of seconds since the Unix epoch.
Blazegraph-Erweiterungen
Die Blazegraph-Plattform, auf der WDQS implementiert wurde, hat ihre eigene SPARQL-Erweiterung. Dazu gehören unterschiedliche Graph-Durchlaufalgorithmen, die im Blazegraph-Wiki dokumentiert sind, darunter BFS, shortest path, CC und PageRank-Implementierungen. Among them several graph traversal algorithms which are documented on Blazegraph Wiki, including BFS, shortest path, CC and PageRank implementations.
Bitte sieh dir auch die Blazegraph-Dokumentation zu Abfragehinweisen an, um Informationen darüber zu erhalten, wie man die Ausführung von Abfragen und unterschiedliche Aspekte der Maschine kontrolliert.
Es gibt im BlazeGraph-Wiki keine Dokumentation über die bd:sample-Erweiterung. Sie ist nur [bd:sample in einem Kommentar im Code] dokumentiert. It's documented only in a comment in the code.
Vereinigung
Wir erlauben SPARQL-Vereinigungsabfragen, eine ausgewählte Anzahl externer Datenbanken anzurufen. Siehe bitte die vollständige Liste von Vereinigungsendpunkten auf der entsprechenden Seite.
Beispiel-Vereinigungsabfrage:
- Items used: Lope de Vega (Q165257)
- Properties used: BVMC person ID (P2799)
SELECT ?workLabel WHERE {
wd:Q165257 wdt:P2799 ?id
BIND(uri(concat("https://data.cervantesvirtual.com/person/", ?id)) as ?bvmcID)
SERVICE <http://data.cervantesvirtual.com/openrdf-sesame/repositories/data> {
?bvmcID <http://rdaregistry.info/Elements/a/otherPFCManifestationOf> ?work .
?work rdfs:label ?workLabel
}
}
Bitte beachte, dass die Datenbanken, die die Vereinigungsendpunkte bedienen, Ontologien verwenden, die sich stark von denen in Wikidata unterscheiden können. Siehe bitte die Links zu den Eigentümer-Dokumentationen, um mehr über die Ontologien und den Datenzugriff auf diese Datenbanken zu erfahren.
MediaWiki API
Siehe bitte die vollständige Beschreibung auf der Dokumentationsseite zum MediaWiki-API-Dienst.
Der MediaWiki-API-Dienst erlaubt es, aus SPARQL die MediaWiki-API anzurufen und die Ergebnisse aus der SPARQL-Abfrage zu erhalten. Beispiel (findet Kategoriemitglieder): Example (finding category members):
- Items used: parking lot (Q6501349)
- Properties used: topic's main category (P910)
SELECT * WHERE {
wd:Q6501349 wdt:P910 ?category .
?link schema:about ?category; schema:isPartOf <https://en.wikipedia.org/>; schema:name ?title .
SERVICE wikibase:mwapi {
bd:serviceParam wikibase:api "Generator" .
bd:serviceParam wikibase:endpoint "en.wikipedia.org" .
bd:serviceParam mwapi:gcmtitle ?title .
bd:serviceParam mwapi:generator "categorymembers" .
bd:serviceParam mwapi:gcmprop "ids|title|type" .
bd:serviceParam mwapi:gcmlimit "max" .
# out
?subcat wikibase:apiOutput mwapi:title .
?ns wikibase:apiOutput "@ns" .
?item wikibase:apiOutputItem mwapi:item .
}
}
Wikimedia-Dienst
Wikimedia betreibt den öffentlichen Dienst WDQS, der auf http://query.wikidata.org/ genutzt werden kann.
Die Ausführungszeit für die Abfrage über den öffentlichen Endpunkt ist auf 60 Sekunden begrenzt. Dies gilt sowohl für das GUI als auch für den öffentlichen SPARQL-Endpunkt. That is true both for the GUI and the public SPARQL endpoint.
GUI
Die GUI auf http://query.wikidata.org/ erlaubt es dir, SPARQL-Abfragen zu bearbeiten und an die Abfragemaschine zu übermitteln. Die Ergebnisse werden als HTML-Tabelle angezeigt. Beachte, dass jede Abfrage eine einzigartige URL hat, die als Lesezeichen zur späteren Verwendung gespeichert werden kann. Wenn du auf diese URL gehst, wird die Abfrage im Bearbeitungsfenster erscheinen, sie wird jedoch nicht ausgeführt - du musst dafür weiterhin auf "Ausführen" klicken. The results are displayed as an HTML table. Note that every query has a unique URL which can be bookmarked for later use. Going to this URL will put the query in the edit window, but will not run it - you still have to click "Execute" for that.
Du kannst auch über einen Kurz-URL-Dienst eine Kurz-URL für die Abfrage generieren, indem du auf den Link "Kurz-URL erzeugen" auf der rechten Seite klickst - dadurch wird die verkürzte URL für die aktuelle Abfrage erzeugt.
Die Schaltfläche "Präfixe hinzufügen" generiert den Header, der Standard-Präfixe für SPARQL-Abfragen enthält. Die vollständige Liste von Präfixen, die nützlich sein kann, ist in der Dokumentation des RDF-Formats zu finden. Beachte, dass die am häufigsten verwendeten Präfixe automatisch funktionieren, da WDQS sie automatisch unterstützt. The full list of prefixes that can be useful is listed in the RDF format documentation. Note that most common prefixes work automatically, since WDQS supports them out of the box.
Die GUI besitzt auch einen einfachen Eintrags-Explorer, der aktiviert werden kann, indem man auf das Symbol "🔍" neben dem Eintragsergebnis klickt. Durch Klicken auf die Q-ID des Eintrags selbst gelangt man auf die Seite des Eintrags auf wikidata.org. Clicking on the entity Q-id itself will take you to the entity page on wikidata.org.
Standard-Ansichten
- Hauptartikel: wikidata:Special:MyLanguage/Wikidata:SPARQL query service/Wikidata Query Help/Result Views
Wenn du die Abfrage im WDQS-GUI ausführst, kannst du auswählen, in welcher Ansicht die Ergebnisse angezeigt werden, indem du einen Kommentar einfügst: #defaultView:viewName
am Anfang der Abfrage.
Einen Titel anzeigen
Wenn du die Abfrage im WDQS-GUI ausführst, kannst du über den Ergebnissen einen Titel anzeigen, indem du einen Kommentar einfügst: #title: Zeichenkette, die angezeigt werden soll
am Anfang der Abfrage.
SPARQL-Endpunkte
SPARQL-Abfragen können mit einer GET- oder POST-Abfrage an https://query.wikidata.org/sparql
direkt an den SPARQL-Endpunkt übermittelt werden.
Bei GET-Abfragen ist die Abfrage im Format https://query.wikidata.org/sparql?query=(SPARQL_query)
in der URL enthalten, z.B. https://query.wikidata.org/sparql?query=SELECT%20?dob%20WHERE%20{wd:Q42%20wdt:P569%20?dob.}
.
Bei POST-Abfragen kann die Abfrage alternativ im Körper der Abfrage enthalten sein, statt in der URL, was es ermöglicht, längere Abfragen auszuführen, ohne die URL-Beschränkungen zu erreichen. (Beachte, dass der POST-Körper weiterhin das Präfix query=
enthalten muss (es sollte also query=(SPARQL_query)
statt (SPARQL query)
sein), und die SPARQL-Abfrage URL-encodiert sein muss.)
Das Ergebnis wird standardmäßig als XML ausgegeben oder als JSON, wenn entweder der Parameter format=json
in der URL enthalten ist oder der Header Accept: application/sparql-results+json
mit der Abfrage übergeben wird.
Das JSON-Format ist standardmäßig das SPARQL-1.1-Abfrageergebnis-JSON-Format.
Es wird empfohlen, GET für kleinere Abfragen zu nutzen und POST für größere Abfragen, da POST-Abfragen nicht zwischengespeichert werden.
Unterstützte Formate
Die folgenden Ausgabeformate werden derzeit vom SPARQL-Endpunkt unterstützt:
Format | HTTP-Header | Abfrageparameter | Beschreibung |
---|---|---|---|
XML | Accept: application/sparql-results+xml | format=xml | XML-Ergebnisformat, wird standardmäßig ausgegeben. Wie beschrieben in https://www.w3.org/TR/rdf-sparql-XMLres/ |
JSON | Accept: application/sparql-results+json | format=json | JSON-Ergebnisformat, wie in: https://www.w3.org/TR/sparql11-results-json/ |
TSV | Accept: text/tab-separated-values | Wie beschrieben in https://www.w3.org/TR/sparql11-results-csv-tsv/ | |
CSV | Accept: text/csv | Wie beschrieben in https://www.w3.org/TR/sparql11-results-csv-tsv/ | |
Binäres RDF | Accept: application/x-binary-rdf-results-table |
Abfragelimits
Es ist ein hartes Abfragelimit konfiguriert, das bei 60 Sekunden liegt. Es gibt auch die folgenden Limits:
- Ein Klient (User Agent + IP) darf alle 60 Sekunden 60 Sekunden Verarbeitungszeit nutzen
- Ein Klient darf 30 fehlerhafte Abfragen je Minute stellen
Klienten, die die obigen Limits überschreiten, werden mit dem HTTP-Code 429
gedrosselt.
Nutze Retry-After
-Header, um zu sehen, wann die Abfrage wiederholt werden kann.
Wenn der Klient 429 Antworten ignoriert und damit fortfährt, Abfragen zu stellen, die die Limits überschreiten, kann er temporär von dem Dienst ausgeschlossen werden.
Klienten, die nicht die User-Agent-Richtlinie beachten, können vollständig gesperrt werden – stelle sicher, einen guten User-Agent
-Header abzusenden.
Jede Abfrage wird ein Timeout erzeugen, wenn ihre Ausführung länger dauert als das konfigurierte Abfragelimit. Möglicherweise möchtest du die Abfrage optimieren oder eine problematische Abfrage hier melden. You may want to optimize the query or report a problematic query here.
Beachte auch, dass der Zugang auf den Dienst derzeit auf 5 parallele Abfragen je IP beschränkt ist. Die obigen Limits können sich abhängig von Ressourcen und Nutzungsmustern ändern.
Abfrageerklärung
Blazegraph erlaubt es, Abfrageanalysen anzuzeigen, die erklären, wie die Abfrage geparst wurde und welche Optimierungen angewendet wurden.
Um diese Information zu sehen, füge explain=details
-Parameter zur Abfragezeichenkette hinzu, zum Beispiel: https://query.wikidata.org/sparql?query=SELECT%20?dob%20WHERE%20{wd:Q42%20wdt:P569%20?dob.}&explain=details
.
Namensräume
Die Daten im Wikidata Query Service umfassen den Hauptnamensraum wdq
, an den Abfragen an den Haupt-SPARQL-Endpunkt geleitet werden, sowie andere Hilfsnamensräume, die unten aufgeführt sind.
Um Daten aus einem anderen Namensraum abzufragen, nutze die Endpunkt-URL https://query.wikidata.org/bigdata/namespace/NAMESPACENAME/sparql.
Kategorien
Siehe bitte die vollständige Beschreibung auf der Kategorien-Dokumentationsseite.
Der Wikidata Query Service bietet auch Zugriff auf den Kategorien-Graph ausgewählter Wikis. Die Liste der Wikis kann hier eingesehen werden: https://noc.wikimedia.org/conf/dblists/categories-rdf.dblist
Der Name des Kategorienamensraums ist categories
. Der SPARQL-Endpunkt für den Zugriff darauf ist https://query.wikidata.org/bigdata/namespace/categories/sparql.
Siehe bitte die Kategorienseite für eine detailliertere Dokumentation.
DCAT-AP
Die DCAT-AP-Daten für Wikidata sind als SPARQL über den Endpunkt https://query.wikidata.org/bigdata/namespace/dcatap/sparql verfügbar.
Die Quelle für die Daten ist: https://dumps.wikimedia.org/wikidatawiki/entities/dcatap.rdf
Beispiel-Abfrage um Daten abzurufen:
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT ?url ?date ?size WHERE {
<https://www.wikidata.org/about#catalog> dcat:dataset ?dump .
?dump dcat:distribution [
dct:format "application/json" ;
dcat:downloadURL ?url ;
dct:issued ?date ;
dcat:byteSize ?size
] .
}
Linked-Data-Fragments-Endpunkt
Wir unterstützen auch die Abfrage der Datenbank über die Triple-Pattern-Fragments-Oberfläche. Dies ermöglicht es, einfach und effizient Tripel-Daten zu finden, bei denen ein oder zwei Teile des Tripels bekannt sind, wenn du alle Tripel abrufen musst, die dieser Vorlage entsprechen. Siehe die weiteren Informationen auf der Seite von Linked Data Fragments. This allows to cheaply and efficiently browse triple data where one or two components of the triple is known and you need to retrieve all triples that match this template. See more information at the Linked Data Fragments site.
Auf die Oberfläche kann über folgende URL zugegriffen werden: https://query.wikidata.org/bigdata/ldf
.
Dieser Dienst ist auf der Blazegraph-Datenbank implementiert, sodass er die gleiche Verzögerung wie der Query Service hat.
Beispielabfragen:
- https://query.wikidata.org/bigdata/ldf?subject=http%3A%2F%2Fwww.wikidata.org%2Fentity%2FQ146 - alle Tripel mit dem Subjekt Hauskatze (Q146)
- https://query.wikidata.org/bigdata/ldf?subject=&predicate=http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23label&object=%22London%22%40en - alle Tripel, die die englische Bezeichnung "London" haben
- https://query.wikidata.org/bigdata/ldf?predicate=http%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2FP212&object=%22978-0-262-03293-3%22 All triples that have
978-0-262-03293-3
as the value for ISBN-13 (P212). The following shell command usescurl
to build the same URL and obtain the same data.
$ curl \
--get \
-H 'Accept: application/rdf+xml' \
--data-urlencode 'predicate=http://www.wikidata.org/prop/direct/P212' \
--data-urlencode 'object="978-0-262-03293-3"' \
'https://query.wikidata.org/bigdata/ldf'
Beachte, dass derzeit nur vollständige URLs für die Parameter subject
, predicate
und object
unterstützt werden.
Standardmäßig wird die HTML-Oberfläche angezeigt, es sind jedoch viele Datenformate verfügbar, die über den Accept
-HTTP-Header definiert werden.
Accept | Format |
---|---|
text/html | Standard-HTML-Browser-Oberfläche |
text/turtle | Turtle-Format |
application/ld+json | JSON-LD-Format |
application/n-triples | N-Triples-Format |
application/rdf+xml | RDF/XML-Format |
Die Daten werden auf Seiten ausgegeben, wobei eine Seite 100 Tripel umfasst. Die Seiten sind nummeriert, beginnend mit 1 und die Seitenzahl wird über den Parameter page
definiert.
The pages are numbered starting from 1, and page number is defined by page
parameter.
Eigenständiger Dienst
Da es sich bei dem Dienst um eine Open-Source-Software handelt, ist es auch möglich, den Dienst auf einem Server eines anderen Benutzers zu betreiben, indem man die unten aufgeführten Anweisungen befolgt.
Die Hardware-Anforderungen finden sich in der Blazegraph-Dokumentation.
Wenn du planst, den Dienst für eine andere Wikibase-Instanz als Wikidata zu verwenden, siehe bitte die weiterführenden Anweisungen.
Installieren
Um den Dienst zu installieren, wird empfohlen, das vollständige Servicepaket als ZIP-Datei herunterzuladen, z.B. von Maven Central mit Gruppen-ID org.wikidata.query.rdf
und Artifakt-ID "service
" oder die Quelldistribution von https://github.com/wikimedia/wikidata-query-rdf/ zu klonen und mit "mvn package" aufzubauen. Das ZIP-Paket wird sich im Verzeichnis dist/target
unter service-VERSION-dist.zip
befinden.
The package ZIP will be in the dist/target
directory under service-VERSION-dist.zip
.
Das Paket enthält den Blazegraph-Server als .war-Anwendung, die nötigen Bibliotheken, um den Aktualisierungsdienst zum Erhalt neuer Daten von der Wikidata-Seite auszuführen, Skripte, um unterschiedliche Aufgaben zu vereinfachen und das GUI im Unterverzeichnis gui
.
Wenn du das GUI nutzen möchtest, musst du deinen HTTP-Server konfigurieren, damit er dieses bedient.
If you want to use the GUI, you will have to configure your HTTP server to serve it.
Standardmäßig ist der SPARQL-Endpunkt auf http://localhost:9999/bigdata/namespace/wdq/sparql konfiguriert und das Standard-Blazegraph-GUI ist auf http://localhost:9999/bigdata/ verfügbar. Beachte, dass in der Standardkonfiguration auf beide nur über localhost zugegriffen werden kann. Du musst externe Endpunkte und eine angemessene Zugriffskontrolle anbieten, wenn du von Außerhalb auf sie zugreifen möchtest. Note that in the default configuration, both are accessible only from localhost. You will need to provide external endpoints and an appropriate access control if you intend to access them from outside.
Nutzung von Snapshot-Versionen
Wenn du eine unveröffentlichte Snapshot-Version installieren möchtest (normalerweise ist dies erforderlich, wenn die veröffentlichte Version einen Fehler enthält, der behoben wurde, wobei die neue Veröffentlichung noch nicht verfügbar ist) und du nicht deine eigenen Binärdateien kompilieren möchtest, kannst du eines von folgendem nutzen:
- https://github.com/wikimedia/wikidata-query-deploy - Entwicklungs-Repositorium, das die Produktions-Binärdateien enthält. Dafür muss
git fat
funktionieren. Prüfe es und führe "git fat pull
" aus. - Archivierte Snapshot-Entwicklungen auf $archiva - wähle die letzte Version, dann Artifacts und wähle das letzte Paket zum Herunterladen aus.
Needs git fat
working. Check it out and do "git fat pull
".
- Archiva snapshot deployments at https://archiva.wikimedia.org/#artifact/org.wikidata.query.rdf/service - choose the latest version, then Artifacts, and select the latest package for download.
Daten laden
Der weitere Installationsprozess ist detailliert in der Start-Dokumentation beschrieben, die Teil der Distribution ist und die folgenden Schritte beinhaltet:
- Den letzten RDF von https://dumps.wikimedia.org/wikidatawiki/entities/ herunterladen (das RDF ist die Datei mit der Endung
.ttl.gz
). - Die Daten mit dem Skript
munge.sh
vorverarbeiten. Dadurch wird eine Reihe von TTL-Dateien mit vorverarbeiteten Daten mit Namen wiewikidump-000000001.ttl.gz
, etc erstellt. Siehe die Optionen für das Skript unten. - Starte den Blazegraph-Dienst, indem du das Skript
runBlazegraph.sh
ausführst. - Lade die Daten in den Dienst, indem du $loaddata nutzt. Beachte, dass das Laden der Daten normalerweise wesentlich langsamer ist, als die Vorberarbeitung, sodass du mit dem Laden beginnen kannst, sobald mehrere vorverarbeitete Dateien bereitstehen. Das Laden kann von jeder Datei aus neu gestartet werden, wenn man die unten beschriebenen Optionen nutzt.
- Starte den Aktualisierungsdienst, indem du
runUpdate.sh
nutzt, nachdem alle Daten geladen wurden.
- Pre-process data with the
munge.sh
script.
This creates a set of TTL files with preprocessed data, with names like wikidump-000000001.ttl.gz
, etc. See options for the script below.
- Start Blazegraph service by running the
runBlazegraph.sh
script.
- Load the data into the service by using
loadData.sh
. Note that loading data is usually significantly slower than pre-processing, so you can start loading as soon as several preprocessed files are ready. Loading can be restarted from any file by using the options as described below.
- After all the data is loaded, start the Updater service by using
runUpdate.sh
.
Kategorien laden
Wenn du auch Kategoriedaten laden möchtest, tue bitte folgendes:
- Erstelle einen Namensraum, z.B.
categories
:createNamespace.sh categories
- Lade die Daten hinein:
forAllCategoryWikis.sh loadCategoryDump.sh categories
Beachte, dass diese Skripte nur Daten aus Wikimedia-Wikis gemäß den Wikimedia-Einstellungen laden. Wenn du mit einem anderen Wiki arbeiten musst, musst du möglicherweise manche Variablen in den Skripten ändern.
Skripte
Die folgenden hilfreichen Skripte sind Teil der Distribution:
munge.sh
Daten aus dem RDF-Dump zum Laden vorverarbeiten.
Option | Notwendig? | Erklärung |
---|---|---|
-f filename | Notwendig | Dateiname des RDF-Dumps |
-d directory | Optional | Verzeichnis, in das die verarbeiteten Dateien geschrieben werden, Standard ist das aktuelle Verzeichnis |
-l language | Optional | Wenn dieser Wert angegeben ist, werden nur Bezeichnungen für die angegebene Sprache beibehalten. Nutze diese Option, wenn du nur eine Sprache benötigst, da es die Performance verbessern, die Datenbankgröße reduzieren und Abfragen vereinfachen kann. |
-s | Optional | Wenn dieser Wert angegeben ist, werden die Daten über Seitenlinks ausgeschlossen. Nutze diese Option, wenn du Seitenlinks nicht abfragen musst, da dies die Performance verbessern und die Datenbankgröße reduzieren kann. |
-c size | Optional | Nutze diese Option, um die Standardgröße der Chunks zu überschreiben. Bei zu großen Chunks kann es beim Import zu Zeitüberschreitungen kommen. |
Beispiel:
./munge.sh -c 50000 -f data/wikidata-20150427-all-BETA.ttl.gz -d data -l en -s
Verarbeitete Daten in Blazegraph laden. curl
muss installiert sein.
Option | Notwendig? | Erklärung |
---|---|---|
-n namespace | Notwendig | Definiert den Graph-Namensraum, in den die Daten geladen werden, wobei für WDQS-Daten wdq verwendet werden sollte |
-d directory | Optional | Verzeichnis, in dem die verarbeiteten Dateien gespeichert sind, Standard ist das aktuelle Verzeichnis |
-h host | Optional | Hostname des SPARQL-Endpunktes, Standard ist localhost |
-c context | Optional | Kontext-URL des SPARQL-Endpunktes, Standard ist bigdata - muss für WDQS normalerweise nicht geändert werden |
-s start | Optional | Nummer der verarbeiteten Datei, mit der begonnen wird, Standard ist 1 |
-e end | Optional | Nummer der verarbeiteten Datei, mit der geendet wird |
Beispiel:
./loadData.sh -n wdq -d `pwd`/data
runBlazegraph.sh
Den Blazegraph-Dienst ausführen.
Option | Notwendig? | Erklärung |
---|---|---|
-d directory | Optional | Heim-Verzeichnis der Blazegraph-Installation, Standard ist das Verzeichnis, in dem sich auch das Skript befindet |
-c context | Optional | Kontext-URL des SPARQL-Endpunktes, Standard ist bigdata - muss für WDQS normalerweise nicht geändert werden |
-p port | Optional | Port-Nummer des SPARQL-Dienstes, Standard ist 9999 |
-o options | Optional | Fügt Optionen zur Kommandozeile hinzu |
Beispiel:
./runBlazegraph.sh
Innerhalb des Skripts gibt es zwei Variablen, die man möglicherweise bearbeiten möchte:
# Q-id of the default globe
DEFAULT_GLOBE=2
# Blazegraph HTTP User Agent for federation
USER_AGENT="Wikidata Query Service; https://query.wikidata.org/";
Auch die folgenden Umgebungsvariablen werden vom Skript überprüft (alle sind optional):
Variable | Standard | Erklärung |
---|---|---|
HOST | localhost | Hostname, um den Blazegraph-Dienst anzubinden |
PORT | 9999 | Port, um den Blazegraph-Dienst anzubinden |
DIR | Verzeichnis, in dem sich das Skript befindet | Verzeichnis, indem Konfigurationsdateien gespeichert werden |
HEAP_SIZE | 16g | Java-Heap-Größe für Blazegraph |
MEMORY | -Xms${HEAP_SIZE} -Xmx${HEAP_SIZE}
|
Vollständige Java-Speicher-Einstellungen für Blazegraph |
GC_LOGS | siehe die Quelle | GC-Protokoll-Einstellungen |
CONFIG_FILE | RWStore.properties | Ort der Blazegraph-Konfigurationsdatei |
BLAZEGRAPH_OPTS | leer | Zusätzliche Optionen werden so wie sie sind an die Java-Kommandozeile übergeben |
runUpdate.sh
Den Aktualisierungsdienst ausführen.
Option | Notwendig? | Erklärung |
---|---|---|
-n namespace | Optional | Definiert den Graph-Namensraum, in den die Daten geladen werden, wobei für WDQS-Daten wdq verwendet werden sollte. Standard: wdq |
-h host | Optional | Hostname des SPARQL-Endpunktes, Standard ist localhost |
-c context | Optional | Kontext-URL des SPARQL-Endpunktes, Standard ist bigdata - muss für WDQS normalerweise nicht geändert werden |
-l language | Optional | Wenn dieser Wert angegeben ist, werden nur Bezeichnungen für die angegebene Sprache beibehalten. Nutze diese Option, wenn du nur eine Sprache benötigst, da es die Performance verbessern, die Datenbankgröße reduzieren und Abfragen vereinfachen kann. |
-s | Optional | Wenn dieser Wert angegeben ist, werden die Daten über Seitenlinks ausgeschlossen. Nutze diese Option, wenn du Seitenlinks nicht abfragen musst, da dies die Performance verbessern und die Datenbankgröße reduzieren kann. |
-t secs | Optional | Zeitüberschreitung bei der Kommunikation mit Blazegraph, in Sekunden. |
-N | Optional | Diese Option bewirkt, dass das Skript Optionen ignoriert, die Probleme verursachen können, wenn eine zweite Aktualisierung läuft, während die erste noch läuft. Nutze dies, wenn du eine zweite Aktualisierung laufen lässt, z.B. um ein bestimmtes Datenobjekt mit --ids aufzunehmen (siehe unten). Use it when running secondary Updater e.g. to catch up specific item with --ids (see below).
|
-S | Optional | Auf der Konsole speichern, statt in Dateien. Nützlich für Wartungsaufgaben, wenn das Skript aus der Kommandozeile ausgeführt wird. |
Es wird empfohlen, für die Optionen -l
und -s
(oder deren Abwesenheit) für munge.sh und runUpdate.sh die gleichen Einstellungen zu verwenden, da Daten andernfalls möglicherweise nicht korrekt aktualisiert werden.
Beispiel:
./runUpdate.sh
Auch die folgenden Umgebungsvariablen werden vom Skript überprüft (alle sind optional):
Variable | Standard | Erklärung |
---|---|---|
UPDATER_OPTS | leer | Zusätzliche Optionen werden so wie sie sind an die Java-Kommandozeile übergeben |
Aktualisierungsoptionen
Die folgenden Optionen funktionieren mit der Aktualisierungsanwendung.
Sie sollten als zusätzliche Optionen nach --
an das Skript runUpdate.sh
übergeben werden, z.B.: runUpdate.sh -- -v
.
Option | Lange Option | Bedeutung |
---|---|---|
-v | --verbose | Ausführlicher Modus |
-s TIMESTAMP | --start TIMESTAMP | Datensammlung an einem bestimmten Zeitstempel beginnen, im Format 2015-02-11T17:11:08Z oder 20150211170100 .
|
--keepTypes | Alle Typen-Aussagen beibehalten | |
--ids ID1,ID2,... | Bestimmte IDs aktualisieren und verlassen | |
--idrange ID1-ID2 | ID-Bereich aktualisieren und verlassen | |
-d SECONDS | --pollDelay SECONDS | Wie lange gewartet werden soll, wenn keine neuen Daten verfügbar sind |
-t NUMBER | --threadCount NUMBER | Wie viele Fäden genutzt werden sollen, wenn Wikibase-Daten erhalten werden |
-b NUMBER | --batchSize NUMBER | Wie viele Änderungen von der LetzteÄnderungen-API erhalten werden sollen |
-V | --verify | Daten nach dem Laden verifizieren (LANGSAM! Nur zur Fehlerbehebung) |
-T SECONDS | --tailPollerOffset SECONDS | Einen zweiten Trailing-Poller mit festgelegter Verzögerung nach dem Haupt-Poller nutzen |
--entityNamespaces NUMBER,NUMBER,... | Liste von Wikibase-Namensräumen, die auf Änderungen überprüft werden | |
-W | --wikibaseUrl URL | URL, die bei der Kommunikation mit Wikibase genutzt werden soll, z.B.https://www.wikidata.org . Muss gesetzt werden, wenn Aktualisierungen nicht von Wikidata kommen. E.g. https://www.wikidata.org . Must be set if updates do not come from Wikidata.
|
-U | --conceptUri URL | URL-Basis der URLs, die genutzt werden, um Wikibase-Einträge in RDF zu repräsentieren, z.B. http://www.wikidata.org . Muss gesetzt werden, wenn die Wikibase-Instanz keine Präfixe nutzt, die auf Wikidata basieren. E.g. http://www.wikidata.org . Must be set if the Wikibase instance does not use Wikidata-based prefixes.
|
--commonsUri URL | Commons-URI für die Unterstützung von SDC. Sowohl --conceptUri als auch --commonsUri sollten gesetzt werden, damit dies funktioniert.
| |
--wikibaseScheme SCHEME | URL-Schema (http, https), das bei der Kommunikation mit Wikibase genutzt werden soll. (veraltet) Nutze oben stattdessen wikibaseUrl. | |
--wikibaseHost HOSTNAME | Hostname, der bei der Kommunikation mit Wikibase genutzt werden soll. (veraltet) Nutze oben stattdessen wikibaseUrl. | |
-I | --init | Wenn dies zusammen mit einer Startzeit angegeben ist, wird diese Zeit in der Datenbank als Zeitpunkt der letzten Änderung markiert und zukünftige Abfragen würden sie als Startpunkt nutzen, auch wenn keine neueren Daten gefunden wurden. |
--constraints | Lädt Einschränkungsverletzungen für aktualisierte Datenobjekte über die constraintsrdf -API.
| |
-K SERVERS | --kafka SERVERS | Wenn dies angegeben ist, wird die Aktualisierung Kafka als Aktualisierungsquelle nutzen und die angegebenen Server als Broker, z.B. kafka1001.eqiad.wmnet:9092,kafka1002.eqiad.wmnet:9092,kafka1003.eqiad.wmnet:9092
|
-C NAME | --consumer NAME | Kafka-Kosumentenname. Es ist eine gute Idee, dafür den Hostnamen oder etwas, das auf diesem basiert, zu verwenden. |
-c NAME1,NAME2 | --cluster NAME1,NAME2 | Kafka-Clusternamen. Wenn dies angegeben ist, werden Kafka-Themennamen als Präfix Clusternamen erhalten, so wäre es statt thema1 NAME1.thema1 und NAME2.thema2 . If specified, the Kafka topic names will be prefixed by cluster names, so instead of topic1 there would be NAME1.topic1 and NAME2.topic2 .
|
--resetKafka | Kafka-Offsets zurücksetzen | |
--apiPath | Pfad zur API, z.B. /w/api.php (Standard) oder /api.php . Eingeführt in /w/api.php . (eingeführt in I78c222fe8b)
| |
--entityDataPath | Pfad zu den Einträgen, z.B. /wiki/Special:EntityData/ (Standard) oder /Special:EntityData/ . Eingeführt in /wiki/Special:EntityData/ . (eingeführt in I78c222fe8b)
|
Konfigurierbare Eigenschaften
Die folgenden Eigenschaften können konfiguriert werden, indem sie in den Skripten oben zu dem Ausführungsbefehl des Skriptes hinzugefügt werden:
Name | Bedeutung | Standard |
---|---|---|
wikibaseServiceWhitelist | Dateiname der Remote-Service-Whiteliste. Gilt für Blazegraph. | whitelist.txt |
org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceFactory.config | Konfigurationsdatei für die MWAPI-Integration | mwservices.json |
com.bigdata.rdf.sail.sparql.PrefixDeclProcessor.additionalDeclsFile | Dateiname, der zusätzliche Präfix-Definitionen enthält. Die Syntax ist wie in der SPARQL-Abfrage. Diese Definitionen werden von Blazegraph geladen und sind für alle Abfragen verfügbar. | |
wikibaseConceptUri | URL-Präfix für Wikibase-Daten, welches bei der RDF-Repräsentation der Einträge genutzt wird. Muss gesetzt werden, wenn der Datensatz nicht Wikidata-Präfixe nutzt. | http://www.wikidata.org |
commonsConceptUri | URL-Präfix für die Unterstützung von Structured Data on Commons. Sowohl wikibaseConceptUri als auch commonsConceptUri sollten gesetzt werden, damit dies funktioniert.
|
|
wikibaseHost | Hostname der Wikibase-Instanz. Gilt für Blazegraph und den Aktualisierer. (veraltet) Nutze oben wikibaseConceptUri. | www.wikidata.org |
org.wikidata.query.rdf.blazegraph.inline.literal.WKTSerializer.noGlobe | Standard-Globus-Wert für Koordinaten, bei denen kein Globus angegeben ist. "2" würde bedeuten, dass der Eintrag Q2 der Standard-Globus ist. "0" bedeutet, dass es keinen Standard-Globus gibt. Gilt für Blazegraph. | 0 |
org.wikidata.query.rdf.tool.rdf.RdfRepository.timeout | Zeitüberschreitung bei der Kommunikation mit dem RDF-Repositorium, in Sekunden. Gilt für den Aktualisierer. | -1 |
org.wikidata.query.rdf.tool.wikibase.WikibaseRepository.timeout | Zeitüberschreitung bei der Kommunikation mit dem Wikibase-Repositorium, in Millisekunden. Gilt für den Aktualisierer. | 5000 |
http.userAgent | User-Agent, den der Dienst beim Anruf anderer Dienste nutzen würde | |
http.proxyHost http.proxyPort
https.proxyHost https.proxyPort |
Proxy-Einstellungen, die beim Anrufen anderer Dienste genutzt werden | |
wikibaseMaxDaysBack | Wie viele Tage zurück wir die Daten der letzten Änderungen vom Aktualisierer abfragen können. Wenn die Datenbank älter als die angegebene Anzahl von Tagen ist, sollte sie aus einem aktuelleren Dump neu geladen werden. | 30 |
Fehlende Funktionen
Unten finden sich Funktionen, die derzeit noch nicht unterstützt werden:
- Weiterleitungen werden nur als owl:sameAs-Tripel repräsentiert, drücken jedoch keine Äquivalenz in den Daten aus und haben keine spezielle Unterstützung.
Kontakt
Wenn du bemerkst, dass etwas mit dem Dienst nicht stimmt, kannst du das Discovery-Team per Email an die Liste discovery@lists.wikimedia.org
oder über den IRC-Kanal #wikimedia-discovery
kontaktieren.
Fehler können auch im Phabricator gemeldet und über das Discovery-Phabricator-Board verfolgt werden.