Charts
Der Einstieg in hochvernetzte Graphdaten und deren Auswertung gelingt am besten dann, wenn man die
Daten darin auch interpretieren und validieren kann. Denn was nutzt die schönste Query, wenn man
das Resultat aufgrund der eigenen Unkenntnis weder Bestätigen noch Verwerfen kann?
Aus diesem Grund bieten sich die Deutschen Charts sehr gut als Datengrundlage an. Wenn die Abfrage
nach dem Titel, welcher sich die längste Zeit auf Platz 1 befand Despacito lautet, dann bluten uns
nicht nur die Ohren, sondern wir wissen auch, dass es stimmt.
Die CSV-Datei enthält Einträge im Format week;pos;title;artist;video
, ist ca. 15MB
groß und wurde aus den Daten der Seite Offizielle
Deutsche Charts generiert. Download
- date
- Das fortlaufende Datum ab dem 07.01.1977
- pos
- Die Wochenplatzierung
- title
- Den Titel des Lieds
- artist
- Den Namen der Interpreten / Gruppe
- video
- Falls vorhanden den Youtube-Link zum Video
Cypher-Magie
Zum Importieren der Daten aus der CSV Datei in eine Graphdatebank sind folgende Cypher-Befehle
notwendig:
Durch die Festlegung von Bedingungen wie einzigartige Attribute (Primärschlüssel) können die
späteren Befehle um ein vielfaches beschleunigt werden.
Die Knoten der einzelnen Platzierungen können unabhängig von der CSV-Datei generiert
werden.
Zunächst werden nun die Interpreten importiert. Durch die Bedingung (Constraint) und dem
Merge-Befehl entstehen keine Dopplungen. Anschließend werden die jeweiligen Lieder geladen. Die
Lieder zweier unterschiedlicher Interpreten können den gleichen Titel haben, weswegen hier eine
Bedingung nicht leicht ist und es so zu Performanzproblemen kommt. Durch den erweiterten
Merge-Befehl hin zu einem ganzen Pfad werden Dopplungen vermieden. Sollte ein neues Lied der
Datenbank hinzugefügt werden, so wird ggf. auch der Videolink ergänzt.
Die Zuordnung von Liedern zu Platzierungen in einer Woche ist etwas schwieriger, da Platzierung und
Datum voneinander abhängen. In klassischen relationalen Datenbanken wäre eine Hilfstabelle mit
kombiniertem Primärschlüssel sinnvoll, im Graph nutzt man dazu entweder einen Hilfsknoten mit drei
Kanten, welcher den Titel mit einem Datum und einer Platzierung verbindet, oder wir attributieren
die Kante zwischen Titel und Platzierung wie hier mit der Angabe des Datums. Da ein Titel z.B. auch
mehrere Wochen auf Platz 1 der Charts verweilen kann, sind so zwischen Titel und Platzierung mehrere
Kanten möglich.
Fragen über Fragen
Eine Datenbank macht erst dann Spaß, wenn man sie ausgiebig befragt.
Es gibt noch viele lustige und interessante Abfragen. Wenn Sie noch eine Ergänzung haben, mailen Sie
mir gerne. Später folgt auch noch der Code zum generieren der CSV-Datei.