type Activity implements ActivityAndBehavior
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

interface ActivityAndBehavior
  {
  }

interface AdministrativeEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type Agent
  {
    iri: IriType
    type: String
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    affiliation: [Uriorcurie]
    address: String
    id: String!
    name: LabelType
  }

type AnatomicalEntity implements ThingWithTaxon, PhysicalEssence
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface AnatomicalEntityToAnatomicalEntityAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: AnatomicalEntity!
    object: AnatomicalEntity!
  }

type AnatomicalEntityToAnatomicalEntityOntogenicAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: AnatomicalEntity!
    object: AnatomicalEntity!
    predicate: PredicateType!
  }

type AnatomicalEntityToAnatomicalEntityPartOfAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: AnatomicalEntity!
    object: AnatomicalEntity!
    predicate: PredicateType!
  }

interface Annotation
  {
  }

type Article
  {
    iri: IriType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    authors: [String]
    pages: [String]
    summary: String
    keywords: [String]
    meshTerms: [Uriorcurie]
    xref: [IriType]
    id: String!
    name: LabelType
    type: String!
    publishedIn: Uriorcurie!
    isoAbbreviation: String
    volume: String
    issue: String
  }

type Association
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
  }

type Attribute implements OntologyClass
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type Behavior implements OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type BehaviorToBehavioralFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: Behavior!
    object: BehavioralFeature!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type BehavioralExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
    timepoint: TimeType
  }

type BehavioralFeature
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

type BehavioralOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

interface BiologicalEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type BiologicalProcess implements Occurrent, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type BiologicalProcessOrActivity implements Occurrent, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type BiologicalSex
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type BioticExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasTaxonomicRank: TaxonomicRank
    subclassOf: [OrganismTaxon]
    timepoint: TimeType
  }

type Book
  {
    iri: IriType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    authors: [String]
    pages: [String]
    summary: String
    keywords: [String]
    meshTerms: [Uriorcurie]
    xref: [IriType]
    name: LabelType
    id: String!
    type: String!
  }

type BookChapter
  {
    iri: IriType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    authors: [String]
    pages: [String]
    summary: String
    keywords: [String]
    meshTerms: [Uriorcurie]
    xref: [IriType]
    id: String!
    name: LabelType
    type: String!
    publishedIn: Uriorcurie!
    volume: String
    chapter: String
  }

type Carbohydrate
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type Case
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface CaseToEntityAssociationMixin
  {
    subject: Case!
  }

type CaseToPhenotypicFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin, CaseToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type Cell
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type CellLine
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
  }

type CellLineAsAModelOfDiseaseAssociation implements ModelToDiseaseAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: CellLine!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

type CellLineToDiseaseOrPhenotypicFeatureAssociation implements CellLineToEntityAssociationMixin, EntityToDiseaseOrPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: DiseaseOrPhenotypicFeature!
  }

interface CellLineToEntityAssociationMixin
  {
    subject: CellLine!
  }

type CellularComponent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type ChemicalExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
    timepoint: TimeType
  }

interface ChemicalOrDrugOrTreatment
  {
  }

type ChemicalSubstance implements OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type ChemicalToChemicalAssociation implements ChemicalToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: ChemicalSubstance!
  }

type ChemicalToChemicalDerivationAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    catalystQualifier: [MacromolecularMachineMixin]
    subject: ChemicalSubstance!
    object: ChemicalSubstance!
    predicate: PredicateType!
  }

type ChemicalToDiseaseOrPhenotypicFeatureAssociation implements ChemicalToEntityAssociationMixin, EntityToDiseaseOrPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: DiseaseOrPhenotypicFeature!
  }

interface ChemicalToEntityAssociationMixin
  {
    subject: ChemicalSubstance!
  }

type ChemicalToGeneAssociation implements ChemicalToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: GeneOrGeneProduct!
  }

type ChemicalToPathwayAssociation implements ChemicalToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: Pathway!
  }

type ClinicalAttribute
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type ClinicalCourse
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type ClinicalEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type ClinicalFinding
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasAttribute: [ClinicalAttribute]
  }

type ClinicalIntervention
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type ClinicalMeasurement
  {
    name: LabelType
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
    hasAttributeType: OntologyClass!
  }

type ClinicalModifier
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type ClinicalTrial
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type CodingSequence
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type Cohort
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type ComplexChemicalExposure implements Mixture
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
    timepoint: TimeType
    hasConstituent: [ChemicalSubstance]
  }

type ConfidenceLevel
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
  }

type ContributorAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: InformationContentEntity!
    predicate: PredicateType!
    object: Agent!
    qualifiers: [OntologyClass]
  }

