import gradio as gr from datasets import load_dataset, Dataset from PIL import Image import io import base64 import json from graph_visualization import visualize_graph # Load the dataset dataset = load_dataset("Zaherrr/OOP_KG_Dataset", split='data') print(f'This is the dataset: {dataset}') def reshape_json_data_to_fit_visualize_graph(graph_data): nodes = graph_data["nodes"] edges = graph_data["edges"] transformed_nodes = [ {"id": nodes["id"][idx], "label": nodes["label"][idx]} for idx in range(len(nodes["id"])) ] transformed_edges = [ {"source": edges["source"][idx], "target": edges["target"][idx], "type": "->"} for idx in range(len(edges["source"])) ] graph_data = {"nodes": transformed_nodes, "edges": transformed_edges} return graph_data def display_example(index): example = dataset[index] img = example["image"] # Prepare the graph data graph_data = {"nodes": example["nodes"], "edges": example["edges"]} transformed_graph_data = reshape_json_data_to_fit_visualize_graph(graph_data) # Generate the graph visualization graph_html = visualize_graph(transformed_graph_data) # Wrap the graph HTML in a div with fixed height but no scrolling # graph_html_with_style = f""" #