import pipmaster as pm if not pm.is_installed("pyvis"): pm.install("pyvis>=0.3.1") if not pm.is_installed("networkx"): pm.install("networkx") import networkx as nx from pyvis.network import Network import random # Load the GraphML file G = nx.read_graphml("../Topic/ChuZhongShuXue/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"] html_path = "knowledge_graph.html" # Replace CDN URL from cdn.jsdelivr.net to fastly.jsdelivr.net with open(html_path, 'r', encoding='utf-8') as f: content = f.read() content = content.replace("cdn.jsdelivr.net", "fastly.jsdelivr.net") with open(html_path, 'w', encoding='utf-8') as f: f.write(content) net.show(html_path)