Platform Material Digital Core Ontology (pmdco)
type: Ontology
version info: 1.0

quantityUnit
type: ObjectProperty
domain: QuantityValue
range: Item
comment: Unit of measurement.

compose
type: ObjectProperty
inverse of: composed by
domain: Class
  union of: Material
  union of: Voxel
range: Object
comment: This property is used to describe which objects a voxel or a material contributes to compose.

composed by
type: ObjectProperty
domain: Object
range: Class
  union of: Material
  union of: Voxel
comment: This property is used to describe which voxels and materials an object is composed of.

execute
type: ObjectProperty
sub property of: topObjectProperty
domain: ProcessNode
range: Process
comment: This property represents which process node executes a process

has data resource
type: ObjectProperty
domain: Process
range: Data Resource
comment: This property is used to connect a Process to the Data Resource that describe the parameters and measurements produced during the process.

has header field
type: ObjectProperty
domain: Data Resource
range: Header Field
comment: A description for each header field included in the blob represented by the data resource

has input object
type: ObjectProperty
domain: Process
range: Object
comment: This property is used to link the processes to their input objects

has material structure
type: ObjectProperty
domain: Voxel
range: Material Structure
comment: This property is used to indicate which material structures a voxel has.

has next process
type: ObjectProperty
domain: Process
range: Process
comment: This property is used to indicate the process that was run after the current process.

has output object
type: ObjectProperty
domain: Process
range: Object
comment: This property is used to link the processes to their output objects

has pmd quantity unit
type: ObjectProperty
domain: Class
  union of: QuantityValue
  union of: Header Field
range: PmdSiUnit
comment: The association of a higher concept with a unit of measurement from Wikidata

has previous process
type: ObjectProperty
domain: Process
range: Process
comment: This property is used to indicate that which process was previously run.

has process node component
type: ObjectProperty
domain: ProcessNode
range: Process Node Component
comment: An object property associating a process node with its (potentially modular) components, e.g. the chambers of a heat treatment furnace.

has quantitative measurement
type: ObjectProperty
sub property of: has quantitative parameter
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to describe a quantity value that has been measured during the execution of a process.

has quantitative metadata measurement
type: ObjectProperty
sub property of: has quantitative measurement
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field

has quantitative nominal metadata parameter
type: ObjectProperty
sub property of: has quantitative nominal parameter
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to describe a quantity value that is input of a process describing a metadata process parameter.

has quantitative nominal parameter
type: ObjectProperty
sub property of: has quantitative parameter
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to describe a quantity value that was input of process.

has quantitative nominal primary parameter
type: ObjectProperty
sub property of: has quantitative nominal parameter
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to describe a quantity value that is input of a process describing a primary process parameter.

has quantitative nominal secondary parameter
type: ObjectProperty
sub property of: has quantitative nominal parameter
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to describe a quantity value that was input of process describing a secondary process parameter.

has quantitative parameter
type: ObjectProperty
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field
comment: This property is used to relate values with units to process measurements and paramaeters.

has quantitative primary data series measurement
type: ObjectProperty
sub property of: has quantitative primary measurement
domain: Process
range: Header Field

has quantitative primary measurement
type: ObjectProperty
sub property of: has quantitative measurement
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field

has quantitative secondary measurement
type: ObjectProperty
sub property of: has quantitative measurement
domain: Class
  union of: Object
  union of: Process
range: Class
  union of: QuantityValue
  union of: Header Field

has subordinate process
type: ObjectProperty
domain: Process
range: Process
comment: This property is used to link a process to its subordinate processes.

measured process duration
type: ObjectProperty
sub property of: has quantitative primary measurement
domain: Process
range: QuantityValue

nominal process duration
type: ObjectProperty
sub property of: has quantitative nominal primary parameter
domain: Process
range: QuantityValue

quantityAmount
type: DatatypeProperty
domain: QuantityValue
range: decimal
comment: Amount of quantity.

has data resource characteristic
type: DatatypeProperty
domain: Data Resource
range: Literal

generated object identifier
type: DatatypeProperty
sub property of: has object characteristic
domain: Object
range: string
comment: A machine-readable identifier associated with a discernable, tangible or simulated entity that is intended to be unique in a given scope. Examples for scope include: a database storing object data or a supply chain principal creating its own identifiers for the reports it generates
label: has generated object identifier

