Deletion with upsert is not working

But I am not able to add ‘uid’ predicate to the type system as it is a keyword.

uid predicates will ALWAYS exist and NEVER exist at the same time.

I am querying the graph using the type system and I am receiving the node always even after deletion (in case the uid always exist and never exist at the same time)

How to only query those Ids which Always Exists?

This is the query I am using (schema is shared here):

 query query($a: string) {
    query(func: uid($a)) {
        uid
        state
        created
        type: dgraph.type
        child_groups {
          uid
          state
          created
          type: dgraph.type
          BRC as branches
        }
      }
      rq(func: uid(BRC)) @recurse {
        uid
        created
        state
        type: dgraph.type
        child_groups
        branches
      }
    }