 syntax="proto3";
 package
// metamodel_version: 1.7.0
// See [DCAT-AP specs:Activity](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Activity)
message Activity
 {
  uriorcurie id = 0
 repeated  string title = 0
 repeated  string description = 0
 repeated  identifier otherIdentifier = 0
 repeated  activity hasPart = 0
 repeated  entity hadInputEntity = 0
 repeated  entity hadOutputEntity = 0
 repeated  activity hadInputActivity = 0
 repeated  agenticEntity carriedOutBy = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  activity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// See [DCAT-AP specs:Agent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Agent)
message Agent
 {
 repeated  string name = 0
  concept type = 0
 }
// An entity that is somehow responsible for an Activity to take place.
message AgenticEntity
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 repeated  identifier otherIdentifier = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  agenticEntity hasPart = 0
 repeated  agenticEntity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// A Dataset that was generated by an analysis of some previously generated data. For example, a dataset that contains the data of an assignment of a chemical structure to a sample based on the spectral data obtained from the sample is an AnalyticalDataset.
message AnalysisDataset
 {
  rightsStatement accessRights = 0
 repeated  legalResource applicableLegislation = 0
 repeated  standard conformsTo = 0
 repeated  kind contactPoint = 0
 repeated  agent creator = 0
 repeated  distribution datasetDistribution = 0
 repeated  string description = 0
 repeated  document documentation = 0
  frequency frequency = 0
 repeated  location geographicalCoverage = 0
 repeated  dataset hasVersion = 0
 repeated  string identifier = 0
 repeated  datasetSeries inSeries = 0
 repeated  resource isReferencedBy = 0
 repeated  string keyword = 0
 repeated  document landingPage = 0
 repeated  linguisticSystem language = 0
  date modificationDate = 0
 repeated  identifier otherIdentifier = 0
 repeated  provenanceStatement provenance = 0
  agent publisher = 0
 repeated  attribution qualifiedAttribution = 0
 repeated  relationship qualifiedRelation = 0
 repeated  resource relatedResource = 0
  date releaseDate = 0
 repeated  distribution sample = 0
 repeated  dataset source = 0
  decimal spatialResolution = 0
 repeated  periodOfTime temporalCoverage = 0
  duration temporalResolution = 0
 repeated  concept theme = 0
 repeated  string title = 0
 repeated  concept type = 0
  string version = 0
 repeated  string versionNotes = 0
  uriorcurie id = 0
 repeated  evaluatedEntity isAboutEntity = 0
 repeated  evaluatedActivity isAboutActivity = 0
 repeated  dataAnalysis wasGeneratedBy = 0
 }
// Information that was evaluated within a DataAnalysis.
message AnalysisSourceData
 {
  uriorcurie id = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  entity hasPart = 0
 repeated  entity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
  string title = 0
  string description = 0
 repeated  identifier otherIdentifier = 0
 repeated  dataGeneratingActivity wasGeneratedBy = 0
 }
// This abstract class is needed to create the union of Dataset, DatasetSeries, Catalogue and DataService for the range of the slot [primary_topic](https://nfdi-de.github.io/chem-dcat-ap/elements/primary_topic/).
message Any
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Attribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Attribution)
message Attribution
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Catalogue](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Catalogue)
message Catalogue
 {
 repeated  legalResource applicableLegislation = 0
 repeated  catalogue catalogue = 0
  agent creator = 0
 repeated  string description = 0
 repeated  location geographicalCoverage = 0
 repeated  dataset hasDataset = 0
 repeated  catalogue hasPart = 0
  document homepage = 0
 repeated  linguisticSystem language = 0
  licenseDocument licence = 0
  date modificationDate = 0
  agent publisher = 0
 repeated  catalogueRecord record = 0
  date releaseDate = 0
  rightsStatement rights = 0
 repeated  dataService service = 0
 repeated  periodOfTime temporalCoverage = 0
 repeated  conceptScheme themes = 0
 repeated  string title = 0
 }
// See [DCAT-AP specs:CatalogueRecord](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#CatalogueRecord)
message CatalogueRecord
 {
 repeated  standard applicationProfile = 0
  concept changeType = 0
 repeated  string description = 0
 repeated  linguisticSystem language = 0
  date listingDate = 0
  date modificationDate = 0
  any primaryTopic = 0
  catalogueRecord sourceMetadata = 0
 repeated  string title = 0
 }
// See [DCAT-AP specs:Checksum](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Checksum)
message Checksum
 {
  checksumAlgorithm algorithm = 0
  hexBinary checksumValue = 0
 }
// See [DCAT-AP specs:ChecksumAlgorithm](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ChecksumAlgorithm)
message ChecksumAlgorithm
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Concept](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Concept)
message Concept
 {
 repeated  string preferredLabel = 0
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:ConceptScheme](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ConceptScheme)
message ConceptScheme
 {
 repeated  string title = 0
  string description = 0
 }
