Please have a look at my Business Model below and how I translated it to the GraphQL Structure.

I converted my inheritance structure to a set of interfaces.
This allows me to have a _SearchDocument_ Field on my Query. This field has a type of IDocument. The beauty of this approach is that I can query this field and use _inline fragments_ to select the required structure. For example, the following Inline Fragment is used to render LegalDocuments _and_ PurchaseContracts:
...on ILegalDocument{ ContactDate }
So I used interfaces in my schema wherever possible to enable these kinds of queries.
By doing this, I found a strange behaviour:
If a schema exposes only InterfaceGraphTypes in its Query fields and no longer mentions any ObjectGraphTypes, then then this has the following undesired consequences:
I can work around this problem by creating "dummy Fields" which declare a return type of every ObjectGraphType, but this seems like a hack to me. Is this a feature or a bug?
This is intended. You have to register those types manually with the Schema. There is a RegisterType method on the Schema class.
Works like a Charm. Thank you!