Skip to content
Tools/Spec Introspection/list_edge_types

list_edge_types

List every canonical edge type from `UPG_EDGE_CATALOG`, optionally narrowed by `source_type` and/or `target_type`. Each entry carries the edge key (`type`), forward/reverse verbs, classification, and endpoint types. The polymorphic wildcard `"node"` is preserved on polymorphic edges.

Spec Introspectionatomic (read-only)

Arguments

source_typestringoptional

Exact-match filter on UPGEdgeDefinition.source_type. Pass "node" to find polymorphic edges with a wildcard source.

target_typestringoptional

Exact-match filter on UPGEdgeDefinition.target_type.

Returns

Shape
{ count, edges: Array<{ type, forward_verb, reverse_verb, classification, source_type, target_type }> }

Examples

Live call against the Notion example graph.

Output

{
  "count": 946,
  "edges": [
    {
      "type": "product_targets_persona",
      "forward_verb": "targets",
      "reverse_verb": "targeted_by",
      "classification": "semantic",
      "source_type": "product",
      "target_type": "persona"
    },
    {
      "type": "persona_pursues_job",
      "forward_verb": "pursues",
      "reverse_verb": "pursued_by",
      "classification": "semantic",
      "source_type": "persona",
      "target_type": "job"
    },
    {
      "type": "persona_experiences_need",
      "forward_verb": "experiences",
      "reverse_verb": "experienced_by",
      "classification": "semantic",
      "source_type": "persona",
      "target_type": "need"
    },
    {
      "type": "persona_aspires_to_desired_outcome",
      "forward_verb": "aspires_to",
      "reverse_verb": "aspirational_for",
      "classification": "hierarchy",
      "source_type": "persona",
      "target_type": "desired_outcome"
    },
    {
      "type": "persona_incurs_switching_cost",
      "forward_verb": "incurs",
      "reverse_verb": "incurred_by",
      "classification": "hierarchy",
      "source_type": "persona",
      "target_type": "switching_cost"
    },
    {
      "type": "job_surfaces_need",
      "forward_verb": "surfaces",
      "reverse_verb": "surfaces_from",
      "classification": "causal",
      "source_type": "job",
      "target_type": "need"
    },
    {
… (truncated)

See Also