GraphQL Query Language
(Redirected from GraphQL specification)
Jump to navigation
Jump to search
A GraphQL Query Language is a query language that provides declarative data access (for requesting and manipulating API data through type-based querying).
- AKA: GraphQL, GQL.
- Context:
- ...
- It can range from being a Simple Data Query to being a Complex API Gateway, depending on its implementation scope.
- It can range from being a Basic Schema Definition to being an Advanced Type System, depending on its type complexity.
- ...
- It can process Query Request through type system definition.
- It can handle Data Retrieval through field selection.
- It can manage Data Mutation through write operation.
- It can support Real-time Update through subscription mechanism.
- It can often provide Schema Definition through SDL syntax.
- It can often implement Type Introspection through metadata query.
- It can often enforce Static Validation through schema checking.
- It can often enable Query Optimization through selective retrieval.
- It can (often) be implemented in a GraphQL Server.
- It can integrate with Database System for data storage.
- It can connect to WebSocket Protocol for real-time communication.
- It can support JSON Format for response serialization.
- It can work with Cache System for query optimization.
- ...
- Examples:
- GraphQL Implementations, such as:
- Server Implementations, such as:
- Client Implementations, such as:
- GraphQL Versions, such as:
- GraphQL Specifications, such as:
- GraphQL Features, such as:
- Query Operations, such as:
- ...
- GraphQL Implementations, such as:
- Counter-Examples:
- REST API, which uses fixed endpoint instead of flexible query.
- SQL Query Language, which targets relational database rather than API endpoint.
- SPARQL Query Language, which focuses on graph database instead of API query.
- XQuery Query Language, which processes XML data rather than JSON response.
- See: API Design, Query Language, Type System, Web Service, Schema Definition Language.
References
2023
- chat.openai.com
- Q: what is GraphQL?
- A: GraphQL is a query language for your API. It allows the client to request specific data from the server, and the server to return only the data that the client has requested. This makes it a flexible alternative to REST APIs, which typically expose a fixed set of endpoints for each resource. With GraphQL, the client has more control over the data it receives, and can request exactly what it needs, rather than receiving a fixed set of data from an endpoint. GraphQL was developed and open-sourced by Facebook, and is now used by many companies as a way to build APIs.
2023
- https://graphql.org/learn/
- QUOTE: GraphQL is a query language for your API, and a server-side runtime for executing queries using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data.
A GraphQL service is created by defining types and fields on those types, then providing functions for each field on each type. ...
- QUOTE: GraphQL is a query language for your API, and a server-side runtime for executing queries using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data.
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/GraphQL Retrieved:2023-1-4.
- GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.[1] GraphQL was developed internally by Facebook (now Meta) in 2012 before being publicly released in 2015. On 7 November 2018, the GraphQL project was moved from Facebook to the newly established GraphQL Foundation, hosted by the non-profit Linux Foundation. Since 2012, GraphQL's rise has closely followed the adoption timeline as set out by Lee Byron, GraphQL's creator. Byron's goal is to make GraphQL omnipresent across web platforms. GraphQL provides an approach to developing web APIs and has been compared and contrasted with REST and other web service architectures. It allows clients to define the structure of the data required, and the same structure of the data is returned from the server. This prevents excessively large amounts of data from being returned, but can impede web caching of query results. The flexibility and richness of the query language also adds complexity that may not be worthwhile for simple APIs. Despite the name, GraphQL does not provide the richness of graph operations that one might find in a full-fledged graph query language such as SPARQL, or even in dialects of SQL that support transitive closure. For example, a GraphQL interface that reports the parents of an individual cannot return, in a single query, the set of all their ancestors. GraphQL consists of a type system, query language and execution semantics, static validation, and type introspection. It supports reading, writing (mutating), and subscribing to changes to data (realtime updates – most commonly implemented using Websockets). GraphQL servers are available for multiple languages. The result of a single query is returned in JSON format.
On 9 February 2018, the GraphQL Schema Definition Language (SDL) became part of the specification.
- GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.[1] GraphQL was developed internally by Facebook (now Meta) in 2012 before being publicly released in 2015. On 7 November 2018, the GraphQL project was moved from Facebook to the newly established GraphQL Foundation, hosted by the non-profit Linux Foundation. Since 2012, GraphQL's rise has closely followed the adoption timeline as set out by Lee Byron, GraphQL's creator. Byron's goal is to make GraphQL omnipresent across web platforms. GraphQL provides an approach to developing web APIs and has been compared and contrasted with REST and other web service architectures. It allows clients to define the structure of the data required, and the same structure of the data is returned from the server. This prevents excessively large amounts of data from being returned, but can impede web caching of query results. The flexibility and richness of the query language also adds complexity that may not be worthwhile for simple APIs. Despite the name, GraphQL does not provide the richness of graph operations that one might find in a full-fledged graph query language such as SPARQL, or even in dialects of SQL that support transitive closure. For example, a GraphQL interface that reports the parents of an individual cannot return, in a single query, the set of all their ancestors. GraphQL consists of a type system, query language and execution semantics, static validation, and type introspection. It supports reading, writing (mutating), and subscribing to changes to data (realtime updates – most commonly implemented using Websockets). GraphQL servers are available for multiple languages. The result of a single query is returned in JSON format.
2016
- (Wikipedia, 2016) ⇒ https://en.wikipedia.org/wiki/GraphQL Retrieved:2016-6-13.
- GraphQL[1] is a data query language developed internally by Facebook in 2012 before being publicly released in 2015. [2] It provides an alternate to REST and ad-hoc webservice architectures.