@@ -4,91 +4,37 @@ _Current Working Draft_
4
4
5
5
** Introduction**
6
6
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
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
+ GraphQL was originally created in 2012 and the development of this open standard
12
+ started in 2015. This specification was licensed under OWFa 1.0 in 2017 (see
13
+ [ Licensing] ( #sec-Copyright-and-Licensing ) ). The
14
+ [ GraphQL Foundation] ( https://graphql.org/foundation/ ) was formed in 2019 as a
15
+ neutral focal point for organizations who support the GraphQL ecosystem, and the
14
16
[ GraphQL Specification Project] ( https://graphql.org/community/ ) was established
15
17
also in 2019 as the Joint Development Foundation Projects, LLC, GraphQL Series.
16
-
17
18
If your organization benefits from GraphQL, please consider
18
19
[ becoming a member] ( https://graphql.org/foundation/join/#graphql-foundation ) and
19
20
helping us to sustain the activities that support the health of our neutral
20
21
ecosystem.
21
22
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
23
+ This specification is developed on GitHub at
24
+ [ graphql/graphql-spec] ( https://github.com/graphql/graphql-spec/ ) . Contributions
25
+ are managed by the
26
+ [ GraphQL Working Group] ( https://github.com/graphql/graphql-wg ) , hosted by the
27
+ [ GraphQL TSC] ( https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md ) .
28
+ Learn more about contributing to the GraphQL Project with our
29
+ [ contribution guide] ( https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md ) .
30
+
31
+ GraphQL has evolved and may continue to evolve in future editions of this
32
+ specification. Previous editions of the GraphQL specification can be found at
33
+ permalinks that match their
25
34
[ release tag] ( https://github.com/graphql/graphql-spec/releases ) . The latest
26
35
working draft release can be found at
27
36
[ https://spec.graphql.org/draft ] ( https://spec.graphql.org/draft ) .
28
37
29
- # [ LICENSE] ( ../LICENSE.md )
30
-
31
- ** Conformance**
32
-
33
- A conforming implementation of GraphQL must fulfill all normative requirements.
34
- Conformance requirements are described in this document via both descriptive
35
- assertions and key words with clearly defined meanings.
36
-
37
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
38
- "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative portions of
39
- this document are to be interpreted as described in
40
- [ IETF RFC 2119] ( https://tools.ietf.org/html/rfc2119 ) . These key words may appear
41
- in lowercase and still retain their meaning unless explicitly declared as
42
- non-normative.
43
-
44
- A conforming implementation of GraphQL may provide additional functionality, but
45
- must not where explicitly disallowed or would otherwise result in
46
- non-conformance.
47
-
48
- ** Conforming Algorithms**
49
-
50
- Algorithm steps phrased in imperative grammar (e.g. "Return the result of
51
- calling resolver") are to be interpreted with the same level of requirement as
52
- the algorithm it is contained within. Any algorithm referenced within an
53
- algorithm step (e.g. "Let completedResult be the result of calling
54
- CompleteValue()") is to be interpreted as having at least the same level of
55
- requirement as the algorithm containing that step.
56
-
57
- Conformance requirements expressed as algorithms and data collections can be
58
- fulfilled by an implementation of this specification in any way as long as the
59
- perceived result is equivalent. Algorithms described in this document are
60
- written to be easy to understand. Implementers are encouraged to include
61
- equivalent but optimized implementations.
62
-
63
- See [ Appendix A] ( #sec-Appendix-Notation-Conventions ) for more details about the
64
- definition of algorithms, data collections, and other notational conventions
65
- used in this document.
66
-
67
- ** Non-Normative Portions**
68
-
69
- All contents of this document are normative except portions explicitly declared
70
- as non-normative.
71
-
72
- Examples in this document are non-normative, and are presented to aid
73
- understanding of introduced concepts and the behavior of normative portions of
74
- the specification. Examples are either introduced explicitly in prose (e.g. "for
75
- example") or are set apart in example or counter-example blocks, like this:
76
-
77
- ``` example
78
- This is an example of a non-normative example.
79
- ```
80
-
81
- ``` counter-example
82
- This is an example of a non-normative counter-example.
83
- ```
84
-
85
- Notes in this document are non-normative, and are presented to clarify intent,
86
- draw attention to potential edge-cases and pit-falls, and answer common
87
- questions that arise during implementation. Notes are either introduced
88
- explicitly in prose (e.g. "Note: ") or are set apart in a note block, like this:
89
-
90
- Note: This is an example of a non-normative note.
91
-
92
38
# [ Overview] ( Section%201%20--%20Overview.md )
93
39
94
40
# [ Language] ( Section%202%20--%20Language.md )
@@ -108,3 +54,5 @@ Note: This is an example of a non-normative note.
108
54
# [ Appendix: Grammar Summary] ( Appendix%20B%20--%20Grammar%20Summary.md )
109
55
110
56
# [ Appendix: Specified Definitions] ( Appendix%20C%20--%20Specified%20Definitions.md )
57
+
58
+ # [ Appendix: Conformance & Licensing] ( Appendix%20D%20--%20Conformance%20&%20Licensing.md )
0 commit comments