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

Function parse_element

src/codegraphcontext/viz/server.py:524–551  ·  view source on GitHub ↗
(val, nodes_dict, edges)

Source from the content-addressed store, hash-verified

522
523
524def parse_element(val, nodes_dict, edges):
525 if val is None:
526 return
527
528 # If it is a Path
529 if hasattr(val, 'nodes') and hasattr(val, 'relationships'):
530 for n in val.nodes:
531 parse_element(n, nodes_dict, edges)
532 for r in val.relationships:
533 parse_element(r, nodes_dict, edges)
534 return
535
536 type_name = type(val).__name__
537
538 is_dict_rel = isinstance(val, dict) and (
539 any(k in val for k in ('_src', '_dst', '_SRC', '_DST', 'src_node', 'dest_node'))
540 )
541 is_dict_node = isinstance(val, dict) and (
542 '_label' in val or '_LABEL' in val or 'labels' in val
543 ) and not is_dict_rel
544
545 if type_name in ('Node', 'KuzuNode') or is_dict_node:
546 parse_node(val, nodes_dict)
547 elif type_name in ('Relationship', 'KuzuRelationship') or is_dict_rel:
548 parse_rel(val, edges)
549 elif isinstance(val, (list, tuple)):
550 for item in val:
551 parse_element(item, nodes_dict, edges)
552
553
554class AIQueryRequest(BaseModel):

Callers 1

ai_queryFunction · 0.85

Calls 2

parse_nodeFunction · 0.85
parse_relFunction · 0.85

Tested by

no test coverage detected