@@ -4,125 +4,40 @@ _Current Working Draft_
44
55** Introduction** 
66
7- This is the specification for GraphQL, a query language and execution engine
8- originally created at Facebook in 2012 for describing the capabilities and
9- requirements of data models for client-server applications. The development of
10- this open standard started in 2015. This specification was licensed under OWFa
11- 1.0 in 2017. The [ GraphQL Foundation] ( https://graphql.org/foundation/ )  was
12- formed in 2019 as a neutral focal point for organizations who support the
13- GraphQL ecosystem, and the
14- [ GraphQL Specification Project] ( https://graphql.org/community/ )  was established
15- also in 2019 as the Joint Development Foundation Projects, LLC, GraphQL Series.
16- 
17- If your organization benefits from GraphQL, please consider
18- [ becoming a member] ( https://graphql.org/foundation/join/#graphql-foundation )  and
19- helping us to sustain the activities that support the health of our neutral
20- ecosystem.
21- 
22- The GraphQL Specification Project has evolved and may continue to evolve in
23- future editions of this specification. Previous editions of the GraphQL
24- specification can be found at permalinks that match their
7+ This is the specification for GraphQL, a query language and execution engine for
8+ describing and performing the capabilities and requirements of data models for
9+ client-server applications.
10+ 
11+ A conforming implementation of GraphQL must fulfill all normative requirements
12+ described in this specification (see [ Conformance] ( #sec-Appendix-Conformance ) ).
13+ The GraphQL specification is provided under the OWFa 1.0 license (see
14+ [ Copyright and Licensing] ( #sec-Appendix-Copyright-and-Licensing ) ).
15+ 
16+ GraphQL was originally created in 2012 and the development of this open standard
17+ started in 2015. It is a deliverable of the
18+ [ GraphQL Specification Project] ( https://graphql.org/community/ ) , established in
19+ 2019 with the [ Joint Development Foundation] ( https://www.jointdevelopment.org/ ) .
20+ 
21+ The [ GraphQL Foundation] ( https://graphql.org/foundation/ )  was formed in 2019 as
22+ a neutral focal point for organizations who support development of the GraphQL
23+ ecosystem. If your organization benefits from GraphQL, please consider
24+ [ becoming a member] ( https://graphql.org/foundation/join/#graphql-foundation ) .
25+ 
26+ This specification is developed on GitHub at
27+ [ graphql/graphql-spec] ( https://github.com/graphql/graphql-spec/ ) . Contributions
28+ are managed by the
29+ [ GraphQL Working Group] ( https://github.com/graphql/graphql-wg ) , hosted by the
30+ [ GraphQL Technical Steering Committee] ( https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md ) .
31+ To learn more see the
32+ [ contribution guide] ( https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md ) .
33+ 
34+ GraphQL has evolved and may continue to evolve in future editions of this
35+ specification. Previous editions of the GraphQL specification can be found at
36+ permalinks that match their
2537[ release tag] ( https://github.com/graphql/graphql-spec/releases ) . The latest
2638working draft release can be found at
2739[ https://spec.graphql.org/draft ] ( https://spec.graphql.org/draft ) .
2840
29- ** Copyright Notice** 
30- 
31- Copyright © 2015-2018, Facebook, Inc.
32- 
33- Copyright © 2019-present, GraphQL contributors
34- 
35- THESE MATERIALS ARE PROVIDED “AS IS”. The parties expressly disclaim any
36- warranties (express, implied, or otherwise), including implied warranties of
37- merchantability, non-infringement, fitness for a particular purpose, or title,
38- related to the materials. The entire risk as to implementing or otherwise using
39- the materials is assumed by the implementer and user. IN NO EVENT WILL THE
40- PARTIES BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT,
41- SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES
42- OF ACTION OF ANY KIND WITH RESPECT TO THIS DELIVERABLE OR ITS GOVERNING
43- AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR
44- OTHERWISE, AND WHETHER OR NOT THE OTHER MEMBER HAS BEEN ADVISED OF THE
45- POSSIBILITY OF SUCH DAMAGE.
46- 
47- ** Licensing** 
48- 
49- The GraphQL Specification Project is made available by the
50- [ Joint Development Foundation] ( https://www.jointdevelopment.org/ ) . The current
51- [ Working Group] ( https://github.com/graphql/graphql-wg )  charter, which includes
52- the IP policy governing all working group deliverables (including
53- specifications, source code, and datasets) may be found at
54- [ https://technical-charter.graphql.org ] ( https://technical-charter.graphql.org ) .
55- 
56- Currently, the licenses governing GraphQL Specification Project deliverables
57- are:
58- 
59- |  Deliverable    |  License                                                                                                                                                            | 
60- |  -------------- |  ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | 
61- |  Specifications |  [ Open Web Foundation Agreement 1.0 (Patent and Copyright Grants)] ( https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owfa-1-0 )  | 
62- |  Source code    |  [ MIT License] ( https://opensource.org/licenses/MIT )                                                                                                                  | 
63- |  Data sets      |  [ CC0 1.0] ( https://creativecommons.org/publicdomain/zero/1.0/ )                                                                                                       | 
64- 
65- ** Conformance** 
66- 
67- A conforming implementation of GraphQL must fulfill all normative requirements.
68- Conformance requirements are described in this document via both descriptive
69- assertions and key words with clearly defined meanings.
70- 
71- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
72- "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of
73- this document are to be interpreted as described in
74- [ IETF RFC 2119] ( https://tools.ietf.org/html/rfc2119 ) . These key words may appear
75- in lowercase and still retain their meaning unless explicitly declared as
76- non-normative.
77- 
78- A conforming implementation of GraphQL may provide additional functionality, but
79- must not where explicitly disallowed or would otherwise result in
80- non-conformance.
81- 
82- ** Conforming Algorithms** 
83- 
84- Algorithm steps phrased in imperative grammar (e.g. "Return the result of
85- calling resolver") are to be interpreted with the same level of requirement as
86- the algorithm it is contained within. Any algorithm referenced within an
87- algorithm step (e.g. "Let completedResult be the result of calling
88- CompleteValue()") is to be interpreted as having at least the same level of
89- requirement as the algorithm containing that step.
90- 
91- Conformance requirements expressed as algorithms and data collections can be
92- fulfilled by an implementation of this specification in any way as long as the
93- perceived result is equivalent. Algorithms described in this document are
94- written to be easy to understand. Implementers are encouraged to include
95- equivalent but optimized implementations.
96- 
97- See [ Appendix A] ( #sec-Appendix-Notation-Conventions )  for more details about the
98- definition of algorithms, data collections, and other notational conventions
99- used in this document.
100- 
101- ** Non-Normative Portions** 
102- 
103- All contents of this document are normative except portions explicitly declared
104- as non-normative.
105- 
106- Examples in this document are non-normative, and are presented to aid
107- understanding of introduced concepts and the behavior of normative portions of
108- the specification. Examples are either introduced explicitly in prose (e.g. "for
109- example") or are set apart in example or counter-example blocks, like this:
110- 
111- ``` example 
112- This is an example of a non-normative example. 
113- ``` 
114- 
115- ``` counter-example 
116- This is an example of a non-normative counter-example. 
117- ``` 
118- 
119- Notes in this document are non-normative, and are presented to clarify intent,
120- draw attention to potential edge-cases and pit-falls, and answer common
121- questions that arise during implementation. Notes are either introduced
122- explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this:
123- 
124- Note: This is an example of a non-normative note.
125- 
12641# [ Overview] ( Section%201%20--%20Overview.md )  
12742
12843# [ Language] ( Section%202%20--%20Language.md )  
@@ -137,8 +52,12 @@ Note: This is an example of a non-normative note.
13752
13853# [ Response] ( Section%207%20--%20Response.md )  
13954
140- # [ Appendix: Notation Conventions] ( Appendix%20A%20--%20Notation%20Conventions.md )  
55+ # [ Appendix: Conformance] ( Appendix%20A%20--%20Conformance.md )  
56+ 
57+ # [ Appendix: Notation Conventions] ( Appendix%20B%20--%20Notation%20Conventions.md )  
58+ 
59+ # [ Appendix: Grammar Summary] ( Appendix%20C%20--%20Grammar%20Summary.md )  
14160
142- # [ Appendix: Grammar Summary ] ( Appendix%20B %20--%20Grammar%20Summary .md )  
61+ # [ Appendix: Specified Definitions ] ( Appendix%20D %20--%20Specified%20Definitions .md )  
14362
144- # [ Appendix: Specified Definitions ] ( Appendix%20C%20--%20Specified%20Definitions .md)  
63+ # [ Appendix: Licensing ] ( ../LICENSE .md)  
0 commit comments