Technical Specifications

## Specifications ### Core Schemas core GraphQL schemas with interoperable metadata Core schemas are standard GraphQL schemas which follow the [core specification](core/). The [core spec](core/) provides machinery to reference namespaced, versioned directives which provide specified metadata to schema processors and data cores. All other specifications in this library are core-compliant specs, designed to be referenced from core schemas. ### Joining and Linking join for joining subgraphs into a supergraph ### Tags tag for tagging GraphQL schema elements with names ## Glossary
API schema (or API), n.
The subset of a [core schema](#def-core-schema) which is used to validate client operations and may be served to clients via introspection. *Contrast: [machinery](#def-machinery)*

core schema, n.

A GraphQL schema document which follows the [core schema specification](/core/). Core schemas provide specified metadata to processors and data cores by referencing features.
machinery, n.
The subset of a [core schema](#def-core-schema) which should *not* be served to clients. Machinery typically consists of specified metadata and definitions to support that metadata which assist processing but which which are not relevant to clients.

join, v.

  1. the act of combining multiple GraphQL schemas into a single schema

    "Our API joins our auth, users, and movies graphs."

  2. the act of combining multiple GraphQL *definitions* into a single definition.

    "Our API's User type joins fields from the users and movies graphs."

subgraph, n.
A graph which is [joined](#def-join) into a [supergraph](#def-supergraph). *aka: federated service graph*
supergraph, n.
A graph which [joins](#def-join) multiple [subgraphs](#def-subgraph) together.