Recommended strategy when no data is found?

When querying an object by its Id and it does not exists. What is the recommended thing to return? And what does the Client expect in this scenario?

If returning null the cache will store that as a ghost object.

Request:

variables: {id: "60d30ddaa727753ae86308c9"}
query GetService($id: String!) {
      service(id: $id){
        id
        name
      }
}

Cache:

Service:null
{
  id:null
  __typename:"Service"
  name:null
}

Reply to myself, I might be wrong here. The cache is actually storing a null response for the specific query which I belive is the correct way for the cache behavior?

ROOT_QUERY
__typename:"Query"`
service({"id":"60d30ddaa727753ae86308ca"}):null

That’s what I would expect…unless the cache is given reason to believe that the state of things has changed, a null result should continue to be what the cache uses for requests for that resource.