Wikidata Wochenend-Quiz #4: Von Mannheim nach Kiel

linkeddata
wikidata
wkndata
Tags: #<Tag:0x00007efd22563a58> #<Tag:0x00007efd225638c8> #<Tag:0x00007efd22563788>

#1

Fragestellung: Wer hat von der Uni Mannheim zur Uni Kiel gewechselt?


Diese Fragestellung soll mit Hilfe des SPARQL-Endpoints von Wikidata und den dort enthaltenen Daten beantwortet werden. Wer mitknobeln möchte muss also eine entsprechende SPARQL-Abfrage kreieren (die zurückgelieferten Daten selbst sind dann häufig abhängig von der Vollständigkeit der Daten in Wikidata).

Wenn man nicht weiter kommt, dann kann man nach einen Tipp fragen und auch hier verschiedene Ansätze diskutieren. Fertige Lösungen sollten vielleicht mit einem entsprechenden Spoiler-Vermerk versehen werden.


#2

Hört sich erstmal ganz schön knobelig an :wink:

Für Starthilfe oder Tipps einfach fragen :slight_smile: Die bisherigen Fragen, Tipps und Lösungen sind in diesem Pad gesammelt: hackmd.io/s/Hkscdxd_z# Da sind auch 2 Tutorials verlinkt.


#3

Ich nehme an, die Reihenfolge ist wichtig (erst Mannheim, dann Kiel) und der Wechsel muss unmittelbar sein, d.h. ohne eine Pause oder eine Zwischenstation an einer anderen Uni?


#4

Die Reihenfolge ist wichtig, da man ansonsten Personen bekommt, welche von Kiel nach Mannheim gewechselt haben. An die möglichen Zwischenstationen habe ich nicht gedacht, können wir aber gerne als verschärfte Variante fordern, dass es keine Zwischenstation gab (bzw. bekannt ist).


#5

Ich hätte da dann was. Wie ist das denn mit den Antworten? Die sollten ja nicht vor Sonntagabend gepostet werden, oder?


#6

Wenn man die fertige Lösung posten will, kann man sie auch eingeklappt lassen, indem man den Lösungstext zwischen zwei details-Tags schreibt:

Siehe Anleitung: https://meta.discourse.org/t/we-now-support-hidden-and-expanding-text-in-posts/25712/2

Demo:

Meine Lösung (Nur Test der Ein-Ausklappfunktion) Hier steht der eingeklappte Text der Lösung.

#7

Du kannst sie auch jetzt schon posten, aber bitte eingeklappt lassen. Ich hebe mir das Quiz für morgen auf.


#8

Ok, dann mach ich das mal so und poste nur den Link zur Query.

Meine Lösung http://tinyurl.com/yczbuq7f

#9

Ah, okay, das ist ein “unmittelbarer Wechsel”. Sieht gut aus!

Ich habe bei der verschärften Variante versucht “keinen Arbeitgeber dazwischen, aber evt. der Wechsel erst nach einer Pause” zu modellieren in SPARQL. Insbesondere bei unterschiedlich genauen Datumsangaben könnte dies auch zum tragen kommen (nicht in dem Beispiel). Leider bisher ohne Erfolg. :frowning:


#10

Ich habe bei der verschärften Variante versucht “keinen Arbeitgeber dazwischen, aber evt. der Wechsel erst nach einer Pause” zu modellieren in SPARQL.

Ok, da versuch ich mich auch mal dran. Horst Siebert ist so ein Fall: http://www.wikidata.org/entity/Q95410


#11

Mit dieser Query ist Horst Siebert auch dabei:

Query, die Pausen Rechnung trägt (einmal editiert): http://tinyurl.com/y8ryytc9

Aber vielleicht sollte die Pause auch nicht zu lange sein, weil dann nicht von einem “Wechsel” gesprochen werden kann. Hier eine Möglichkeit, mit der man bestimmen kann, wie groß die Pause zwischen Uni Mannheim und Uni Kiel sein darf (im Beispiel 90 Tage):

Query, die Pausen bis zu 90 Tagen erlaubt http://tinyurl.com/y8ryytc9

#12

Bei dieser ersten Query scheint es aber noch Fehler zu geben: P582 für Start verwendet; ?endUniMannheim vs. ?endMannheim; >= anstatt > sowie die Filterung auf Statement-Ebene klappt nicht. Man müsste ja nur noch zwei Resultate bekommen.


#13

Okay, jetzt habe ich auch für den letzten Fall etwas.

Meine Lösung zu den drei Varianten:

http://tinyurl.com/yb8amwfl


#14

Bei dieser ersten Query scheint es aber noch Fehler zu geben: P582 für Start verwendet; ?endUniMannheim vs. ?endMannheim

Ja, das hatte ich falsch korrigiert.

= anstatt >

Ja.

sowie die Filterung auf Statement-Ebene klappt nicht. Man müsste ja nur noch zwei Resultate bekommen.

Ne, es sollen drei kommen, eben auch der Horst Siebert. Hier die korrigierte Fassung: http://tinyurl.com/yclq2agw


#15

Wieso? Host Siebert hat doch ein Arbeitgeber-Statement (Uni Konstanz) das nicht mit den anderen beiden identisch ist und dessen Startdatum nach Mannheim und vor Kiel liegt. Somit müsste dieser Eintrag weggefiltert werden. (PS: P582 statt P580 wird noch verwendet)


#16

Achja. Ich hatte nicht genau hingeschaut und dachte Konstanz wär vor Mannheim gewesen. Hatte wieder die Variablen nicht konsistent benannt. Jetzt aber: http://tinyurl.com/yc3x6jlq


#17

Wenn Du noch das letzte P582 in ein P580 änderst, dann habe ich auch nichts mehr zu meckern :wink:


#18

Das Problem bei dieser Abfrage ist – wie so oft – die Abdeckung mit relevanten Informationen. Ich habe mal versucht abzufragen, wieviele Arbeitgeber-Statements es überhaupt gibt, bei denen der Arbeitgeber eine Uni ist und wieviele davon überhaupt ein Startdatum haben. Wenn ich nichts falsch gemacht habe, ist die Abdeckung momentan bei etwa 3%, siehe http://tinyurl.com/y7r9nnr3.

Beim Enddatum ist die Abdeckung noch geringer (2,3%), siehe http://tinyurl.com/ycoj48rp.


#19

Ok, bin jetzt am am Knobeln :slight_smile: und habe mir Eure Ansätze noch nicht angeguckt. Ich habe eine kleine Ergenisliste mit 4 Personen, deren Arbeitgeber, Start- und Enddatum des Arbeitsverhältnis. Für 2 Personen kann ich an den Datumsangaben ablesen, dass sie zuerst in Mannheim und dann später nach in Kiel gewechselt sind. Bei der dritten Person ist es umgekehrt. Und bei der vierten Person frage ich mich, warum die überhaupt in der Ergebnismenge sein kann, weil sie nur an der Uni Mannheim war.

Bleiben noch als TODOs für mich: Reihenfolge inder Abfrage modellieren und die ominöse vierte Person (Rainer Mausfeld) rausfiltern.


#20

Ach so, sehe grad, dass bei Rainer Mausfeld kein Enddatum angegeben ist https://www.wikidata.org/wiki/Q19298908 Man sollte also das Enddatum auf optional setzen?