graphql / graphql/graphql.github.io
Feedback for “Schemas and Types”; Why is a "Query" considered a "type"?
- Vorherrschende Sprache
- TypeScript
- Sterne
- 889
- Forks
- 1.5k
- Ø Merge
- 4 T. 12 Std.
- Gemergte PRs (30 T.)
- 21
Beschreibung
It is more of a fundamental question in terms of naming some artifacts of a GraphQl system.
Why is a "Query" considered a "type"? It is hard for me to conceptualize the following two declarations in the same specification because their essential nature and semantics are different:
type Character {
name: String!
appearsIn: [Episode!]!
}
type Query {
droid(id: ID!): Droid
}
Character describes the type (composition) of a data object whereas Query is an operation. Conceptually, Query, Mutation, and Subscription are "operations" - not "types".
Why are we overloading the term "type" to specify the "composition of a data object" as well as an "operation"?
Saying the following may be more appropriate if we have to use the term "type":
objectType Character {
name: String!
appearsIn: [Episode!]!
}
operationType Query {
droid(id: ID!): Droid
}
Maybe you can explain it in a way that avoids this conceptual confusion between the "composition of a data object" and an "operation" indicated by the same term "type".
Beitragsleitfaden
Rechercherichtung
Start by reviewing the “Schemas and Types” documentation and the GraphQL specification sections covering Query, Mutation, Subscription, and object types. Done means providing a clear explanation of why these concepts share the term “type,” or deciding on a specific documentation change that resolves the confusion.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100