type Dataset
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
  }

type DatasetDistribution
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    distributionDownloadUrl: String
  }

type DatasetSummary
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    sourceWebPage: String
    sourceLogo: String
  }

type DatasetVersion
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    hasDataset: Dataset
    ingestDate: String
    hasDistribution: DatasetDistribution
  }

type Death
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type Device
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type Disease
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

type DiseaseOrPhenotypicFeature implements ThingWithTaxon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

type DiseaseOrPhenotypicFeatureAssociationToLocationAssociation implements DiseaseOrPhenotypicFeatureToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: AnatomicalEntity!
  }

type DiseaseOrPhenotypicFeatureExposure implements ExposureEvent, PathologicalEntityMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    timepoint: TimeType
  }

type DiseaseOrPhenotypicFeatureOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

interface DiseaseOrPhenotypicFeatureToEntityAssociationMixin
  {
    subject: DiseaseOrPhenotypicFeature!
  }

type DiseaseOrPhenotypicFeatureToLocationAssociation implements DiseaseOrPhenotypicFeatureToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: AnatomicalEntity!
  }

interface DiseaseToEntityAssociationMixin
  {
    subject: Disease!
  }

type DiseaseToExposureEventAssociation implements DiseaseToEntityAssociationMixin, EntityToExposureEventAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
  }

type DiseaseToPhenotypicFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin, DiseaseToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type Drug implements Mixture, ChemicalOrDrugOrTreatment, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasConstituent: [ChemicalSubstance]
  }

type DrugExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasConstituent: [ChemicalSubstance]
    timepoint: TimeType
  }

interface DrugToEntityAssociationMixin
  {
    subject: Drug!
  }

type DrugToGeneAssociation implements DrugToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: GeneOrGeneProduct!
  }

type DrugToGeneInteractionExposure implements GeneGroupingMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasConstituent: [ChemicalSubstance]
    timepoint: TimeType
    hasGeneOrGeneProduct: [Gene]
  }

interface Entity
  {
    id: String!
    iri: IriType
    category: [CategoryType]
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
  }

interface EntityToDiseaseAssociationMixin
  {
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    object: Disease!
  }

interface EntityToDiseaseOrPhenotypicFeatureAssociationMixin
  {
    object: DiseaseOrPhenotypicFeature!
  }

interface EntityToExposureEventAssociationMixin
  {
    object: ExposureEvent!
  }

interface EntityToFeatureOrDiseaseQualifiersMixin
  {
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

interface EntityToOutcomeAssociationMixin
  {
    object: Outcome!
  }

interface EntityToPhenotypicFeatureAssociationMixin
  {
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
    description: NarrativeText
    object: PhenotypicFeature!
  }

type EnvironmentalExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    timepoint: TimeType
  }

type EnvironmentalFeature
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type EnvironmentalFoodContaminant
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type EnvironmentalProcess implements Occurrent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type EpidemiologicalOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type EvidenceType
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
  }

type Exon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type ExonToTranscriptRelationship
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: Exon!
    object: Transcript!
  }

interface ExposureEvent
  {
    timepoint: TimeType
  }

interface ExposureEventToEntityAssociationMixin
  {
    subject: ExposureEvent!
  }

type ExposureEventToOutcomeAssociation implements ExposureEventToEntityAssociationMixin, EntityToOutcomeAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    hasPopulationContext: PopulationOfIndividualOrganisms
    hasTemporalContext: TimeType
  }

type ExposureEventToPhenotypicFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: ExposureEvent!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type Food implements Mixture
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasConstituent: [ChemicalSubstance]
  }

type FoodAdditive
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type FoodComponent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

interface FrequencyQualifierMixin
  {
    frequencyQualifier: FrequencyValue
  }

interface FrequencyQuantifier
  {
    hasCount: Integer
    hasTotal: Integer
    hasQuotient: Double
    hasPercentage: Double
  }

type FunctionalAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MacromolecularMachineMixin!
    object: GeneOntologyClass!
  }

type Gene implements GeneOrGeneProduct
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    symbol: String
    synonym: [LabelType]
    xref: [IriType]
  }

type GeneAsAModelOfDiseaseAssociation implements ModelToDiseaseAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    subject: GeneOrGeneProduct!
  }

interface GeneExpressionMixin
  {
    quantifierQualifier: OntologyClass
    expressionSite: AnatomicalEntity
    stageQualifier: LifeStage
    phenotypicState: DiseaseOrPhenotypicFeature
  }

type GeneFamily implements GeneGroupingMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasGeneOrGeneProduct: [Gene]
  }

