kensho-technologies/graphql-compiler

Cross schema edges are not fully incorporated to subclasses

Opened this issue · 1 comments

Currently, if we add a cross schema edge going into or out from a certain class, we also add the edge for all of its subclasses, which we determine using the GraphQL schema and the type_equivalence_hints. However, since abstract classes in OrientDB are represented as GraphQL interfaces and interfaces cannot inherit/extend other interfaces, there is currently no way to encode the inheritance of OrientDB abstract classes in the GraphQL schema. Therefore, cross schema edges are not fully propagated to subclasses. To fix this, we are likely going to have to use the SchemaGraph.

Could you come up with a test case we can use to reproduce and test for this? I definitely agree it's a problem, and it would be nice to be able to show our users a specific instance when it comes up so they know what to avoid.