@@ -102,6 +102,16 @@ Schema Objects
102102 Read back the experimental ``GraphSchema `` bound with ``bind(schema=...) ``.
103103 ``g.schema `` returns the bound object or ``None ``; ``g.has_schema() `` returns
104104 a matching boolean. Use ``bind(schema=...) `` to attach schemas, not assignment.
105+ This is local declaration introspection only. It does not infer schemas from
106+ data, fetch or hydrate remote dataset schemas, or serialize schemas into
107+ ``gfql_remote() `` requests in this release.
108+
109+ Per-type declarations such as Cat, Dog, and Car are represented by
110+ ``GraphSchema.node_types ``. The stable public type identity is
111+ ``NodeType.name ``; ``NodeType.labels `` are the GFQL label predicates that map
112+ onto label columns such as ``label__Cat ``. For example, Cat and Dog can both
113+ carry an ``Animal `` label while still preserving separate Cat and Dog
114+ property contracts.
105115
106116``NodeType.to_arrow() `` and ``EdgeType.to_arrow() ``
107117 Export declarations as ``pyarrow.Schema `` objects through GFQL's row-schema
@@ -198,12 +208,17 @@ The public schema is consumed by local validation APIs, including:
198208``gfql_remote(...) `` is different. It compiles Cypher strings locally and sends
199209the resulting GFQL wire payload to the server, but this release does **not **
200210serialize a bound ``GraphSchema `` into remote GFQL requests. Remote execution
201- therefore still depends on the server-side dataset schema and GFQL support. If
202- you want declared schema checks before a remote call, run
211+ therefore still depends on the server-side dataset metadata and GFQL support. If
212+ you want local declared- schema checks before a remote call, run
203213``g.gfql_validate(query) `` locally first, then call ``g.gfql_remote(query) ``.
204214
205215Remote schema transport is planned as a follow-on after the local schema
206- contract and serialization boundary are stable.
216+ contract and serialization boundary are stable. The intended direction is a
217+ versioned graph-schema envelope derived from ``GraphSchema.to_arrow() ``: exact
218+ Arrow schemas for merged node/edge tables and per-type declarations, plus a
219+ JSON summary for dataset metadata, UI, and REST consumers. That future transport
220+ should live beside ``gfql_query `` / ``gfql_operations `` rather than as fake data
221+ tables.
207222
208223Compatibility Notes
209224-------------------
0 commit comments