Relaciones
Una relación es un campo de referencia en el que un registro apunta a otro. Una consulta lee a través de ella en la misma solicitud, y el campo declara qué tipo de relación es, lo que decide si el acceso y los borrados la siguen.
Leer a través de una referencia
En GraphQL una referencia se resuelve en el tipo propio del registro de destino, así que seleccionas los campos relacionados en línea. Un campo puede limitarse a los modelos a los que puede apuntar. Si admite dos o más, devuelve una unión que lees con fragmentos en línea. En el cliente de datos del SDK las relaciones son opcionales: pídelas con include, que anida hasta tres niveles.
Dentro de una solicitud, las referencias a registros del mismo modelo se obtienen juntas en lotes. De forma predeterminada una consulta puede anidar 24 niveles de profundidad.
Filtrar y escribir
Una consulta de lista puede filtrar a través de una referencia usando el filtro propio del modelo referenciado, por ejemplo las entradas cuyo autor tiene una determinada clave natural. Una escritura conecta una referencia a un registro por la clave natural de ese registro, o la desconecta para vaciarla.
Tipos de relación
Una referencia simple es estructural y no concede ningún acceso al registro al que apunta. Una asociación de lectura cambia eso para las lecturas: quien puede leer el registro referenciado puede leer el que lo refiere, a lo largo de un salto. Una composición hace que el hijo pertenezca a su padre, de modo que el acceso y los borrados se propagan del padre al hijo, y siempre es de un solo valor. El cuarto tipo convierte un modelo en un árbol, descrito en jerarquías.
Recorrido inverso
Nombra un inverse en la referencia y el modelo de destino gana un campo que lista los registros que apuntan a él. Para una composición ese campo es una lista simple. Para una asociación es una conexión paginada que admite los mismos argumentos de filtro, orden y paginación que la consulta de lista del modelo.
Lee el detalle
La referencia de tipos de campo documenta el campo de referencia y sus opciones, y la referencia de configuración de modelos cubre los tipos de relación.