From 053942aac35bfbd3bce7c2cdff7b7cababda807f Mon Sep 17 00:00:00 2001 From: Alina Molkentin <alina.molkentin@studium.uni-hamburg.de> Date: Mon, 13 Dec 2021 17:20:16 +0100 Subject: [PATCH] =?UTF-8?q?readmes=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- verarbeitung/construct_new_graph/readme.txt | 11 +++++++++ verarbeitung/dev_files/readme.txt | 1 + verarbeitung/readme.txt | 19 +++++++++++++++ verarbeitung/test/readme.txt | 6 +++++ .../update_graph/connect_new_input.py | 24 +++++++++++++++++-- verarbeitung/update_graph/readme.txt | 15 ++++++++++++ 6 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 verarbeitung/construct_new_graph/readme.txt create mode 100644 verarbeitung/dev_files/readme.txt create mode 100644 verarbeitung/readme.txt create mode 100644 verarbeitung/test/readme.txt create mode 100644 verarbeitung/update_graph/readme.txt diff --git a/verarbeitung/construct_new_graph/readme.txt b/verarbeitung/construct_new_graph/readme.txt new file mode 100644 index 0000000..2bc7c23 --- /dev/null +++ b/verarbeitung/construct_new_graph/readme.txt @@ -0,0 +1,11 @@ +Hier wird die grundlegende Grapfstruktur erstellt bei einem ersten Ausführen unseres gesamten Programms. + +Processing.py - Führt den grundlegendem Graphbauprozess aus. Die Input-DOIs werden + als Klassennobjekt zur Knotenmenge hinzugefügt und über einen rekursiven Aufruf + wird die angegene Anzahl an Zitierungen in beide Richtungen zu den Kanten hinzugefügt. + +add_citations_rec.py - Die DOIs, die in den Zitierungen des Inputs zu finden sind, werden ebenfalls zu Knoten + und je nach angegebener Höhe oder Tiefe wird dies für die Zitierungen der Zitierungen + erneut ausgeführt. + +export_to_json.py - Wandelt die berechnete Knoten- und Kantenmenge in eine Json Datei um. \ No newline at end of file diff --git a/verarbeitung/dev_files/readme.txt b/verarbeitung/dev_files/readme.txt new file mode 100644 index 0000000..53ccd02 --- /dev/null +++ b/verarbeitung/dev_files/readme.txt @@ -0,0 +1 @@ +Dieser Ordner ist nur für uns intern, um Testläufe mir echten DOIs zu starten. \ No newline at end of file diff --git a/verarbeitung/readme.txt b/verarbeitung/readme.txt new file mode 100644 index 0000000..a84da7f --- /dev/null +++ b/verarbeitung/readme.txt @@ -0,0 +1,19 @@ +Hauptordner der Verarbeitung. + +Grundlegender Prozess: +Es wird von der UI eine Liste an DOIs an die Verarbeitung übergeben und +diese wird dann umgewandelt in eine Knoten-und Kantenmenge, welche die Zitierungen darstellen. +Die Informationen über die Paper und die Zitierungen kommen von der Input Gruppe über den Aufruf +von der Funktion Publication. Die Knoten- und Kantenmengen werden in Form einer +Json Datei an den Output übergeben. + +get_pub_from_input - Erstellt aus einer DOI ein Klassenobjekt in dem alle nötigen Informationen + gespeichert sind. + +process_main.py - Überprüft, ob bereits eine Json Datei existiert und ruft dann entweder die Funktion auf, um + einen neuen Graphen zu erstellen oder die Funktion um ihn zu updaten. + +start.script.py - Wird benötigt, um die Dateien ordnerübergreifend aufzurufen. + + +Alle Dateien mit mit der Endung .json sind momentan Beispiele, die an den Output übergeben werden könnten. \ No newline at end of file diff --git a/verarbeitung/test/readme.txt b/verarbeitung/test/readme.txt new file mode 100644 index 0000000..7931309 --- /dev/null +++ b/verarbeitung/test/readme.txt @@ -0,0 +1,6 @@ +In diesem Ordner befinden sich die Unittests. + +input_test.py - Immitiert die Arbeit der Input Gruppe auf eine sehr einfache Weise. + Beispielhafte Informationen werden aus Strings herausgelesen und als Klassenobjekt gespeichert. + +Processing_unittest.py - Führt diverse Tests mit eigenen Beispielen und unserer Input_test Funktion aus. \ No newline at end of file diff --git a/verarbeitung/update_graph/connect_new_input.py b/verarbeitung/update_graph/connect_new_input.py index 4f6b91f..c0703a8 100644 --- a/verarbeitung/update_graph/connect_new_input.py +++ b/verarbeitung/update_graph/connect_new_input.py @@ -24,6 +24,24 @@ from verarbeitung.construct_new_graph.add_citations_rec import add_citations from verarbeitung.construct_new_graph.export_to_json import output_to_json def connect_old_and_new_input(json_file, new_doi_list, search_depth, search_height, test_var = False): + ''' + :param json_file: json file with old graph + :type json_file: json file + + :param new_doi_list: additional dois which has to be connected to the old graph + :type new_doi_list: list of strings + + :param search_depth: depth to search for references + :type search_depth: int + + :param search_height: height to search for citations + :type search_height: int + + :param test_var: variable to differenciate between test and url call + :type test_var: boolean + + connetcs the old graph and the new input dois to a complete new graph + ''' global nodes, edges nodes = [] edges = [] @@ -49,16 +67,18 @@ def connect_old_and_new_input(json_file, new_doi_list, search_depth, search_heig def complete_changed_group_nodes(new_doi_list, search_depth_max, search_height_max, test_var): + ''' + work in progress + ''' changed_group_node_citations = [] changed_group_node_references = [] for node in nodes: if (node.group < 0) and (node.doi in new_doi_list): node.group = "input" - - elif (node.group > 0): + elif (node.group > 0) and (node.doi in new_doi_list): node.group = "input" diff --git a/verarbeitung/update_graph/readme.txt b/verarbeitung/update_graph/readme.txt new file mode 100644 index 0000000..4481b9c --- /dev/null +++ b/verarbeitung/update_graph/readme.txt @@ -0,0 +1,15 @@ +Wenn der Benutzer seine Eingabe im Nachhinein ändert, werden hier die Änderungen angewendet. +Um möglichst selten die Funktion für den Input aufzurufen (lange Laufzeit), reinterpretieren wir die Json Datei. + +import_from_json.py - Stellt die alte Knoten-und Kantenmenge aus der Json Datei wieder her. + +Knoten_Vergleich.py - Überprüft welche Knoten neu hinzugekommen sind und welche enfternt wurden. + +Kanten_Vergleich.py - Stellt nach der Löschung eines Knotens wieder eine valide Kantenmenge her. + +update_graph_del.py - Führt die Löschung eines Knotens durch + +connect_new_input.py - Verbindet den alten Graphen aus der Json Datei mit den neuen DOIs zu dem neuen Graphen. + +update_graph.py - Überprüft welche Änderungen der Benutzer vorgenommen hat (Löschen oder hinzufügen von DOIs) + und führt diese aus. \ No newline at end of file -- GitLab