MCPcopy Create free account
hub / github.com/CodeGraphContext/CodeGraphContext / _get_eid

Function _get_eid

src/codegraphcontext/viz/server.py:94–127  ·  view source on GitHub ↗
(element)

Source from the content-addressed store, hash-verified

92 db_manager = manager
93
94def _get_eid(element):
95 if element is None: return None
96 if isinstance(element, (int, str)):
97 return str(element)
98
99 # If element is a dict (like Neo4j returned items or KuzuDB/Ladybug node/rel
100 # dicts). KùzuDB spells its internal id field '_id'; LadybugDB spells the
101 # same field '_ID' (uppercase) — confirmed against a live query on each
102 # embedded backend.
103 if isinstance(element, dict):
104 # KuzuDB _src / _dst are directly {'offset': X, 'table': Y}
105 if 'offset' in element and 'table' in element:
106 return f"{element.get('table')}_{element.get('offset')}"
107
108 for key in ['_id', '_ID', 'id', 'element_id']:
109 if key in element:
110 val = element[key]
111 if val is not None:
112 # KuzuDB returns dict IDs like {'offset': 1, 'table': 0} inside nodes
113 if isinstance(val, dict):
114 return f"{val.get('table', 0)}_{val.get('offset', 0)}"
115 return str(val)
116 return str(id(element))
117
118 # Try various ways to get ID (Neo4j, FalkorDB, etc. objects)
119 for attr in ['element_id', 'id', '_id']:
120 if hasattr(element, attr):
121 val = getattr(element, attr)
122 if val is not None:
123 # KuzuDB objects if any
124 if isinstance(val, dict):
125 return f"{val.get('table', 0)}_{val.get('offset', 0)}"
126 return str(val)
127 return str(id(element))
128
129
130def _meta(d: dict, name: str):

Callers 2

parse_nodeFunction · 0.85
parse_relFunction · 0.85

Calls 1

getMethod · 0.65

Tested by

no test coverage detected