// An Activity that evaluates the data produced by another Activity.
message DataAnalysis
 {
  uriorcurie id = 0
 repeated  string title = 0
 repeated  string description = 0
 repeated  identifier otherIdentifier = 0
 repeated  activity hasPart = 0
 repeated  entity hadInputEntity = 0
 repeated  entity hadOutputEntity = 0
 repeated  activity hadInputActivity = 0
 repeated  agenticEntity carriedOutBy = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  activity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  evaluatedActivity evaluatedActivity = 0
  plan realizedPlan = 0
  surrounding occurredIn = 0
 repeated  analysisSourceData evaluatedEntity = 0
 }
// An Activity (process) that has the objective to produce information (in form of a dataset) about another Activity or Entity.
message DataGeneratingActivity
 {
  uriorcurie id = 0
 repeated  string title = 0
 repeated  string description = 0
 repeated  identifier otherIdentifier = 0
 repeated  activity hasPart = 0
 repeated  entity hadInputEntity = 0
 repeated  entity hadOutputEntity = 0
 repeated  activity hadInputActivity = 0
 repeated  agenticEntity carriedOutBy = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  activity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  evaluatedEntity evaluatedEntity = 0
 repeated  evaluatedActivity evaluatedActivity = 0
  plan realizedPlan = 0
  surrounding occurredIn = 0
 }
// See [DCAT-AP specs:DataService](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DataService)
message DataService
 {
  rightsStatement accessRights = 0
 repeated  legalResource applicableLegislation = 0
 repeated  standard conformsTo = 0
 repeated  kind contactPoint = 0
 repeated  string description = 0
 repeated  document documentation = 0
 repeated  resource endpointURL = 0
 repeated  resource endpointDescription = 0
 repeated  mediaTypeOrExtent format = 0
 repeated  string keyword = 0
 repeated  document landingPage = 0
  licenseDocument licence = 0
  agent publisher = 0
 repeated  dataset servesDataset = 0
 repeated  concept theme = 0
 repeated  string title = 0
 }
// A collection of data, published or curated by a single agent, and available for access or download in one or more representations.
message Dataset
 {
  rightsStatement accessRights = 0
 repeated  legalResource applicableLegislation = 0
 repeated  standard conformsTo = 0
 repeated  kind contactPoint = 0
 repeated  agent creator = 0
 repeated  distribution datasetDistribution = 0
 repeated  string description = 0
 repeated  document documentation = 0
  frequency frequency = 0
 repeated  location geographicalCoverage = 0
 repeated  dataset hasVersion = 0
 repeated  string identifier = 0
 repeated  datasetSeries inSeries = 0
 repeated  resource isReferencedBy = 0
 repeated  string keyword = 0
 repeated  document landingPage = 0
 repeated  linguisticSystem language = 0
  date modificationDate = 0
 repeated  identifier otherIdentifier = 0
 repeated  provenanceStatement provenance = 0
  agent publisher = 0
 repeated  attribution qualifiedAttribution = 0
 repeated  relationship qualifiedRelation = 0
 repeated  resource relatedResource = 0
  date releaseDate = 0
 repeated  distribution sample = 0
 repeated  dataset source = 0
  decimal spatialResolution = 0
 repeated  periodOfTime temporalCoverage = 0
  duration temporalResolution = 0
 repeated  concept theme = 0
 repeated  string title = 0
 repeated  concept type = 0
  string version = 0
 repeated  string versionNotes = 0
 repeated  dataGeneratingActivity wasGeneratedBy = 0
  uriorcurie id = 0
 repeated  evaluatedEntity isAboutEntity = 0
 repeated  evaluatedActivity isAboutActivity = 0
 }
// See [DCAT-AP specs:DatasetSeries](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#DatasetSeries)
message DatasetSeries
 {
 repeated  legalResource applicableLegislation = 0
 repeated  kind contactPoint = 0
 repeated  string description = 0
  frequency frequency = 0
 repeated  location geographicalCoverage = 0
  date modificationDate = 0
  agent publisher = 0
  date releaseDate = 0
 repeated  periodOfTime temporalCoverage = 0
 repeated  string title = 0
 }
// A word, name, acronym or phrase that is defined in a controlled vocabulary (CV) and that is used to provide an additional rdf:type or dcterms:type of a class within this schema.
message DefinedTerm
 {
  uriorcurie id = 0
  string title = 0
  uriorcurie fromCV = 0
 }
// A material instrument that is designed to perform a function primarily by means of its mechanical or electrical nature.
message Device
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  agenticEntity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  device hasPart = 0
 repeated  identifier otherIdentifier = 0
 }
