Skip to content

GQ: typed edge alternation and bounded wildcard traversal #659

Description

@ragnorc

Problem

Exploration across several relationship types requires explicitly enumerated typed patterns. GQ has no edge-alternation or generic edge-wildcard construct that preserves the relationship's concrete type and identity.

Proposed change

Define a traversal over a selected union of edge types, and decide whether a wildcard expands to all eligible edges under the captured schema. Specify direction, compatible endpoint types, heterogeneous property access, edge identity and authorization. Require bounds for recursive/depth traversal; wildcard must not mean an unbounded graph scan.

Keep this separate from Boolean OR over property predicates. Unioning relationships affects typing and multiplicity, not just predicate evaluation.

Acceptance criteria

  • A traversal over two edge types returns both types with concrete edge identity/type.
  • Parallel edges and self-loops have documented multiplicity/direction semantics.
  • Properties absent on one union member are statically rejected or explicitly nullable under a documented type rule.
  • Schema additions, permissions and wildcard expansion are tied to a consistent schema/graph snapshot.
  • Result/depth/resource limits produce explicit truncation or refusal rather than unbounded fanout.

Starting points: typed edge grammar, type checking. A generic neighborhood API may use this capability, but has its own response/pagination contract.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature proposalneeds-triageAwaiting maintainer triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions