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_pajek
für Pajek-Dateienread_gexf
fü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.