Vorbereitung
Grundidee
dsstools baut auf dem Package für Netzwerkanalyse, NetworkX auf und
erweitert es um Funktionen und Integrationen, die im Forschungsbereich
des Lehrstuhls Digital Social Science relevant sind. Von daher sollten
Grundkenntnisse sowohl in Python als auch in NetworkX vorhanden sein,
bevor wir starten können.
Die Grundidee bei dsstools ist, dass immer auf Basis eines
networkx.Graph-Objektes gearbeitet wird. Das bedeutet, dass alle
Interaktionen mit dem Netzwerk rein auf Basis von dsstools stattfinden
können, aber auch immer Funktionen von NetworkX angewandt werden
können. Das hat das Ziel, das fortgeschrittene Personen auch komplexere
Funktionen selbst schreiben können. Für absolute Beginner sind jedoch
die von dsstools bereitgestellten Funktionen völlig ausreichend.
Einstieg in die Programmierung
Lege als Erstes eine Python Datei an und importiere dsstools.
Zusätzlich importieren wir networkx, da wir ab und an auf Funktionen
des Moduls zurückgreifen:
Das Package NetworkX wird im Import innerhalb python immer als
networkx geschrieben und für gewöhnlich mit einem Alias nx versehen,
um die Schreibweise abzukürzen.
Import eines Graphen
Zuerst muss ein Graph importiert werden. Dazu bietet NetworkX selbst einige unterschiedliche Formate an:
read_pajekfür Pajek-Dateienread_gexffür Graph Exchange XML Format- Ein Überblick über alle kompatiblen Formate ist hier zu finden.
Darüber hinaus stellt dsstools noch mehrere Integrationen bereit, wie
Daten oder Netzwerke importiert werden können. Siehe für eine Auflistung
hier.
Achtung
Wir empfehlen für den Anfang, die Daten als networkx.DiGraph zu
importieren!
Bereinigung (optional)
Manchmal müssen Kanten, deren Ursprungs- und Endknoten identisch ist,
aus dem Netzwerk entfernt werden. Das lässt sich mittels networkx
erledigen:
In diesem Fall werden Selfloops entfernt, also Kanten, deren Start- und Endknoten der gleiche ist. Das kommt bisweilen bei gecrawlten Netzwerken vor.