Zum Inhalt

Tipps und Tricks

Zwischenspeichern von aufwändigen Textsuchen oder Graphen

Im Forschungsprozess kann es sich lohnen, Textsuchen oder aufwändige Graphenerstellung zwischenzuspeichern. Dadurch kann man sich um die Erstellung der Abbildungen kümmern, ohne dass wiederholt der Suchprozess durchgeführt werden muss. Allerdings sollten sich dabei weder die Graph-Daten noch das Vokabular ändern.

Die Vorgehensweise ist in wenigen Zeilen umsetzbar:

  1. Prüfe, ob unter dem angegebenen Pfad eine Graph-Datei existiert. In diesem Fall ist das eine .gexf-Datei, die sich für unsere Vorgehensweise anbietet.
  2. Falls 1. nicht zutrifft, erzeuge einen Graphen samt allen Daten und schreibe ihn in die Graph-Datei unter dem angegebenen Pfad.
  3. Falls 1. zutrifft, lies die Graph-Datei ein.
from pathlib import Path
import networkx as nx

pth = Path("./mein_graph.gexf")
if pth.exists():
    graph = nx.read_gexf(pth)
else:
    graph = import_your_very_important_graph("snapshot_1234.csv")
    txts = TextSearch("my_slug", token=ENV["MY_TOKEN"], timeout=280)
    txts.search(graph, vocab, summarize=True)
    nx.write_gexf(graph, pth)

Ausschlaggebend sind die beiden Funktionen nx.read_gexf() und nx.write_gexf(). Diese lesen resp. schreiben die Datei mit dem Pfad pth ein. Falls pth existiert, wird diese Datei eingelesen, ansonsten wird der Graph neu erzeugt.

Falls man eine neue Berechnung erzwingen will, löscht man manuell im Ordner die Graph-Datei (unter dem Pfad pth).