has acquisition date
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: positiveInteger
comment: The point in time a process node was commissioned (e.g. the purchase date, first day of use), represented in IEEE 1003 'Seconds since Epoch'.

has collection interface hint
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: A label in support of identifying a network interface and/or address used by a process node to provide primary data stored in ontologies

has data resource location
type: DatatypeProperty
sub property of: has data resource characteristic
domain: Data Resource
range: anyURI
comment: This property indicates that a file can be retrieved or downloaded from a specific address.

has data resource serialization
type: DatatypeProperty
sub property of: has data resource characteristic
domain: Data Resource
range: Datatype
  one of: CBOR
  one of: JSON

has generated identifier
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Class
  union of: Object
  union of: Process
  union of: ProcessNode
range: string
comment: A machine-readable identifier that is intended to be unique in a given scope.

has header field description
type: DatatypeProperty
sub property of: has header field characteristic
domain: Header Field
range: string
comment: A data property representing an optional human-readable description of the header field's intent.

has header field sequence number
type: DatatypeProperty
sub property of: has header field characteristic
domain: Header Field
range: positiveInteger
comment: A mandatory numbering representing the index of the columns in sequence

has measurement
type: DatatypeProperty
sub property of: has parameter
domain: Process
range: Literal
comment: This property is used to describe parameters that are created by measurements of a process but that do not represent a quantity and are not associate to units.

has metadata measurement
type: DatatypeProperty
sub property of: has measurement
domain: Process
range: Literal

has model
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: Process Node short description, e.g. "Vacuum Furnace"

has nominal end posix timestamp
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Process
range: float
comment: The point in time a process node finished to conduct a process, represented in IEEE 1003 'Seconds since Epoch'

has nominal metadata parameter
type: DatatypeProperty
sub property of: has nominal parameter
domain: Process
range: Literal

has nominal parameter
type: DatatypeProperty
sub property of: has parameter
domain: Process
range: Literal
comment: This property is used to describe nominal parameters that are not associated to a quantity value.

has nominal primary parameter
type: DatatypeProperty
sub property of: has nominal parameter
domain: Process
range: Literal

has nominal secondary parameter
type: DatatypeProperty
sub property of: has nominal parameter
domain: Process
range: Literal

has nominal start posix timestamp
type: DatatypeProperty
sub property of: has nominal metadata parameter
comment: The point in time a process node began to conduct a process, represented in IEEE 1003 'Seconds since Epoch'

has parameter
type: DatatypeProperty
domain: Process
range: Literal
comment: This Property is used to describe the process parameters that are not associated to quantitative values.

has primary measurement
type: DatatypeProperty
sub property of: has measurement
domain: Process
range: Literal

has process node characteristic
type: DatatypeProperty
domain: ProcessNode
range: Literal
comment: The point in time a process node was commissioned (e.g. the purchase date, first day of use), represented in IEEE 1003 'Seconds since Epoch'.

has process node identifier
type: DatatypeProperty
sub property of: has process node characteristic
comment: A string intended to uniquely identify a process node in a given scope, e.g. global scope: serial number, organization scope, asset management identifier.

has process node name
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: A human-generated identifier associated with a discernible, tangible or simulated entity intended to be unique in a given scope

has process node type
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: Process Node typename, e.g. "ProTherm500"

has process node version
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: Process Node Version Number, e.g. "2.24"

has secondary measurement
type: DatatypeProperty
sub property of: has measurement
domain: Process
range: Literal

has sequence number
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Process
range: positiveInteger

has starting time
type: DatatypeProperty
domain: Process
range: Literal

has supplied identifier
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Class
  union of: Object
  union of: Process
  union of: ProcessNode
range: string
comment: A colloquial, human-generated, descriptive text qualifying the nature of a process instance used as an identifier that is not strictly intended to be unique, e.g. "1050°C30 840°C10/ÖL".

has type description
type: DatatypeProperty
sub property of: has process node characteristic
domain: ProcessNode
range: string
comment: Description for Process Node's utility, e.g. "Rear Vacuum Furnace Oil Quenching"

has ucum code
type: DatatypeProperty
sub property of: topDataProperty
domain: PmdSiUnit
range: Literal
comment: This property is used the enrich a unit with its common used label within the UCUM vocabulary

has unit label
type: DatatypeProperty
domain: PmdSiUnit
range: Literal
comment: This property is used the enrich a unit with its common used label.

has header field characteristic
type: DatatypeProperty
domain: Header Field
range: Literal