interface GeneGroupingMixin
  {
    hasGeneOrGeneProduct: [Gene]
  }

type GeneHasVariantThatContributesToDiseaseAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sequenceVariantQualifier: SequenceVariant
    subject: GeneOrGeneProduct!
  }

interface GeneOntologyClass
  {
  }

interface GeneOrGeneProduct
  {
    name: SymbolType
  }

interface GeneProductIsoformMixin
  {
    name: SymbolType
    synonym: [LabelType]
    xref: [IriType]
  }

interface GeneProductMixin
  {
    name: SymbolType
    synonym: [LabelType]
    xref: [IriType]
  }

type GeneRegulatoryRelationship
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    subject: GeneOrGeneProduct!
    object: GeneOrGeneProduct!
  }

type GeneToDiseaseAssociation implements EntityToDiseaseAssociationMixin, GeneToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

interface GeneToEntityAssociationMixin
  {
    subject: GeneOrGeneProduct!
  }

type GeneToExpressionSiteAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    stageQualifier: LifeStage
    quantifierQualifier: OntologyClass
    subject: GeneOrGeneProduct!
    object: AnatomicalEntity!
    predicate: PredicateType!
  }

interface GeneToGeneAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    object: GeneOrGeneProduct!
  }

type GeneToGeneCoexpressionAssociation implements GeneExpressionMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    object: GeneOrGeneProduct!
    predicate: PredicateType!
    quantifierQualifier: OntologyClass
    expressionSite: AnatomicalEntity
    stageQualifier: LifeStage
    phenotypicState: DiseaseOrPhenotypicFeature
  }

type GeneToGeneHomologyAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    object: GeneOrGeneProduct!
    predicate: PredicateType!
  }

type GeneToGeneProductRelationship
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: Gene!
    object: GeneProductMixin!
    predicate: PredicateType!
  }

type GeneToGoTermAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MolecularEntity!
    object: GeneOntologyClass!
  }

type GeneToPhenotypicFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin, GeneToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type Genome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type GenomicBackgroundExposure implements ExposureEvent, GeneGroupingMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    timepoint: TimeType
    hasGeneOrGeneProduct: [Gene]
  }

type GenomicEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type GenomicSequenceLocalization
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    startInterbaseCoordinate: Integer
    endInterbaseCoordinate: Integer
    genomeBuild: String
    strand: String
    phase: String
    subject: GenomicEntity!
    object: GenomicEntity!
    predicate: PredicateType!
  }

type Genotype
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    hasZygosity: Zygosity
  }

type GenotypeAsAModelOfDiseaseAssociation implements ModelToDiseaseAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    object: NamedThing!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    subject: Genotype!
  }

type GenotypeToDiseaseAssociation implements GenotypeToEntityAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

interface GenotypeToEntityAssociationMixin
  {
    subject: Genotype!
  }

type GenotypeToGeneAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    subject: Genotype!
    object: Gene!
  }

type GenotypeToGenotypePartAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    subject: Genotype!
    object: Genotype!
  }

type GenotypeToPhenotypicFeatureAssociation implements EntityToPhenotypicFeatureAssociationMixin, GenotypeToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    subject: Genotype!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type GenotypeToVariantAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    subject: Genotype!
    object: SequenceVariant!
  }

type GenotypicSex
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type GeographicExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    latitude: Float
    longitude: Float
    timepoint: TimeType
  }

type GeographicLocation
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    latitude: Float
    longitude: Float
  }

type GeographicLocationAtTime
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    latitude: Float
    longitude: Float
    timepoint: TimeType
  }

type GrossAnatomicalStructure
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type Haplotype
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type Hospitalization
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type HospitalizationOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type IndividualOrganism implements ThingWithTaxon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface InformationContentEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
  }

type Inheritance
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type LifeStage implements ThingWithTaxon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface MacromolecularComplexMixin
  {
    name: SymbolType
  }

interface MacromolecularMachineMixin
  {
    name: SymbolType
  }

type MacromolecularMachineToBiologicalProcessAssociation implements MacromolecularMachineToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MacromolecularMachineMixin!
    object: BiologicalProcess!
  }

type MacromolecularMachineToCellularComponentAssociation implements MacromolecularMachineToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MacromolecularMachineMixin!
    object: CellularComponent!
  }

interface MacromolecularMachineToEntityAssociationMixin
  {
    subject: NamedThing!
  }

type MacromolecularMachineToMolecularActivityAssociation implements MacromolecularMachineToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MacromolecularMachineMixin!
    object: MolecularActivity!
  }

type Macronutrient
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type MaterialSample implements SubjectOfInvestigation
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type MaterialSampleDerivationAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: MaterialSample!
    object: NamedThing!
    predicate: PredicateType!
  }

