type AnyType
  {
  }

type Attribute implements DtypeMixin
  {
    name: String!
    dims: [String]
    shape: [String]
    value: AnyType
    defaultValue: AnyType
    doc: String!
    required: Boolean
    dtype: [String]
  }

type CompoundDtype
  {
    name: String!
    doc: String!
    dtype: [String]!
  }

type Dataset implements DtypeMixin
  {
    neurodataTypeDef: String
    neurodataTypeInc: String
    name: String
    defaultName: String
    dims: [String]
    shape: [String]
    value: AnyType
    defaultValue: AnyType
    doc: String!
    quantity: String
    linkable: Boolean
    attributes: [Attribute]
    dtype: [String]
  }

type Datasets
  {
    datasets: [Dataset]
  }

interface DtypeMixin
  {
    dtype: [String]
  }

type Group
  {
    neurodataTypeDef: String
    neurodataTypeInc: String
    name: String
    defaultName: String
    doc: String!
    quantity: String
    linkable: Boolean
    attributes: [Attribute]
    datasets: [Dataset]
    groups: [Group]
    links: [Link]
  }

type Groups
  {
    groups: [Group]
  }

type Link
  {
    name: String
    doc: String!
    targetType: String!
    quantity: String
  }

type Namespace
  {
    doc: String!
    name: String!
    fullName: String
    version: String!
    date: Datetime
    author: [String]!
    contact: [String]!
    schema: [Schema]
  }

type Namespaces
  {
    namespaces: [Namespace]
  }

type ReferenceDtype
  {
    targetType: String!
    reftype: ReftypeOptions
  }

type Schema
  {
    source: String
    namespace: String
    title: String
    neurodataTypes: [String]
    doc: String
  }

