graphql / graphql/graphql.github.io
Feedback for “Schemas and Types”; Why is a "Query" considered a "type"?
- Lenguaje dominante
- TypeScript
- Estrellas
- 889
- Forks
- 1.5k
- Merge medio
- 4 d 12 h
- PR fusionados (30 d)
- 21
Descripción
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".
Guía de contribución
Línea de trabajo
Comienza revisando la documentación “Schemas and Types” y las secciones de la especificación de GraphQL que cubren Query, Mutation, Subscription y object types. Se considera terminado cuando se proporcione una explicación clara de por qué estos conceptos comparten el término “type”, o cuando se decida un cambio específico en la documentación que resuelva la confusión.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- documentation
- Tipo de issue
- Documentación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100