| import networkx as nx | |
| from pyvis.network import Network | |
| import random | |
| # Load the GraphML file | |
| G = nx.read_graphml("./dickens/graph_chunk_entity_relation.graphml") | |
| # Create a Pyvis network | |
| net = Network(height="100vh", notebook=True) | |
| # Convert NetworkX graph to Pyvis network | |
| net.from_nx(G) | |
| # Add colors and title to nodes | |
| for node in net.nodes: | |
| node["color"] = "#{:06x}".format(random.randint(0, 0xFFFFFF)) | |
| if "description" in node: | |
| node["title"] = node["description"] | |
| # Add title to edges | |
| for edge in net.edges: | |
| if "description" in edge: | |
| edge["title"] = edge["description"] | |
| # Save and display the network | |
| net.show("knowledge_graph.html") | |