// See [DCAT-AP specs:Distribution](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Distribution)
message Distribution
 {
 repeated  resource accessURL = 0
 repeated  dataService accessService = 0
 repeated  legalResource applicableLegislation = 0
  concept availability = 0
  nonNegativeInteger byteSize = 0
  checksum checksum = 0
  mediaType compressionFormat = 0
 repeated  string description = 0
 repeated  document documentation = 0
 repeated  resource downloadURL = 0
  mediaTypeOrExtent format = 0
  policy hasPolicy = 0
 repeated  linguisticSystem language = 0
  licenseDocument licence = 0
 repeated  standard linkedSchemas = 0
  mediaType mediaType = 0
  date modificationDate = 0
  mediaType packagingFormat = 0
  date releaseDate = 0
  rightsStatement rights = 0
  decimal spatialResolution = 0
  concept status = 0
  duration temporalResolution = 0
 repeated  string title = 0
 }
// See [DCAT-AP specs:Document](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Document)
message Document
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 }
// A physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary.
message Entity
 {
  string title = 0
  string description = 0
  uriorcurie id = 0
 repeated  identifier otherIdentifier = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  entity hasPart = 0
 repeated  entity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// An activity or proces that is being evaluated in a DataGeneratingActivity.
message EvaluatedActivity
 {
  uriorcurie id = 0
 repeated  string title = 0
 repeated  string description = 0
 repeated  activity hasPart = 0
 repeated  entity hadInputEntity = 0
 repeated  entity hadOutputEntity = 0
 repeated  activity hadInputActivity = 0
 repeated  agenticEntity carriedOutBy = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  activity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  identifier otherIdentifier = 0
 }
// An Entity that is being evaluated in a DataGeneratingActivity.
message EvaluatedEntity
 {
  uriorcurie id = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  entity hasPart = 0
 repeated  entity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  activity wasGeneratedBy = 0
  string title = 0
  string description = 0
 repeated  identifier otherIdentifier = 0
 }
// See [DCAT-AP specs:Frequency](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Frequency)
message Frequency
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Geometry](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Geometry)
message Geometry
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Identifier](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Identifier)
message Identifier
 {
  string notation = 0
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:LegalResource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LegalResource)
message LegalResource
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:LicenseDocument](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LicenseDocument)
message LicenseDocument
 {
 repeated  concept type = 0
  uriorcurie id = 0
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:LinguisticSystem](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#LinguisticSystem)
message LinguisticSystem
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Location](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Location)
message Location
 {
  string bbox = 0
  string centroid = 0
  geometry geometry = 0
 }
// See [DCAT-AP specs:MediaType](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaType)
message MediaType
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:MediaTypeOrExtent](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#MediaTypeOrExtent)
message MediaTypeOrExtent
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:PeriodOfTime](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#PeriodOfTime)
message PeriodOfTime
 {
  timeInstant beginning = 0
  timeInstant end = 0
  date endDate = 0
  date startDate = 0
  string title = 0
  string description = 0
 }
// A piece of information that specifies how an activity has to be carried out by its agents including what kind of steps have to be taken and what kind of parameters have to be met/set.
message Plan
 {
  string title = 0
  string description = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// See [DCAT-AP specs:Policy](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Policy)
message Policy
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:ProvenanceStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#ProvenanceStatement)
message ProvenanceStatement
 {
  string title = 0
  string description = 0
 }
// A piece of information that is attributed to an Entity, Activity or AgenticEntity.
message QualitativeAttribute
 {
  string title = 0
  string description = 0
  string value = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// A quantifiable piece of information that is attributed to an Entity, Activity or AgenticEntity.
message QuantitativeAttribute
 {
  string title = 0
  string description = 0
  float value = 0
  definedTerm hasQuantityType = 0
  definedTerm unit = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// See [DCAT-AP specs:Relationship](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Relationship)
message Relationship
 {
 repeated  role hadRole = 0
 repeated  resource relation = 0
 }
// See [DCAT-AP specs:Resource](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Resource)
message Resource
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:RightsStatement](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#RightsStatement)
message RightsStatement
 {
  string title = 0
  string description = 0
 }
// See [DCAT-AP specs:Role](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Role)
message Role
 {
  string title = 0
  string description = 0
 }
// An instrument composed of a series of instructions that can be interpreted by or directly executed by a computer.
message Software
 {
  uriorcurie id = 0
  string title = 0
  string description = 0
 repeated  qualitativeAttribute hasQualitativeAttribute = 0
 repeated  quantitativeAttribute hasQuantitativeAttribute = 0
 repeated  agenticEntity partOf = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 repeated  software hasPart = 0
 repeated  identifier otherIdentifier = 0
 }
// See [DCAT-AP specs:Standard](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#Standard)
message Standard
 {
  string title = 0
  string description = 0
 }
// The supportive entities are supporting the main entities in the Application Profile. They are included in the Application Profile because they form the range of properties.
message SupportiveEntity
 {
  string title = 0
  string description = 0
 }
// The surrounding in which the dataset creating activity took place (e.g. a lab).
message Surrounding
 {
  string title = 0
  string description = 0
  definedTerm type = 0
  definedTerm rdfType = 0
 }
// See [DCAT-AP specs:TimeInstant](https://semiceu.github.io/DCAT-AP/releases/3.0.0/#TimeInstant)
message TimeInstant
 {
  string title = 0
  string description = 0
 }