type MaterialSampleToDiseaseOrPhenotypicFeatureAssociation implements MaterialSampleToEntityAssociationMixin, EntityToDiseaseOrPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
  }

interface MaterialSampleToEntityAssociationMixin
  {
    subject: MaterialSample!
  }

type Metabolite
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type Micronutrient
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type MicroRNA
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

interface Mixture
  {
    hasConstituent: [ChemicalSubstance]
  }

interface ModelToDiseaseAssociationMixin
  {
    subject: NamedThing!
    predicate: PredicateType!
  }

type MolecularActivity implements Occurrent, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [ChemicalSubstance]
    hasOutput: [ChemicalSubstance]
    enabledBy: [MacromolecularMachineMixin]
  }

type MolecularEntity implements ThingWithTaxon, PhysicalEssence, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

interface MolecularEntityToEntityAssociationMixin
  {
    subject: MolecularEntity!
  }

type MortalityOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type NamedThing
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type NoncodingRNAProduct
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

type Nutrient
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

interface Occurrent
  {
  }

type Onset
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

interface OntologyClass
  {
  }

type OrganismAttribute
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type OrganismTaxon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasTaxonomicRank: TaxonomicRank
    subclassOf: [OrganismTaxon]
  }

interface OrganismTaxonToEntityAssociation
  {
    subject: OrganismTaxon!
  }

type OrganismTaxonToEnvironmentAssociation implements OrganismTaxonToEntityAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: OrganismTaxon!
    object: NamedThing!
    predicate: PredicateType!
  }

type OrganismTaxonToOrganismTaxonAssociation implements OrganismTaxonToEntityAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: OrganismTaxon!
    object: OrganismTaxon!
  }

type OrganismTaxonToOrganismTaxonInteraction
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    associatedEnvironmentalContext: String
    subject: OrganismTaxon!
    object: OrganismTaxon!
    predicate: PredicateType!
  }

type OrganismTaxonToOrganismTaxonSpecialization
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: OrganismTaxon!
    object: OrganismTaxon!
    predicate: PredicateType!
  }

interface OrganismalEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
  }

type OrganismalEntityAsAModelOfDiseaseAssociation implements ModelToDiseaseAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: OrganismalEntity!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

interface Outcome
  {
  }

type PairwiseGeneToGeneInteraction
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GeneOrGeneProduct!
    object: GeneOrGeneProduct!
    predicate: PredicateType!
    relation: Uriorcurie!
  }

type PairwiseMolecularInteraction
  {
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    interactingMoleculesCategory: OntologyClass
    subject: MolecularEntity!
    id: String!
    predicate: PredicateType!
    relation: Uriorcurie!
    object: MolecularEntity!
  }

interface PathognomonicityQuantifier
  {
  }

type PathologicalAnatomicalExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
    timepoint: TimeType
  }

type PathologicalAnatomicalOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type PathologicalAnatomicalStructure implements PathologicalEntityMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface PathologicalEntityMixin
  {
  }

type PathologicalProcess implements PathologicalEntityMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type PathologicalProcessExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
    timepoint: TimeType
  }

type PathologicalProcessOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type Pathway implements OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type Phenomenon implements Occurrent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type PhenotypicFeature
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
  }

type PhenotypicQuality
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type PhenotypicSex
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type PhysicalEntity implements PhysicalEssence
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

interface PhysicalEssence
  {
  }

interface PhysicalEssenceOrOccurrent
  {
  }

type PhysiologicalProcess implements OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

type PlanetaryEntity
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type PopulationOfIndividualOrganisms implements ThingWithTaxon
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

type PopulationToPopulationAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: PopulationOfIndividualOrganisms!
    object: PopulationOfIndividualOrganisms!
    predicate: PredicateType!
  }

type Procedure implements ActivityAndBehavior
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
  }

type ProcessedMaterial implements Mixture, OntologyClass
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
    hasConstituent: [ChemicalSubstance]
  }

type Protein implements GeneProductMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

type ProteinIsoform implements GeneProductIsoformMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

type Publication
  {
    iri: IriType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    authors: [String]
    pages: [String]
    summary: String
    keywords: [String]
    meshTerms: [Uriorcurie]
    xref: [IriType]
    id: String!
    name: LabelType
    type: String!
  }

type QuantityValue
  {
    hasUnit: Unit
    hasNumericValue: Double
  }

type ReagentTargetedGene
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

interface RelationshipQuantifier
  {
  }

type RelationshipType
  {
  }

type RNAProduct implements GeneProductMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

type RNAProductIsoform implements GeneProductIsoformMixin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

