Skip to content
Snippets Groups Projects
Commit 3b55ef1d authored by Molkentin, Alina's avatar Molkentin, Alina Committed by Malte Schokolowski
Browse files

readmes hinzugefügt

parent 916612e8
No related branches found
No related tags found
1 merge request!11merge verarbeitung to main repo
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
Dieser Ordner ist nur für uns intern, um Testläufe mir echten DOIs zu starten.
\ No newline at end of file
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
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
......@@ -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"
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment