Technical Glossary
This glossary will define all potentially ambiguous terms used in this specification, in alphabetical order.
Annotation
(noun)
A property on a shape's field that starts with the "@" symbol. Similar to GraphQL directives (also called annotations).
Content
(noun)
Data in a ShapeDB. All content must be an instance of a shape in the project schema's root-level "shapes"
object.
Field
(noun)
-
A GraphQL query field. Read more about fields in the GraphQL docs.
-
A property in a Shape's schema. Shapes are analogous to GraphQL types. A shape's properties will appear as fields on queries that return that shape.
Hidden
(adjective)
Any object or property that treated as part of a project's schema, though it will not appear in the editable JSON schema.
Indexing
(noun)
The process of fetching data from an external API and storing it in a project's database.
Pattern
(noun)
-
A project pre-configured to generate an API with a specific set of functionality.
-
A directory, usually in a git repository or a project folder, that contains a
pattern.yml
file with metadata and aschema.json
file with a valid project schema.
Relationship
(noun)
A type definition that defines a property within one shape as being an instance of another shape that exists in the schema or service schema.
Resolver
(noun)
A resolver is a function that executes when a query or mutation is called, or a shape field is accessed. A resolver is required on queries & mutations, and may be used in a shape property.
Schema
(noun)
-
Project Schema — JSON code used to configure a project. This JSON will contain objects that define the project's functionality.
-
Shape Schema — JSON code used to configure the fields on a shape.
Service
(noun)
A REST or GraphQL API.