Skip to content

GFQL remote: send bound typed GraphSchema with gfql_remote requests #1465

@lmeyerov

Description

@lmeyerov

Summary

Add remote transport for the typed graph schema introduced by the GFQL schema/type-system work. A graph with a bound public GraphSchema should be able to call gfql_remote() and send the schema contract to the server-side GFQL executor instead of using schema metadata only for local preflight.

Schedule

This is not part of the immediate #1457 merge gate. Run after the local schema contract is stable and serializable:

  1. feat(gfql): add public declarative schema model #1457 / GFQL type system follow-on A: public declarative schema model + stable exports #1337 lands public GraphSchema binding and local validation.
  2. GFQL type system follow-on C: public schema-Arrow APIs + plottable boundary enforcement #1339 defines stable schema serialization / Arrow-plottable boundary semantics, or this issue explicitly defines the remote JSON contract as a narrow subset.
  3. Then this issue wires schema transport through gfql_remote() / gfql_remote_shape().

It does not need to wait for #1338 inference, but the tutorial #1464 should mention remote schema support only after this lane lands.

Scope

  • Define a stable serialized schema payload for remote GFQL requests.
  • Include bound GraphSchema metadata from g.bind(schema=schema) in gfql_remote() request envelopes.
  • Preserve current behavior when no schema is bound.
  • Decide whether strict/permissive mode is sent as schema metadata, request option, or both.
  • Ensure server/backward compatibility: old servers should ignore or reject with a clear capability error rather than silently misinterpreting the request.
  • Add request-shape tests for chain/DAG/Cypher string gfql_remote() paths as applicable.
  • Add docs note linking local gfql_validate() and remote execution behavior.

Out of scope

Acceptance

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions