@startuml

class BreedingType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class EthicsAssessment {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Technique {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class OperatingDevice {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Species {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class GeneticStrainType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class SoftwareApplicationCategory {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class TissueSampleType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Laterality {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class FileUsageRole {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class BiologicalSex {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Terminology {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class OperatingSystem {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class MolecularEntity {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ProductAccessibility {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Handedness {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class AtlasType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class SemanticDataType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class CellType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Service {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ExperimentalApproach {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class DataType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class TermSuggestion {
+addExistingTerminology
+suggestNewTerminology
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}
TermSuggestion -d-> "addExistingTerminology" Terminology


class TypeOfUncertainty {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class MetaDataModelType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class StimulusType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class FileRepositoryType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Disease {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ModelAbstractionLevel {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class AgeCategory {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ContributionType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class SubjectAttribute {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class AnatomicalAxesOrientation {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class PreparationType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class StimulationApproach {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Language {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class QualitativeOverlap {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class DeviceType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class DiseaseModel {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ModelScope {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class SoftwareFeature {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ProgrammingLanguage {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class UnitOfMeasurement {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class CriteriaQualityType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class UBERONParcellation {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class TissueSampleAttribute {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class FileBundleGrouping {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class ActionStatusType {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class BiologicalOrder {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class Organ {
+definition
+description
+interlexIdentifier
+knowledgeSpaceLink
+name
+preferredOntologyIdentifier
+synonym

}


class CoordinatePoint {
+coordinates
+coordinateSpace

}
CoordinatePoint -d-> "coordinates" QuantitativeValue
CoordinatePoint -d-> "coordinateSpace" CoordinateSpace


class Annotation {
+bestViewPoint
+criteria
+criteriaQualityType
+displayColor
+inspiredBy
+internalIdentifier
+laterality
+namingTerm
+relatedParcellationTerm
+visualizedIn

}
Annotation -d-> "bestViewPoint" CoordinatePoint
Annotation -d-> "criteria" ProtocolExecution
Annotation -d-> "criteriaQualityType" CriteriaQualityType
Annotation -d-> "inspiredBy" Image
Annotation -d-> "laterality" Laterality
Annotation -d-> "namingTerm" AnatomicalEntity
Annotation -d-> "relatedParcellationTerm" AnatomicalEntity
Annotation -d-> "visualizedIn" Image


class ElectrodeArray {
+electrodes
+internalIdentifier

}
ElectrodeArray -d-> "electrodes" Electrode


class AnatomicalEntity {
+hasParent
+name
+ontologyIdentifier
+otherAnatomicalRelation

}
AnatomicalEntity -d-> "hasParent" AnatomicalEntity
AnatomicalEntity -d-> "otherAnatomicalRelation" AnatomicalEntityRelation


class ElectrodeContact {
+coordinatePoint
+definedIn
+internalIdentifier
+relatedRecording
+relatedStimulation
+visualizedIn

}
ElectrodeContact -d-> "coordinatePoint" CoordinatePoint
ElectrodeContact -d-> "definedIn" File
ElectrodeContact -d-> "relatedRecording" File
ElectrodeContact -d-> "relatedRecording" FileBundle
ElectrodeContact -d-> "relatedStimulation" File
ElectrodeContact -d-> "relatedStimulation" FileBundle
ElectrodeContact -d-> "visualizedIn" Image


class Electrode {
+electrodeContact
+internalIdentifier

}
Electrode -d-> "electrodeContact" ElectrodeContact


class AnatomicalEntityRelation {
+criteria
+criteriaQualityType
+inRelationTo
+qualitativeOverlap
+quantitativeOverlap

}
AnatomicalEntityRelation -d-> "criteria" ProtocolExecution
AnatomicalEntityRelation -d-> "criteriaQualityType" CriteriaQualityType
AnatomicalEntityRelation -d-> "inRelationTo" AnatomicalEntity
AnatomicalEntityRelation -d-> "qualitativeOverlap" QualitativeOverlap
AnatomicalEntityRelation -d-> "quantitativeOverlap" QuantitativeValue
AnatomicalEntityRelation -d-> "quantitativeOverlap" QuantitativeValueRange


class BrainAtlasVersion {
+annotationSet
+coordinateSpace
+digitalIdentifier
+fullName
+homepage
+howToCite
+isAlternativeVersionOf
+isNewVersionOf
+ontologyIdentifier
+releaseDate
+shortName
+terminology
+versionIdentifier
+versionInnovation

}
BrainAtlasVersion -d-> "annotationSet" Annotation
BrainAtlasVersion -d-> "coordinateSpace" CoordinateSpace
BrainAtlasVersion -d-> "digitalIdentifier" DOI
BrainAtlasVersion -d-> "isAlternativeVersionOf" BrainAtlasVersion
BrainAtlasVersion -d-> "isNewVersionOf" BrainAtlasVersion
BrainAtlasVersion -d-> "terminology" ParcellationTerminology


class Image {
+coordinateSpace
+definedIn
+voxelSize

}
Image -d-> "coordinateSpace" CoordinateSpace
Image -d-> "definedIn" File
Image -d-> "voxelSize" QuantitativeValue


class ParcellationTerminology {
+anatomicalEntity
+definedIn
+fullName
+ontologyIdentifier
+shortName

}
ParcellationTerminology -d-> "anatomicalEntity" AnatomicalEntity
ParcellationTerminology -d-> "definedIn" File


class BrainAtlas {
+description
+digitalIdentifier
+fullName
+hasVersion
+homepage
+howToCite
+shortName

}
BrainAtlas -d-> "digitalIdentifier" DOI
BrainAtlas -d-> "hasVersion" BrainAtlasVersion


class CoordinateSpace {
+anatomicalAxesOrientation
+defaultImage
+digitalIdentifier
+fullName
+homepage
+howToCite
+nativeUnit
+ontologyIdentifier
+axesOrigin
+releaseDate
+shortName
+versionIdentifier

}
CoordinateSpace -d-> "anatomicalAxesOrientation" AnatomicalAxesOrientation
CoordinateSpace -d-> "defaultImage" Image
CoordinateSpace -d-> "digitalIdentifier" DOI
CoordinateSpace -d-> "nativeUnit" UnitOfMeasurement
CoordinateSpace -d-> "axesOrigin" QuantitativeValue


class DOI {
+identifier

}


class Funding {
+acknowledgement
+awardNumber
+awardTitle
+funder

}
Funding -d-> "funder" Organization
Funding -d-> "funder" Person


class ISBN {
+identifier

}


class URL {
+URL

}


class QuantitativeValueRange {
+maxValue
+minValue
+unit

}
QuantitativeValueRange -d-> "unit" UnitOfMeasurement


class SWHID {
+identifier

}


class GRIDID {
+identifier

}


class RORID {
+identifier

}


class QuantitativeValue {
+value
+uncertainty
+typeOfUncertainty
+unit

}
QuantitativeValue -d-> "typeOfUncertainty" TypeOfUncertainty
QuantitativeValue -d-> "unit" UnitOfMeasurement


class ORCID {
+identifier

}


class File {
+content
+descendedFrom
+fileRepository
+format
+hash
+IRI
+isPartOf
+name
+specialUsageRole
+storageSize

}
File -d-> "descendedFrom" File
File -d-> "descendedFrom" FileBundle
File -d-> "descendedFrom" BehavioralTask
File -d-> "descendedFrom" SubjectState
File -d-> "descendedFrom" TissueSampleState
File -d-> "descendedFrom" TissueSampleCollectionState
File -d-> "descendedFrom" SubjectGroupState
File -d-> "descendedFrom" Technique
File -d-> "fileRepository" FileRepository
File -d-> "format" ContentType
File -d-> "hash" Hash
File -d-> "isPartOf" FileBundle
File -d-> "specialUsageRole" FileUsageRole
File -d-> "storageSize" QuantitativeValue


class License {
+fullName
+legalCode
+shortName
+webpage

}


class FilePathPattern {
+groupingType
+regex

}
FilePathPattern -d-> "groupingType" FileBundleGrouping


class FileRepository {
+contentTypePattern
+format
+hash
+hostedBy
+IRI
+name
+repositoryType
+storageSize
+structurePattern

}
FileRepository -d-> "contentTypePattern" ContentTypePattern
FileRepository -d-> "format" ContentType
FileRepository -d-> "hash" Hash
FileRepository -d-> "hostedBy" Organization
FileRepository -d-> "repositoryType" FileRepositoryType
FileRepository -d-> "storageSize" QuantitativeValue
FileRepository -d-> "structurePattern" FileRepositoryStructure


class FileBundle {
+content
+descendedFrom
+format
+patternOfFilenames
+groupedBy
+hash
+isPartOf
+name
+storageSize

}
FileBundle -d-> "descendedFrom" File
FileBundle -d-> "descendedFrom" FileBundle
FileBundle -d-> "descendedFrom" BehavioralTask
FileBundle -d-> "descendedFrom" SubjectState
FileBundle -d-> "descendedFrom" TissueSampleState
FileBundle -d-> "descendedFrom" TissueSampleCollectionState
FileBundle -d-> "descendedFrom" SubjectGroupState
FileBundle -d-> "descendedFrom" Technique
FileBundle -d-> "format" ContentType
FileBundle -d-> "groupedBy" FileBundleGrouping
FileBundle -d-> "hash" Hash
FileBundle -d-> "isPartOf" FileBundle
FileBundle -d-> "isPartOf" FileRepository
FileBundle -d-> "storageSize" QuantitativeValue


class ServiceLink {
+dataLocation
+name
+openDataIn
+service

}
ServiceLink -d-> "dataLocation" File
ServiceLink -d-> "dataLocation" FileBundle
ServiceLink -d-> "openDataIn" URL
ServiceLink -d-> "service" Service


class FileRepositoryStructure {
+filePathPattern
+lookupLabel

}
FileRepositoryStructure -d-> "filePathPattern" FilePathPattern


class ContentType {
+fileExtension
+description
+relatedMediaType
+name
+specification
+synonym

}


class Hash {
+algorithm
+digest

}


class Copyright {
+holder
+year

}
Copyright -d-> "holder" Organization
Copyright -d-> "holder" Person


class ContentTypePattern {
+contentType
+lookupLabel
+regex

}
ContentTypePattern -d-> "contentType" ContentType


class ContactInformation {
+email

}


class Contribution {
+contributionType
+contributor

}
Contribution -d-> "contributionType" ContributionType
Contribution -d-> "contributor" Organization
Contribution -d-> "contributor" Person


class Organization {
+digitalIdentifier
+fullName
+hasParent
+homepage
+shortName

}
Organization -d-> "digitalIdentifier" GRIDID
Organization -d-> "digitalIdentifier" RORID
Organization -d-> "hasParent" Organization
Organization -d-> "homepage" URL


class Person {
+digitalIdentifier
+contactInformation
+familyName
+givenName
+affiliation

}
Person -d-> "digitalIdentifier" ORCID
Person -d-> "contactInformation" ContactInformation
Person -d-> "affiliation" Affiliation


class Affiliation {
+startDate
+endDate
+organization

}
Affiliation -d-> "organization" Organization


class BehavioralTask {
+description
+fullName
+shortName

}


class TissueSample {
+isPartOf
+laterality
+origin
+studiedState
+anatomicalLocation
+type
+biologicalSex
+internalIdentifier
+lookupLabel
+phenotype
+species
+strain

}
TissueSample -d-> "isPartOf" TissueSampleCollection
TissueSample -d-> "laterality" Laterality
TissueSample -d-> "origin" CellType
TissueSample -d-> "origin" Organ
TissueSample -d-> "studiedState" TissueSampleState
TissueSample -d-> "anatomicalLocation" UBERONParcellation
TissueSample -d-> "anatomicalLocation" CustomAnatomicalEntity
TissueSample -d-> "anatomicalLocation" ParcellationEntity
TissueSample -d-> "type" TissueSampleType
TissueSample -d-> "biologicalSex" BiologicalSex
TissueSample -d-> "phenotype" Phenotype
TissueSample -d-> "species" Species
TissueSample -d-> "strain" Strain


class NumericalParameter {
+name
+value

}
NumericalParameter -d-> "value" QuantitativeValue
NumericalParameter -d-> "value" QuantitativeValueRange


class StringParameter {
+name
+value

}


class TissueSampleCollection {
+laterality
+origin
+studiedState
+type
+additionalRemarks
+biologicalSex
+internalIdentifier
+lookupLabel
+phenotype
+quantity
+species
+strain

}
TissueSampleCollection -d-> "laterality" Laterality
TissueSampleCollection -d-> "origin" CellType
TissueSampleCollection -d-> "origin" Organ
TissueSampleCollection -d-> "studiedState" TissueSampleCollectionState
TissueSampleCollection -d-> "type" TissueSampleType
TissueSampleCollection -d-> "biologicalSex" BiologicalSex
TissueSampleCollection -d-> "phenotype" Phenotype
TissueSampleCollection -d-> "species" Species
TissueSampleCollection -d-> "strain" Strain


class SubjectGroup {
+studiedState
+additionalRemarks
+biologicalSex
+internalIdentifier
+lookupLabel
+phenotype
+quantity
+species
+strain

}
SubjectGroup -d-> "studiedState" SubjectGroupState
SubjectGroup -d-> "biologicalSex" BiologicalSex
SubjectGroup -d-> "phenotype" Phenotype
SubjectGroup -d-> "species" Species
SubjectGroup -d-> "strain" Strain


class SubjectState {
+ageCategory
+handedness
+additionalRemarks
+age
+lookupLabel
+pathology
+weight

}
SubjectState -d-> "ageCategory" AgeCategory
SubjectState -d-> "handedness" Handedness
SubjectState -d-> "age" QuantitativeValue
SubjectState -d-> "age" QuantitativeValueRange
SubjectState -d-> "pathology" Disease
SubjectState -d-> "pathology" DiseaseModel
SubjectState -d-> "weight" QuantitativeValue
SubjectState -d-> "weight" QuantitativeValueRange


class ProtocolExecution {
+behavioralTask
+input
+isPartOf
+output
+preparationType
+protocol
+description
+endedAtTime
+lookupLabel
+parameterSet
+startedAtTime
+studyTarget

}
ProtocolExecution -d-> "behavioralTask" BehavioralTask
ProtocolExecution -d-> "input" File
ProtocolExecution -d-> "input" FileBundle
ProtocolExecution -d-> "input" SubjectGroupState
ProtocolExecution -d-> "input" SubjectState
ProtocolExecution -d-> "input" TissueSampleCollectionState
ProtocolExecution -d-> "input" TissueSampleState
ProtocolExecution -d-> "isPartOf" DatasetVersion
ProtocolExecution -d-> "output" File
ProtocolExecution -d-> "output" FileBundle
ProtocolExecution -d-> "output" SubjectGroupState
ProtocolExecution -d-> "output" SubjectState
ProtocolExecution -d-> "output" TissueSampleCollectionState
ProtocolExecution -d-> "output" TissueSampleState
ProtocolExecution -d-> "preparationType" PreparationType
ProtocolExecution -d-> "protocol" Protocol
ProtocolExecution -d-> "parameterSet" ParameterSet
ProtocolExecution -d-> "studyTarget" AnatomicalEntity
ProtocolExecution -d-> "studyTarget" BreedingType
ProtocolExecution -d-> "studyTarget" Species
ProtocolExecution -d-> "studyTarget" GeneticStrainType
ProtocolExecution -d-> "studyTarget" BiologicalSex
ProtocolExecution -d-> "studyTarget" MolecularEntity
ProtocolExecution -d-> "studyTarget" Handedness
ProtocolExecution -d-> "studyTarget" CellType
ProtocolExecution -d-> "studyTarget" TermSuggestion
ProtocolExecution -d-> "studyTarget" Disease
ProtocolExecution -d-> "studyTarget" DiseaseModel
ProtocolExecution -d-> "studyTarget" UBERONParcellation
ProtocolExecution -d-> "studyTarget" BiologicalOrder
ProtocolExecution -d-> "studyTarget" Organ


class ParameterSet {
+context
+relevantFor
+parameter

}
ParameterSet -d-> "relevantFor" BehavioralTask
ParameterSet -d-> "relevantFor" Technique
ParameterSet -d-> "parameter" NumericalParameter
ParameterSet -d-> "parameter" StringParameter


class TissueSampleState {
+additionalRemarks
+age
+lookupLabel
+pathology
+weight

}
TissueSampleState -d-> "age" QuantitativeValue
TissueSampleState -d-> "age" QuantitativeValueRange
TissueSampleState -d-> "pathology" Disease
TissueSampleState -d-> "pathology" DiseaseModel
TissueSampleState -d-> "weight" QuantitativeValue
TissueSampleState -d-> "weight" QuantitativeValueRange


class TissueSampleCollectionState {
+additionalRemarks
+age
+lookupLabel
+pathology
+weight

}
TissueSampleCollectionState -d-> "age" QuantitativeValue
TissueSampleCollectionState -d-> "age" QuantitativeValueRange
TissueSampleCollectionState -d-> "pathology" Disease
TissueSampleCollectionState -d-> "pathology" DiseaseModel
TissueSampleCollectionState -d-> "weight" QuantitativeValue
TissueSampleCollectionState -d-> "weight" QuantitativeValueRange


class Protocol {
+description
+name
+studyOption
+technique

}
Protocol -d-> "studyOption" AnatomicalEntity
Protocol -d-> "studyOption" BreedingType
Protocol -d-> "studyOption" Species
Protocol -d-> "studyOption" GeneticStrainType
Protocol -d-> "studyOption" BiologicalSex
Protocol -d-> "studyOption" MolecularEntity
Protocol -d-> "studyOption" Handedness
Protocol -d-> "studyOption" CellType
Protocol -d-> "studyOption" TermSuggestion
Protocol -d-> "studyOption" Disease
Protocol -d-> "studyOption" DiseaseModel
Protocol -d-> "studyOption" UBERONParcellation
Protocol -d-> "studyOption" BiologicalOrder
Protocol -d-> "studyOption" Organ
Protocol -d-> "technique" Technique


class SubjectGroupState {
+ageCategory
+handedness
+additionalRemarks
+age
+lookupLabel
+pathology
+weight

}
SubjectGroupState -d-> "ageCategory" AgeCategory
SubjectGroupState -d-> "handedness" Handedness
SubjectGroupState -d-> "age" QuantitativeValue
SubjectGroupState -d-> "age" QuantitativeValueRange
SubjectGroupState -d-> "pathology" Disease
SubjectGroupState -d-> "pathology" DiseaseModel
SubjectGroupState -d-> "weight" QuantitativeValue
SubjectGroupState -d-> "weight" QuantitativeValueRange


class Subject {
+isPartOf
+studiedState
+biologicalSex
+internalIdentifier
+lookupLabel
+phenotype
+species
+strain

}
Subject -d-> "isPartOf" SubjectGroup
Subject -d-> "studiedState" SubjectState
Subject -d-> "biologicalSex" BiologicalSex
Subject -d-> "phenotype" Phenotype
Subject -d-> "species" Species
Subject -d-> "strain" Strain


class Model {
+abstractionLevel
+developer
+digitalIdentifier
+hasVersion
+scope
+studyTarget
+custodian
+description
+fullName
+homepage
+howToCite
+shortName

}
Model -d-> "abstractionLevel" ModelAbstractionLevel
Model -d-> "developer" Organization
Model -d-> "developer" Person
Model -d-> "digitalIdentifier" DOI
Model -d-> "digitalIdentifier" SWHID
Model -d-> "hasVersion" ModelVersion
Model -d-> "scope" ModelScope
Model -d-> "studyTarget" AnatomicalEntity
Model -d-> "studyTarget" BreedingType
Model -d-> "studyTarget" Species
Model -d-> "studyTarget" GeneticStrainType
Model -d-> "studyTarget" BiologicalSex
Model -d-> "studyTarget" MolecularEntity
Model -d-> "studyTarget" Handedness
Model -d-> "studyTarget" CellType
Model -d-> "studyTarget" TermSuggestion
Model -d-> "studyTarget" Disease
Model -d-> "studyTarget" DiseaseModel
Model -d-> "studyTarget" UBERONParcellation
Model -d-> "studyTarget" BiologicalOrder
Model -d-> "studyTarget" Organ
Model -d-> "custodian" Organization
Model -d-> "custodian" Person
Model -d-> "homepage" URL


class MetaDataModel {
+developer
+digitalIdentifier
+hasVersion
+custodian
+description
+fullName
+homepage
+howToCite
+shortName

}
MetaDataModel -d-> "developer" Organization
MetaDataModel -d-> "developer" Person
MetaDataModel -d-> "digitalIdentifier" DOI
MetaDataModel -d-> "digitalIdentifier" SWHID
MetaDataModel -d-> "hasVersion" MetaDataModelVersion
MetaDataModel -d-> "custodian" Organization
MetaDataModel -d-> "custodian" Person
MetaDataModel -d-> "homepage" URL


class DatasetVersion {
+author
+behavioralTask
+digitalIdentifier
+ethicsAssessment
+experimentalApproach
+inputData
+isAlternativeVersionOf
+isNewVersionOf
+license
+studiedSpecimen
+technique
+type
+accessibility
+copyright
+custodian
+description
+fullDocumentation
+fullName
+funding
+homepage
+howToCite
+keyword
+otherContribution
+relatedPublication
+releaseDate
+repository
+shortName
+supportChannel
+versionIdentifier
+versionInnovation

}
DatasetVersion -d-> "author" Organization
DatasetVersion -d-> "author" Person
DatasetVersion -d-> "behavioralTask" BehavioralTask
DatasetVersion -d-> "digitalIdentifier" DOI
DatasetVersion -d-> "ethicsAssessment" EthicsAssessment
DatasetVersion -d-> "experimentalApproach" ExperimentalApproach
DatasetVersion -d-> "inputData" DOI
DatasetVersion -d-> "inputData" File
DatasetVersion -d-> "inputData" FileBundle
DatasetVersion -d-> "isAlternativeVersionOf" DatasetVersion
DatasetVersion -d-> "isNewVersionOf" DatasetVersion
DatasetVersion -d-> "license" License
DatasetVersion -d-> "studiedSpecimen" Subject
DatasetVersion -d-> "studiedSpecimen" SubjectGroup
DatasetVersion -d-> "studiedSpecimen" TissueSample
DatasetVersion -d-> "studiedSpecimen" TissueSampleCollection
DatasetVersion -d-> "technique" Technique
DatasetVersion -d-> "type" SemanticDataType
DatasetVersion -d-> "accessibility" ProductAccessibility
DatasetVersion -d-> "copyright" Copyright
DatasetVersion -d-> "custodian" Organization
DatasetVersion -d-> "custodian" Person
DatasetVersion -d-> "fullDocumentation" DOI
DatasetVersion -d-> "fullDocumentation" File
DatasetVersion -d-> "fullDocumentation" URL
DatasetVersion -d-> "funding" Funding
DatasetVersion -d-> "homepage" URL
DatasetVersion -d-> "otherContribution" Contribution
DatasetVersion -d-> "relatedPublication" DOI
DatasetVersion -d-> "relatedPublication" ISBN
DatasetVersion -d-> "repository" FileRepository


class SoftwareVersion {
+applicationCategory
+developer
+device
+digitalIdentifier
+hasComponent
+feature
+requirement
+inputFormat
+isAlternativeVersionOf
+isNewVersionOf
+language
+license
+operatingSystem
+outputFormat
+programmingLanguage
+accessibility
+copyright
+custodian
+description
+fullDocumentation
+fullName
+funding
+homepage
+howToCite
+keyword
+otherContribution
+relatedPublication
+releaseDate
+repository
+shortName
+supportChannel
+versionIdentifier
+versionInnovation

}
SoftwareVersion -d-> "applicationCategory" SoftwareApplicationCategory
SoftwareVersion -d-> "developer" Organization
SoftwareVersion -d-> "developer" Person
SoftwareVersion -d-> "device" OperatingDevice
SoftwareVersion -d-> "digitalIdentifier" DOI
SoftwareVersion -d-> "digitalIdentifier" SWHID
SoftwareVersion -d-> "hasComponent" SoftwareVersion
SoftwareVersion -d-> "feature" SoftwareFeature
SoftwareVersion -d-> "inputFormat" ContentType
SoftwareVersion -d-> "isAlternativeVersionOf" SoftwareVersion
SoftwareVersion -d-> "isNewVersionOf" SoftwareVersion
SoftwareVersion -d-> "language" Language
SoftwareVersion -d-> "license" License
SoftwareVersion -d-> "operatingSystem" OperatingSystem
SoftwareVersion -d-> "outputFormat" ContentType
SoftwareVersion -d-> "programmingLanguage" ProgrammingLanguage
SoftwareVersion -d-> "accessibility" ProductAccessibility
SoftwareVersion -d-> "copyright" Copyright
SoftwareVersion -d-> "custodian" Organization
SoftwareVersion -d-> "custodian" Person
SoftwareVersion -d-> "fullDocumentation" DOI
SoftwareVersion -d-> "fullDocumentation" File
SoftwareVersion -d-> "fullDocumentation" URL
SoftwareVersion -d-> "funding" Funding
SoftwareVersion -d-> "homepage" URL
SoftwareVersion -d-> "otherContribution" Contribution
SoftwareVersion -d-> "relatedPublication" DOI
SoftwareVersion -d-> "relatedPublication" ISBN
SoftwareVersion -d-> "repository" FileRepository


class Project {
+description
+fullName
+hasResearchProducts
+homepage
+coordinator
+shortName

}
Project -d-> "hasResearchProducts" Dataset
Project -d-> "hasResearchProducts" DatasetVersion
Project -d-> "hasResearchProducts" MetaDataModel
Project -d-> "hasResearchProducts" MetaDataModelVersion
Project -d-> "hasResearchProducts" Model
Project -d-> "hasResearchProducts" ModelVersion
Project -d-> "hasResearchProducts" Software
Project -d-> "hasResearchProducts" SoftwareVersion
Project -d-> "homepage" URL
Project -d-> "coordinator" Organization
Project -d-> "coordinator" Person


class ModelVersion {
+developer
+digitalIdentifier
+format
+inputData
+isAlternativeVersionOf
+isNewVersionOf
+license
+outputData
+accessibility
+copyright
+custodian
+description
+fullDocumentation
+fullName
+funding
+homepage
+howToCite
+keyword
+otherContribution
+relatedPublication
+releaseDate
+repository
+shortName
+supportChannel
+versionIdentifier
+versionInnovation

}
ModelVersion -d-> "developer" Organization
ModelVersion -d-> "developer" Person
ModelVersion -d-> "digitalIdentifier" DOI
ModelVersion -d-> "digitalIdentifier" SWHID
ModelVersion -d-> "format" ContentType
ModelVersion -d-> "inputData" DOI
ModelVersion -d-> "inputData" File
ModelVersion -d-> "inputData" FileBundle
ModelVersion -d-> "isAlternativeVersionOf" ModelVersion
ModelVersion -d-> "isNewVersionOf" ModelVersion
ModelVersion -d-> "license" License
ModelVersion -d-> "outputData" DOI
ModelVersion -d-> "outputData" File
ModelVersion -d-> "outputData" FileBundle
ModelVersion -d-> "accessibility" ProductAccessibility
ModelVersion -d-> "copyright" Copyright
ModelVersion -d-> "custodian" Organization
ModelVersion -d-> "custodian" Person
ModelVersion -d-> "fullDocumentation" DOI
ModelVersion -d-> "fullDocumentation" File
ModelVersion -d-> "fullDocumentation" URL
ModelVersion -d-> "funding" Funding
ModelVersion -d-> "homepage" URL
ModelVersion -d-> "otherContribution" Contribution
ModelVersion -d-> "relatedPublication" DOI
ModelVersion -d-> "relatedPublication" ISBN
ModelVersion -d-> "repository" FileRepository


class Dataset {
+author
+digitalIdentifier
+hasVersion
+custodian
+description
+fullName
+homepage
+howToCite
+shortName

}
Dataset -d-> "author" Organization
Dataset -d-> "author" Person
Dataset -d-> "digitalIdentifier" DOI
Dataset -d-> "hasVersion" DatasetVersion
Dataset -d-> "custodian" Organization
Dataset -d-> "custodian" Person
Dataset -d-> "homepage" URL


class MetaDataModelVersion {
+developer
+digitalIdentifier
+isAlternativeVersionOf
+isNewVersionOf
+license
+serializationFormat
+specificationFormat
+type
+accessibility
+copyright
+custodian
+description
+fullDocumentation
+fullName
+funding
+homepage
+howToCite
+keyword
+otherContribution
+relatedPublication
+releaseDate
+repository
+shortName
+supportChannel
+versionIdentifier
+versionInnovation

}
MetaDataModelVersion -d-> "developer" Organization
MetaDataModelVersion -d-> "developer" Person
MetaDataModelVersion -d-> "digitalIdentifier" DOI
MetaDataModelVersion -d-> "digitalIdentifier" SWHID
MetaDataModelVersion -d-> "isAlternativeVersionOf" MetaDataModelVersion
MetaDataModelVersion -d-> "isNewVersionOf" MetaDataModelVersion
MetaDataModelVersion -d-> "license" License
MetaDataModelVersion -d-> "serializationFormat" ContentType
MetaDataModelVersion -d-> "specificationFormat" ContentType
MetaDataModelVersion -d-> "type" MetaDataModelType
MetaDataModelVersion -d-> "accessibility" ProductAccessibility
MetaDataModelVersion -d-> "copyright" Copyright
MetaDataModelVersion -d-> "custodian" Organization
MetaDataModelVersion -d-> "custodian" Person
MetaDataModelVersion -d-> "fullDocumentation" DOI
MetaDataModelVersion -d-> "fullDocumentation" File
MetaDataModelVersion -d-> "fullDocumentation" URL
MetaDataModelVersion -d-> "funding" Funding
MetaDataModelVersion -d-> "homepage" URL
MetaDataModelVersion -d-> "otherContribution" Contribution
MetaDataModelVersion -d-> "relatedPublication" DOI
MetaDataModelVersion -d-> "relatedPublication" ISBN
MetaDataModelVersion -d-> "repository" FileRepository


class Software {
+developer
+digitalIdentifier
+hasVersion
+custodian
+description
+fullName
+homepage
+howToCite
+shortName

}
Software -d-> "developer" Organization
Software -d-> "developer" Person
Software -d-> "digitalIdentifier" DOI
Software -d-> "digitalIdentifier" SWHID
Software -d-> "hasVersion" SoftwareVersion
Software -d-> "custodian" Organization
Software -d-> "custodian" Person
Software -d-> "homepage" URL


@enduml