Deleting GraphQL node with xid (String @id) does not cleanup edges to that node

I think you’re talking about two different things. The @cascade is not a workaround, but does solve your query problem. What you actually want, is a cascade on delete that just removes the connection(s).

This is a feature request that I made a while back. Hopefully we will see this one day, as this is how SQL handles the situation:

J