type Query {
  deity (name: [[[[[String!]]!]]], mythology: Realm): Deity!
  character (characterID: String! , age: Int ): Character!
  hero: Human!
}

interface MyInterface {
    name: String
}

type Mutation {
  createDeity (deityName: [[[[[String!]]!]]], deityMythology: String): Deity!
  createCharacter (charRealm: Realm! , charMutID: String! ): Character!
}

union Character = Creature | Deity  | Human

type Deity {
  fullName: String!
  power: Power
}

type Creature {
  creatureName: String!
  realm: City!
}

type Human {
  humanName: String!
  lifetime: Lifetime!
  profession: Profession
}

enum Profession {
    Priest
    Farmer
    Artist
}

input Realm {
  owner: String!
  surface: Int
}

enum City {
    Athens
    Ithaca
    Sparta Troy
}

scalar Lifetime
scalar Power