import networkx as nx G = nx.read_graphml("./dickensTestEmbedcall/graph_chunk_entity_relation.graphml") def get_all_edges_and_nodes(G): # Get all edges and their properties edges_with_properties = [] for u, v, data in G.edges(data=True): edges_with_properties.append( { "start": u, "end": v, "label": data.get( "label", "" ), # Assuming 'label' is used for edge type "properties": data, "start_node_properties": G.nodes[u], "end_node_properties": G.nodes[v], } ) return edges_with_properties # Example usage if __name__ == "__main__": # Assume G is your NetworkX graph loaded from Neo4j all_edges = get_all_edges_and_nodes(G) # Print all edges and node properties for edge in all_edges: print(f"Edge Label: {edge['label']}") print(f"Edge Properties: {edge['properties']}") print(f"Start Node: {edge['start']}") print(f"Start Node Properties: {edge['start_node_properties']}") print(f"End Node: {edge['end']}") print(f"End Node Properties: {edge['end_node_properties']}") print("---")