diff --git a/verarbeitung/json_demo.py b/verarbeitung/json_demo.py index 734156020bb499b68be222ee9a4c1eec57ffd132..b9f618d1a2dcac13ca51a530f365d40aa226bc11 100644 --- a/verarbeitung/json_demo.py +++ b/verarbeitung/json_demo.py @@ -2,10 +2,15 @@ import json from input_fj import input -def output_to_json(V,E): +""" +Functions that format the computed graph to match the interface to the output-part + +""" + +# creates a list that contains a dictionary for each node +# the dictionaries store the values for the attributes +def format_nodes(V): list_of_node_dicts = list() - list_of_edge_dicts = list() - dict_of_all = dict() for node in V: new_dict = dict() new_dict["name"] = node.title @@ -15,18 +20,29 @@ def output_to_json(V,E): new_dict["doi"] = node.doi_url new_dict["group"] = node.group list_of_node_dicts.append(new_dict) + return list_of_node_dicts + +# creates a list that contains a disctionary for each edge +# the dictionaries contain the source as keys and the target as values +def format_edges(E): + list_of_edge_dicts = list() for edge in E: new_dict_2 = dict() new_dict_2["source"] = edge[0] new_dict_2["target"] = edge[1] list_of_edge_dicts.append(new_dict_2) + return list_of_edge_dicts + +# combine the lists of nodes and edges to a dictionary and saves it to a json file +def output_to_json(V,E): + dict_of_all = dict() + list_of_node_dicts = format_nodes(V) + list_of_edge_dicts = format_edges(E) dict_of_all["nodes"] = list_of_node_dicts dict_of_all["links"] = list_of_edge_dicts - #return(dict_of_all) with open('json_text.json','w') as outfile: json.dump(dict_of_all, outfile) - #knoten = ["doi1", "doi2", "doi3"] #kanten = [[1,2],[3,4],[5,6]] #output_to_json(knoten,kanten)