33import json
44import uuid
55from importlib .resources import files
6- from typing import Any , Union
6+ from typing import Union
77
88from IPython .display import HTML
99
@@ -42,11 +42,10 @@ def __init__(self) -> None:
4242 self .screenshot_svg = file .read ()
4343
4444 @staticmethod
45- def _serialize_entity (entity : Union [Node , Relationship ]) -> dict [ str , Any ] :
45+ def _serialize_entity (entity : Union [Node , Relationship ]) -> str :
4646 try :
4747 entity_dict = entity .to_dict ()
48- json .dumps (entity_dict )
49- return entity_dict
48+ return json .dumps (entity_dict )
5049 except TypeError :
5150 props_as_strings = {}
5251 for k , v in entity_dict ["properties" ].items ():
@@ -57,8 +56,7 @@ def _serialize_entity(entity: Union[Node, Relationship]) -> dict[str, Any]:
5756 entity_dict ["properties" ].update (props_as_strings )
5857
5958 try :
60- json .dumps (entity_dict )
61- return entity_dict
59+ return json .dumps (entity_dict )
6260 except TypeError as e :
6361 # This should never happen anymore, but just in case
6462 if "not JSON serializable" in str (e ):
@@ -75,8 +73,8 @@ def render(
7573 height : str ,
7674 show_hover_tooltip : bool ,
7775 ) -> HTML :
78- nodes_json = json . dumps ([self ._serialize_entity (node ) for node in nodes ])
79- rels_json = json . dumps ([self ._serialize_entity (rel ) for rel in relationships ])
76+ nodes_json = f"[ { ',' . join ([self ._serialize_entity (node ) for node in nodes ])} ]"
77+ rels_json = f"[ { ',' . join ([self ._serialize_entity (rel ) for rel in relationships ])} ]"
8078
8179 render_options_json = json .dumps (render_options .to_dict ())
8280 container_id = str (uuid .uuid4 ())
0 commit comments