wikibase-SPARQL

Moin zusammen,

nach Ergänzung der Adressbücher um das Property 'ist Instanz von' (P2)
'Adessbuch' (Q13) - mit Datum - , sieht die Anfrage für Adressbücher
jetzt so aus:

# Alle Adressbücher
#defaultView:Timeline
SELECT ?item ?releaseYear ?itemLabel ?date WHERE {
?item wdt:P2 wd:Q13;
p:P2 ?addressbook.
?addressbook pq:P106 ?date.
BIND(YEAR(?date) AS ?releaseYear)
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],de". }
}

Eine Suche nach allen Personen mit Wohnort Minden habe ich nicht
hinbekommen. Minden taucht auch nicht in der Liste der Orte auf.

# Alle Orte
SELECT ?item ?itemLabel WHERE {
?item wdt:P2 wd:Q8.
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],de". }
}

Bei den über das Mindener Adressbuch (Q24) erfassten Personen ist als
Wohnort 'Königstraße 387' (Q13079) angegeben.

# Alle Personen aus einem Adressbuch (Q24)
SELECT ?item ?itemLabel ?livingLabel ?sourceLabel ?bookLabel
?residenceLabel WHERE {
?item wdt:P2 wd:Q7;
wdt:P83 ?residence;
p:P208 ?statement.
?statement ps:P208 ?living;
prov:wasDerivedFrom ?refnode.
?refnode pr:P51 ?source.
?source p:P7 ?part.
?part ps:P7 wd:Q24, ?book.
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],de". }
}

Die Abfrage funktioniert aber für den Ort Kiel.

# Alle Personen mit Wohnort Kiel
SELECT ?item ?itemLabel ?residenceLabel WHERE {
?item wdt:P83 wd:Q1, ?residence.
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],de". }
}

Programmatisch habe ich diese Anfragen auch schon hin bekommen. Jetzt
werde ich den Weg über die Adressbücher - Personen aus eienm Adessbuch -
Person exemplarisch implementieren.

Viele Grüße

Jörg

Moin zusammen,

die nächste Version ist hoch geladen. Die SPARQL-Abfragen werden in einer einfachen Tabelle angezeigt. Von dort kann man dann zu den Einträgen navigieren.

Es gibt einen Weg über Adressbücher zu Personen in einem Adressbuch zur Person. Ebenso kommt man, über Orte zu Peronen zu einem Ort, hin zur Person.

Man sieht sehr schön, dass Anfragen zu großen Listen relativ lange dauern. Das Arbeiten in der Tabelle geht dann recht schnell, da die Daten im Client gehalten werden.

Viel Spaß beim Ausprobieren.

Viele Grüße

Jörg

Moin zusammen,

am letzten Wochenende hat Jesper Wikibase von 1.33 auf die Long Term Stable Version 1.35 aktualisiert. Dabei wurde auch das Schema angepasst.

Bei der Anpassung des Clients sind mir folgende Dinge aufgefallen:

  1. Die Adressbücher sind nicht als solches gekennzeichnet. Ich habe für die? 12 Adressbücher das Property ‚ist Instanz von‘ (P2) ‚Adressbuch‘ (Q13) mit dem Qualifikator ‚Datum‘ (P106) und dem dazu gehörendem Jahr ergänzt.


Können wir das beim nächsten Daten Import automatisieren?

  1. Auf der anderen Seite gibt es einige Items die im Label ‚Adreßbuch‘ enthalten. Soweit ich es mir angesehen habe, sind es Familiennamen oder Personen. Die passende Suche ist hier verlinkt.

  2. Die Items aus der Suche sind mit http://wikibase/entity/Q77617 verlinkt. Dieser Link funktioniert nicht. Richtig ist https://gedbas-test.genealogy.net/wiki/Item:Q77617. Das lässt sich doch bestimmt konfigurieren.

Der Wikibase-Client muss noch auf das neue Schema angepasst werden. Die Liste der Adressbücher und Orte funktionieren. Daher ein kleiner Vorgeschmack per Screenshot:

grafik

Die Adressbücher mit einem speziellen Typ zu kennzeichnen ist eine gute Idee. Ich werde es beim nächsten Import machen. Mein Plan ist es, die komplette Bibliographie der Adressbücher in Wikibase zu übernehmen. Ich hoffe, das stört bei der Auswertung der Adressbuch-Daten nicht.

Werden wir überhaupt direkt mit SPARQL arbeiten können? Ich vermute eher nicht. Es braucht wohl noch einen Suchindex dazwischen, in dem die Adressbuchdaten vorbereitet sind: Wikibase → Suchindex → Frontend.

SPARQL soll auch nicht für den Benutzer sein - sondern wir intern verwendet. Seit dem Wochenende funktioniert der WikibaseQueryService nicht mehr. Selbst einfachste abfragen laufen in ein Timeout.

Habe den Wikibase-Stack durchgestartet; nun scheint es wieder zu funktionieren.

Vielen Dank, die Query geht jetzt wieder. Dafür geht das wiki nicht mehr :astonished:

Jetzt funzt Beides, Query und Wikibase. Die Änderungen der Properties sind in den Code eingearbeitet und gepushed.

SPARQL verwende ich bisher nur im Client selbst. Es ist auch nicht vorgesehen, dass ein Benutzer damit Eingaben macht.

An so etwas wie eine Suche - Erweiterte Suche habe ich auch schon gedacht.