bamm.meta-model.1.0.0.aspect-meta-model-definitions.ttl Maven / Gradle / Ivy
# Copyright (c) 2021 Robert Bosch Manufacturing Solutions GmbH
#
# See the AUTHORS file(s) distributed with this work for additional
# information regarding authorship.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
#
# SPDX-License-Identifier: MPL-2.0
@prefix mmm: .
@prefix bamm: .
@prefix rdf: .
@prefix rdfs: .
@prefix xsd: .
# Meta meta model concepts
mmm:Concept rdfs:subClassOf rdfs:Class .
mmm:NamedConcept rdfs:subClassOf mmm:Concept .
mmm:ConceptWithProperties rdfs:subClassOf mmm:Concept .
mmm:Attribute rdfs:subClassOf rdf:Property .
mmm:Constant rdfs:subClassOf rdfs:Resource .
mmm:PropertyUsage rdfs:subClassOf rdfs:Class .
# Meta model concepts
bamm:Aspect rdfs:subClassOf mmm:NamedConcept, mmm:ConceptWithProperties ;
rdfs:label "Aspect" ;
rdfs:comment "An Aspect is the root element of each Aspect Model and has a number of Properties and Operations." .
bamm:Entity rdfs:subClassOf mmm:NamedConcept, mmm:ConceptWithProperties ;
rdfs:label "Entity" ;
rdfs:comment "An Entity is a logical encapsulation of multiple values. It has a number of Properties." .
bamm:Property rdfs:subClassOf mmm:NamedConcept ;
rdfs:label "Property" ;
rdfs:comment "A Property represents a named value." .
bamm:Characteristic rdfs:subClassOf mmm:Concept ;
rdfs:label "Characteristic" ;
rdfs:comment "A Characteristic describes a Property's meaning in the context of the Aspect." .
bamm:Constraint rdfs:subClassOf mmm:Concept ;
rdfs:label "Constraint" ;
rdfs:comment "A Constraint can be used to further specify a Characteristic, for example on the value range." .
bamm:Operation rdfs:subClassOf mmm:NamedConcept ;
rdfs:label "Operation" ;
rdfs:comment "An Operation represents an action that can be triggered on the device that is represented by the Digital Twin, for example switching a part of a machine on or off." .
bamm:Event rdfs:subClassOf mmm:NamedConcept ;
rdfs:label "Event" ;
rdfs:comment "An Event is a model element that represents a single occurence where the timing is important. Assets can for instance emit events to notify other assets in case of special occurences." .
# Meta meta model attributes used in Shapes
mmm:listType a rdf:Property ;
rdfs:label "listType" ;
rdfs:comment "Used to define the type for a list Property." ;
rdfs:range rdfs:Resource .
# Meta model attributes
bamm:name a mmm:Attribute ;
rdfs:label "name" ;
rdfs:comment "The local name of a model element. This must be identical to the local part of its URI." ;
rdfs:domain mmm:NamedConcept ;
rdfs:range xsd:string .
bamm:preferredName a mmm:Attribute ;
rdfs:label "preferredName" ;
rdfs:comment "Human readable name in a specific language." ;
rdfs:domain mmm:Concept ;
rdfs:range rdf:langString .
bamm:description a mmm:Attribute ;
rdfs:label "description" ;
rdfs:comment "Human readable description in a specific language" ;
rdfs:domain mmm:Concept ;
rdfs:range rdf:langString .
bamm:dataType a mmm:Attribute ;
rdfs:label "dataType" ;
rdfs:comment "Reference to a scalar or complex (Entity) data type." ;
rdfs:domain bamm:Characteristic ;
rdfs:range rdfs:Resource .
bamm:value a mmm:Attribute ;
rdfs:label "value" ;
rdfs:comment "A single constant value or link to another resource." ;
rdfs:domain mmm:Concept ;
rdfs:range rdfs:Resource .
bamm:properties a mmm:Attribute ;
rdfs:label "properties" ;
rdfs:comment "The list of Properties of an Aspect or Entity" ;
rdfs:domain mmm:ConceptWithProperties ;
rdfs:range rdfs:Resource .
bamm:characteristic a mmm:Attribute ;
rdfs:label "characteristic" ;
rdfs:comment "The Characteristic describing a Property." ;
rdfs:domain bamm:Property ;
rdfs:range rdfs:Resource .
bamm:operations a mmm:Attribute ;
rdfs:label "operations" ;
rdfs:comment "The list of Operations of an Aspect." ;
rdfs:domain bamm:Aspect ;
rdfs:range rdfs:Resource .
bamm:input a mmm:Attribute ;
rdfs:label "input" ;
rdfs:comment "A list of references to Properties that describe the input to an operation." ;
rdfs:domain bamm:Operation ;
rdfs:range rdfs:Resource .
bamm:output a mmm:Attribute ;
rdfs:label "output" ;
rdfs:comment "A single reference to a Property that describes the output of an operation." ;
rdfs:domain bamm:Operation ;
rdfs:range rdfs:Resource .
bamm:events a mmm:Attribute ;
rdfs:label "events" ;
rdfs:comment "The list of Events of an Aspect." ;
rdfs:domain bamm:Aspect ;
rdfs:range rdfs:Resource .
bamm:parameters a mmm:Attribute ;
rdfs:label "parameters" ;
rdfs:comment "The parameters defined by an Event." ;
rdfs:domain bamm:Event ;
rdfs:range rdfs:Resource .
bamm:exampleValue a mmm:Attribute ;
rdfs:label "exampleValue" ;
rdfs:comment "An exemplary value the Property can take on that helps to understand the intended meaning of the property better. This can only be set for Properties with scalar data types (e.g. xsd:string or xsd:float, but not Entities). The data type of the bamm:exampleValue must be convertable to the effective data type of the Property’s Characteristic." ;
rdfs:domain bamm:Property ;
rdfs:range rdfs:Resource .
bamm:refines a mmm:Attribute ;
rdfs:label "refines" ;
rdfs:comment "Defines that the target refines the source" ;
rdfs:domain mmm:Concept ;
rdfs:range rdfs:Resource .
bamm:optional a mmm:Attribute ;
rdfs:label "optional" ;
rdfs:comment "Defines whether a Property is optional or not in the context where the Property is being used. The default is false." ;
rdfs:domain mmm:PropertyUsage ;
rdfs:range xsd:boolean .
bamm:property a mmm:Attribute ;
rdfs:label "property" ;
rdfs:comment "Links a Property Usage to an actual Property" ;
rdfs:domain mmm:PropertyUsage ;
rdfs:range bamm:Property .
bamm:notInPayload a mmm:Attribute ;
rdfs:label "notInPayload" ;
rdfs:comment "Defines whether a Property is included in the payload of an Aspect. The default is false." ;
rdfs:domain mmm:PropertyUsage ;
rdfs:range xsd:boolean .
bamm:payloadName a mmm:Attribute ;
rdfs:label "payloadName" ;
rdfs:comment "Provides the name of the Property as it will appear in the runtime payload." ;
rdfs:domain mmm:PropertyUsage ;
rdfs:range xsd:string .
bamm:see a mmm:Attribute ;
rdfs:label "see" ;
rdfs:comment "Contains a link to an external taxonomy/ontology." ;
rdfs:domain mmm:Concept ;
rdfs:range rdfs:Resource .
# Constants
bamm:US-ASCII a mmm:Constant .
bamm:ISO-8859-1 a mmm:Constant .
bamm:UTF-8 a mmm:Constant .
bamm:UTF-16 a mmm:Constant .
bamm:UTF-16BE a mmm:Constant .
bamm:UTF-16LE a mmm:Constant .
# Datatypes
bamm:curie a rdfs:Datatype ;
rdfs:comment "The ·lexical space· of curie is finite-length character sequences which represent a valid curie as defined here https://www.w3.org/TR/2010/NOTE-curie-20101216/#s_schema.";
rdfs:label "curie" .