···100100However, this isn't quite enough yet to store the relations from GraphQL results. The normalized
101101cache must also generate primary keys for each entity so that it can store them in table-like data
102102structures. This is for instance why [Relay
103103-enforces](https://relay.dev/docs/en/graphql-server-specification.html#object-identification) that
103103+enforces](https://relay.dev/docs/guides/graphql-server-specification/#object-identification) that
104104each entity must have an `id` field. This allows it to assume that there's an obvious primary key
105105for each entity it may query. Instead, `urql`'s Graphcache and Apollo assume that there _may_ be an
106106`id` or `_id` field in a given selection set. If Graphcache can't find these two fields it'll issue