is final process node
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Process
range: boolean
comment: This property is used to indicate the last process conducted by a process node in a series of processes conducted by the same process node.

is initial process node
type: DatatypeProperty
sub property of: has nominal metadata parameter
domain: Process
range: boolean
comment: This property is used to indicate the first process conducted by a process node in a series of processes conducted by the same process node.

has object characteristic
type: DatatypeProperty

supplied object identifier
type: DatatypeProperty
sub property of: has object characteristic
domain: Object
range: string
comment: A human-generated identifier associated with a discernable, tangible or simulated entity

QuantityValue
type: Class
subclass of: Value
comment: Wikibase extended value representing quantity.

Analysis Process
type: Class
subclass of: Process
comment: A process that is driven by the primary intent to gain new measurements An analysis process is either a transformative process or a non-transformative process.

Atomistic Level Material Structure
type: Class
subclass of: Material Structure
comment: It is a material length scale. Includes individual atoms and their spatial arrangement, information on the chemical elements, information on the lattice and crystal structure, 0-dimensional crystal defects

Component
type: Class
subclass of: Object
comment: An object that serves a specific technical application. Constituent part of a compound of parts that builds a technical application

Continuum Level Material Structure
type: Class
subclass of: Material Structure
comment: A material structure that is at the length level of the the entire geometry.

Data Resource
type: Class
comment: A data resource is file which contains parameters and measurements of a process.

Header Field
type: Class
comment: A class bundling the semantics for a specific column in a table inside a (multidimensional) blob. Includes column number, pointer to concept, pointer to unit, and human readable description.

Manufacture Node
type: Class
subclass of: ProcessNode
comment: A process node that implements transformative processes as well as consumes and creates tangible objects and typically requires inputs In general but not necessarily, a manufacture node includes intrinsic analysis nodes that create corresponding measurements with respect to the process implemented by the manufacture node.

Manufacture Process
type: Class
subclass of: Process
comment: A process that is driven by the primary intent to transform objects A manufacture process is always a transformative process.

Material
type: Class
comment: It is a substance or mixture of substances that constitutes an object. represented by the sum of material properties and material structure

Material Property
type: Class
comment: Physical property of a material

Material Structure
type: Class
comment: Structural and compositional information on a material within the regarded material level, includes 0,1,2,3 dimensional descriptions involves all material levels.

Mesoscopic Level Material Structure
type: Class
subclass of: Material Structure
comment: A material structure that covers multiple grains or phases of the material

Microscopic Level Material Structure
type: Class
subclass of: Material Structure
comment: A material structure on a single grain level

Nano Level Material Structure
type: Class
subclass of: Material Structure
comment: A Material Structure that involves individual features within one single grain or phase like dislocations or precipitates.

Non Transformative Analysis Process
type: Class
subclass of: Analysis Process
comment: An analysis process that is also a non-transformative process

Object
type: Class
comment: A discernable, tangible or simulated entity that is processed in a process by a process node. An Object is composed of Voxels.

PmdSiUnit
type: Class
comment: Equivalent to the definition found at https://www.wikidata.org/wiki/Q61610698. Instances of this class represent a tuple of prefix and SI unit

Process
type: Class
comment: A series of actions or operations conducing to an end In PMD, a process is conducted via process nodes and has a discernable duration as part of a workflow. A process consumes objects and parameters. A process potentially generates new objects and measurements. A process is either a transformative process or a non-transformative process with respect to objects processed via a process node. There are primarily two types of distinguishable processes: manufacture process, analysis process. A process is a series of operations that are subordinate processes.

ProcessNode
type: Class
comment: A constituent that consumes and creates the objects in a process. The enabler of manufacture process steps, analysis process steps or simulation process steps. A process node realizes transformative processes and/or non-transformative processes.

Process Node Component
type: Class

Simulation Node
type: Class
subclass of: ProcessNode
comment: A process node that implements foo as well as consumes and creates simulation objects and parameters.

Tranformative Analysis Process
type: Class
subclass of: Analysis Process
comment: An analysis process that is also a transformative process

Voxel
type: Class
comment: An element representing a value on a grid in three dimensional space. In PMD, an infinitesimal part of an object which is made of a homogenuous material. Size depends on the observed material level. For now, geometrically, a cubus is assumed. Made of a material Different Voxels can have different material properties and material structure A (partial) logical object that describes (a part of) a physical object