Technical Glossary
TakeShape uses a combination unique terminology and unique uses of common terminology to describe its functionality. 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 TakeShape project's database. 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 TakeShape will treat 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 TakeShape project's database.
Pattern
(noun)
A TakeShape 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 TakeShape 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 TakeShape 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 provided by an organization other than TakeShape.