interface SensitivityQuantifier
  {
  }

type SequenceAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
  }

type SequenceFeatureRelationship
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: GenomicEntity!
    object: GenomicEntity!
  }

type SequenceVariant
  {
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasGene: [Gene]
    hasBiologicalSequence: BiologicalSequence
    id: String!
  }

interface SequenceVariantModulatesTreatmentAssociation
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: SequenceVariant!
    object: Treatment!
  }

type Serial
  {
    iri: IriType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    license: String
    rights: String
    format: String
    creationDate: Date
    authors: [String]
    pages: [String]
    summary: String
    keywords: [String]
    meshTerms: [Uriorcurie]
    xref: [IriType]
    name: LabelType
    isoAbbreviation: String
    volume: String
    issue: String
    id: String!
    type: String!
  }

type SeverityValue
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type SiRNA
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
    synonym: [LabelType]
    xref: [IriType]
  }

type Snv
  {
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasGene: [Gene]
    hasBiologicalSequence: BiologicalSequence
    id: String!
  }

type SocioeconomicAttribute
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

type SocioeconomicExposure implements ExposureEvent
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
    hasAttribute: [SocioeconomicAttribute]!
    timepoint: TimeType
  }

type SocioeconomicOutcome implements Outcome
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasInput: [NamedThing]
    hasOutput: [NamedThing]
    enabledBy: [PhysicalEntity]
  }

interface SpecificityQuantifier
  {
  }

type StudyPopulation
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    category: [NamedThing]!
    hasAttribute: [Attribute]
    inTaxon: [OrganismTaxon]
  }

interface SubjectOfInvestigation
  {
  }

type TaxonomicRank
  {
  }

interface ThingWithTaxon
  {
    inTaxon: [OrganismTaxon]
  }

type Transcript
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    hasBiologicalSequence: BiologicalSequence
  }

type TranscriptToGeneRelationship
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: Transcript!
    object: Gene!
  }

type Treatment implements ExposureEvent, ChemicalOrDrugOrTreatment
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    hasDrug: [Drug]
    hasDevice: [Device]
    hasProcedure: [Procedure]
    timepoint: TimeType
  }

interface UnclassifiedOntologyClass
  {
  }

type VariantAsAModelOfDiseaseAssociation implements ModelToDiseaseAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    predicate: PredicateType!
    object: NamedThing!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    subject: SequenceVariant!
  }

type VariantToDiseaseAssociation implements VariantToEntityAssociationMixin, EntityToDiseaseAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: NamedThing!
    predicate: PredicateType!
    object: NamedThing!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
  }

interface VariantToEntityAssociationMixin
  {
    subject: SequenceVariant!
  }

type VariantToGeneAssociation implements VariantToEntityAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: Gene!
    predicate: PredicateType!
  }

type VariantToGeneExpressionAssociation implements GeneExpressionMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    subject: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    object: Gene!
    predicate: PredicateType!
    quantifierQualifier: OntologyClass
    expressionSite: AnatomicalEntity
    stageQualifier: LifeStage
    phenotypicState: DiseaseOrPhenotypicFeature
  }

type VariantToPhenotypicFeatureAssociation implements VariantToEntityAssociationMixin, EntityToPhenotypicFeatureAssociationMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    object: NamedThing!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: SequenceVariant!
    frequencyQualifier: FrequencyValue
    severityQualifier: SeverityValue
    onsetQualifier: Onset
    sexQualifier: BiologicalSex
  }

type VariantToPopulationAssociation implements VariantToEntityAssociationMixin, FrequencyQuantifier, FrequencyQualifierMixin
  {
    id: String!
    iri: IriType
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    predicate: PredicateType!
    relation: Uriorcurie!
    negated: Boolean
    qualifiers: [OntologyClass]
    publications: [Publication]
    type: String
    category: [CategoryType]
    subject: SequenceVariant!
    object: PopulationOfIndividualOrganisms!
    hasQuotient: Double
    hasCount: Integer
    hasTotal: Integer
    hasPercentage: Double
    frequencyQualifier: FrequencyValue
  }

type Vitamin
  {
    id: String!
    iri: IriType
    type: String
    name: LabelType
    description: NarrativeText
    source: LabelType
    providedBy: [Agent]
    hasAttribute: [Attribute]
    category: [NamedThing]!
    inTaxon: [OrganismTaxon]
    isMetabolite: Boolean
  }

type Zygosity
  {
    name: LabelType
    hasAttributeType: OntologyClass!
    hasQuantitativeValue: [QuantityValue]
    hasQualitativeValue: NamedThing
    iri: IriType
    source: LabelType
  }

