enum join__Graph { ACTIVITIES @join__graph(name: "activities", url: "activities") EPISODES @join__graph(name: "episodes", url: "episodes") TELETUBBYREPOSITORY @join__graph(name: "teletubbyRepository", url: "teletubbyRepository") } type Activity { name: String! @join__field(graph: ACTIVITIES) description: String! @join__field(graph: ACTIVITIES) participatingTeletubby: Teletubby! @join__field(graph: ACTIVITIES) } type Teletubby @join__type(graph: ACTIVITIES, key: "name") @join__type(graph: EPISODES, key: "name") @join__type(graph: TELETUBBYREPOSITORY, key: "name") { activities: [Activity] @join__field(graph: ACTIVITIES) name: String! favoriteToy: FavoriteToy episodesFeatured: [Episode] @join__field(graph: EPISODES) color: String! @join__field(graph: TELETUBBYREPOSITORY) mood: Mood @join__field(graph: TELETUBBYREPOSITORY) } type Query { getActivity(name: String!): Activity @join__field(graph: ACTIVITIES) getEpisode(title: String!): Episode @join__field(graph: EPISODES) getTeletubby(name: String!): Teletubby @join__field(graph: TELETUBBYREPOSITORY) } type Episode { title: String! @join__field(graph: EPISODES) duration: Int! @join__field(graph: EPISODES) featuredTeletubby: Teletubby! @join__field(graph: EPISODES) featuredToys: [FavoriteToy!]! @join__field(graph: EPISODES) } enum FavoriteToy { PLUSHTOY TOBOGGAN SCOOTER BAG HAT BALL } enum Mood { HAPPY SAD }