directive @core(feature: String!) repeatable on SCHEMA directive @join__owner(graph: join__Graph!) on OBJECT directive @join__type( graph: join__Graph! key: String! resolvable: Boolean = true ) repeatable on OBJECT | INTERFACE directive @join__field( graph: join__Graph requires: String provides: String ) on FIELD_DEFINITION directive @join__graph(name: String!, url: String!) on ENUM_VALUE enum join__Graph { BAR @join__graph(name: "bar", url: "http://example.com/bar") BAZ @join__graph(name: "baz", url: "http://example.com/baz") FOO @join__graph(name: "foo", url: "http://example.com/foo") } scalar Yan scalar Tan scalar Texture scalar Tethera type Sheep { sheepIdx: Tethera @join__field(graph: FOO) texture: Texture! @join__field(graph: BAZ) } type Query { sheep: Sheep @join__field(graph: FOO) }