Metamodel module of the datamodel ontology
type: Ontology
version IRI: metamodel
imports: emmo datamodel entity.ttl
abstract: A metamodel extension of the simple SOFT7 datamodel for entities.
creator: Jesper Friis, SINTEF
creator: Thomas Hagelien, SINTEF
license: https://creativecommons.org/licenses/by/4.0/legalcode

instanceOf
type: AnnotationProperty
comment: Relates an instance to the class that describes it.
comment: The semantic meaning of 'instanceOf' is the same as 'rdf:type'. But since first order logic, of which OWL descriptive logic is based on, we introduce 'instanceOf' as an annotation property.
range: Metadata
domain: Instance

hasDimensionValue
type: ObjectProperty
sub property of: composition
domain: Instance
range: DimensionValue

hasPropertyValue
type: ObjectProperty
sub property of: composition
domain: Instance
range: PropertyValue

hasDimensionSize
type: DatatypeProperty
domain: DimensionValue
range: integer
comment: The size of a dimension value.

hasMeta
type: DatatypeProperty
sub property of: dataComposition
domain: Instance
range: anyURI
comment: Relates an instance to the URI that uniquely identifies the metadata that describes the instance.

hasUUID
type: DatatypeProperty
domain: Instance
range: string
comment: Refers to a unique UUID identifying an instance.

BasicMetadataSchema
type: Class
subclass of: Metadata
comment: A basic metadata schema that can describe itself.

DataInstance
type: Class
instanceOf: Entity
comment: An instance representing actual data. It is hence disjoint from Metadata.

DimensionValue
type: Class
subclass of: DataModel
subclass of: Restriction
  on property: hasDimensionSize
  qualified cardinality: 1
  on data range: integer
comment: Value of a dimension of a an instance.

EntitySchema
type: Class
subclass of: Metadata
instanceOf: BasicMetadataSchema
comment: A meta-metadata that describes an entity.

Instance
type: Class
subclass of: DataModel
subclass of: Restriction
  on property: hasDimensionValue
  some values from: DimensionValue
subclass of: Restriction
  on property: hasPropertyValue
  some values from: PropertyValue
subclass of: Restriction
  on property: hasMeta
  qualified cardinality: 1
  on data range: anyURI
subclass of: Restriction
  on property: hasUUID
  qualified cardinality: 1
  on data range: string
disjoint union of: DataInstance
disjoint union of: Metadata
instanceOf: Metadata
comment: An instance of a metadata. Instances are uniquely identified by their UUID, but may also have an more human readable identity. Instances holds the values of the dimensions and the properties described by their metadata.
alternative label: DataObject

Metadata
type: Class
subclass of: Restriction
  on property: hasDimension
  some values from: Dimension
subclass of: Restriction
  on property: hasProperty
  some values from: Property
subclass of: Restriction
  on property: hasDescription
  qualified cardinality: 1
  on data range: string
comment: Metadata describing its instances.

PropertyValue
type: Class
subclass of: DataModel
comment: The value of a property of a data object. Since the type system is kept open-ended there are no restriction on the actual value in this ontology. In an actual implementation there will be a restriction.

qualified cardinality: 1

max qualified cardinality: 1