1.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	| categories | tags | ||
|---|---|---|---|
  | 
  | 
Schema Definition Language
SDL is the formal name for the syntax of GraphQL schemas.
Types
A schema is a collection of object types that contain fields. Each field has a type of its own. A field's type can be a primitive/scalar value (such as an Int or a String), or it can be another object type (just like a custom type in TS).
A schema's type can be non-nullable which is to say, a required field. We indicate this with !.
A type for a field can be a collection/array of a given type.
The following example indicates these properties:
type Person {
  age: Int
  name: String
  pets: [Pet]!
}
type Pet {
  species: String
  name: String
  age: Int
}
Queries
A query is also a schema type but of a special sort.
The fields of this type are entry points into the rest of the schema. These are the top-level fields that the client can query for.
For example if we had this type:
type Track {
  id: ID!
  title: String!
  author: Author!
  thumbnail: String
  length: Int
  modulesCount: Int
}
We could define a type to access a give Track as follows:
type Query {
  tracksForHomePage: [Track!]!
}
Then use this type as the basis for a query:
Descriptions
Descriptions are comments that allow you to document your Schema
Single line:
"Single line comment"
"""
Multi
line
comment
"""