Industrial Asset Hub Base Schema
Introduction
These pages document the base vocabulary and schemata to model assets in Industrial Asset Hub (IAH).
Getting Started
If you are a beginner working with the asset modeling schemas you probably want to have a look at the asset modeling concept page. It will help you understand the concepts behind the asset modeling approach chosen by IAH.
Schema Metadata
This schema defines the base classes needed for Industrial Asset Hub (IAH). The hereby defined classes provide a schema to model assets and devices (as a special asset subtype) and a vocabulary valid for the whole project and all stakeholders. They are very generic and abstract on purpose so that multiple different specializations can be derived from it without constraining them needlessly.
Name: IAH-Base
Namespaces
Namespaces
Schema/Ontology namespaces and their corresponding prefixes:
Prefix | Namespace |
---|---|
linkml | https://w3id.org/linkml/ |
lis | http://rds.posccaesar.org/ontology/lis14/rdl/ |
schema | http://schema.org/ |
base | https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/ |
sietechas | http://ontology.siemens.com/base/enterprise/technical-asset# |
sieiot | http://ontology.siemens.com/base/enterprise/iot# |
xsd | http://www.w3.org/2001/XMLSchema# |
shex | http://www.w3.org/ns/shex# |
Warning on Namespaces
Namespaces look like URLs, but they are not always complete (although they might bring you somewhere) and they are not meant to be used as hyperlinks. Therefore they are not hyperlinked in the previous table. They provide the prefix for a URI that will be completed appending the name of an element in that namespace. Those URIs are typically valid URLs and will therefore be hyperlinked throughout this documentation.
For example: adding to the namespace http://ontology.siemens.com/base/enterprise/technical-asset#
the name SoftwareAsset
results in the valid hyperlink http://ontology.siemens.com/base/enterprise/technical-asset#SoftwareAsset.
Classes
Main classes
Class | Description |
---|---|
Asset | An asset is the representation of a functional object with a technical functi... |
Device | A device is a special type of asset that can be managed with some asset manag... |
SoftwareArtifact | Software asset representing software on rest |
RunningSoftware | Software asset representing running software |
ProductSerialIdentifier | Identifier for an Asset instance using the product (asset class) identifier a... |
MacIdentifier | Identifier for an Asset instance using the mac address |
Ipv4Identifier | Identifier for an Asset instance using one IPv4 address assigned to it |
Ipv6Identifier | Identifier for an Asset instance using one IPv6 address assigned to it |
Ipv4Connectivity | Configuration of an IP port |
Ipv6Connectivity | Configuration of an IP port |
EthernetPort | A hardware ConnectionPoint that supports one of the Ethernet networking proto... |
Product | Any offered product or service that might have different versions for the sam... |
AssetLink | Asset Link (AL) running and registered |
Gateway | Gateway as a software asset can be mapped using the class |
AssetRelationship | Relationship between two different assets |
Auxiliar classes
Class | Description |
---|---|
FunctionalObject | A part of a system, and has a function whose realization contributes to the p... |
State | State in which a certain item be |
ManagementState | Documents if the asset is being regarded (managed) by any AssetManagement or ... |
ReachabilityState | The reachability_state based on when an asset that can be contacted (typicall... |
ConnectionPoint | A connection point is a hardware or software interface that enables an asset ... |
IdentifierType | Provides the context needed to interpret an identifier based on standards, co... |
Identifier | An element that provides an unambiguous identification of an item |
AssetIdentifier | An Identifier that provides an unambiguous identification of an asset instanc... |
IdLink | Asset identifier based on the ID-Link standard (IEC 61406) |
SiemensIdLink | Asset identifier based on the ID-Link standard (IEC 61406) |
InstanceAnnotation | Key/value pair that can be used to add metadata to an object |
SoftwareAsset | Any kind of software element that needs to be considered |
SoftwareIdentifier | Well established |
ArtifactChecksum | Artifact identifier based on the artifact checksum |
AssetOperation | Operations that can be performed on the asset |
RelatedConnectionPoint | Relationship of a ConnectionPoint with another one |
GatewayIdentifier | GatewayId and Base64 encoded version of certificate subject key identifer wil... |
TrustEstablishedState | The trust establishment state is based on if the asset is a trusted asset or ... |
CustomProperty | Instance annotation hosting a custom property with a label |
Classes corresponding Schema.org
Class | Description |
---|---|
Thing | The identifier property represents any kind of identifier for any kind of Thi... |
Intangible | A utility class that serves as the umbrella for a number of 'intangible' thin... |
Person | A person (alive, dead, undead, or fictional) |
SchemaOrgProduct | Any offered product or service |
Organization | An organization such as a school, NGO, corporation, club, etc |
StructuredValue | Structured values are used when the value of a property has a more complex st... |
ContactPoint | A contact point—for example, a Customer Complaints department |
PostalAddress | The mailing address |
Deprecated classes
Class | Description |
---|---|
Dcd | Device Class Driver (DCD) running and registered |
Attributes (AKA Slots), Enumerations and Types
Attributes
Attribute | Description |
---|---|
id | The identifier property represents any kind of identifier for any kind of Thi... |
name | The name of the item |
connection_points | An asset might have a connection point that can be used to connect with the a... |
related_connection_points | A connection point might rely on another connection point to work |
asset_identifiers | An asset identifier is an asset attribute that provides enough information to... |
product_instance_identifier | Identifier of a device based on its serial number |
functional_parts | The functional objects that an asset is composed of, in case such a level of ... |
state_value | The state of an object |
state_timestamp | Time when the current state has been observed |
software_components | An asset can host software artifacts that might want to be tracked |
reachability_state | A slot to track the last observed reachability state and when it was observed |
trust_established_state | A slot to track the trust establishment of the asset |
version | Version of a software artifact |
semantic_version | Version of a software artifact according the Semantic Versioning 2 |
certificate_id | Base64 encoded version of certificate subject key identifer |
gateway_identifier | Provides an AssetIdentifier for Gateways that uses the ID of the certificate ... |
identifier_type | Type of an items identifier |
identifier_uncertainty | Number that tells how uncertain an identifier is compared with other identifi... |
asset_operations | List of device management operations supported by an asset |
operation_name | Name of a device management operation |
activation_flag | Attribute for specifying if the operation is available in terms of true or fa... |
inline_manufacturer | Identifier of an asset manufacturer |
manufacturer_product | A way to identify a product based on the manufacturer and the product identif... |
product_name | A name or ID that help identify a product among those of a specific manufactu... |
ipv4_address | The IP v4 address of a device port |
router_ipv4_address | The IPv4 address of the router (AKA gateway) corresponding to a IPv4 address |
ipv6_address | The IP v6 address of a device port |
router_ipv6_address | The IP v6 address of the default IP v6 router (AKA gateway) |
mac_identifiers | Identifier of a device based on its MAC address(es) |
ipv4_identifiers | Identifier of a device based on its IPv4 address(es) |
ipv6_identifiers | Identifier of a device based on its IPv6 address(es) |
mac_address | The MAC address of the port |
connection_point_type | Type designator that provides support for polymorphism using connection point... |
functional_object_type | Type designator that provides support for polymorphism using functional parts |
asset_identifier_type | Type designator that provides support for polymorphism using asset identifier... |
instance_annotations | Metadata associated to an object |
custom_ui_properties | Metadata associated with Asset in User Interface |
family_name | Family name |
given_name | Given name |
contact_point | A contact point for a person or organization |
product_id | The product identifiers, such as ISBN |
product_version | Some products might have different versions under the same product ID, the pr... |
manufacturer | The manufacturer of the product |
address | Physical address of the item |
alternate_names | An alias for the item |
Email address | |
telephone | The telephone number |
serial_number | The serial number or any alphanumeric identifier of a particular product |
checksum | The checksum string as a URN |
last_modified_timestamp | Timestamp of last asset modification |
running_software_type | Type of running software |
software_identifier | Identifier for a software artifact based on the well-established pattern name... |
checksum_identifier | Provides an AssetIdentifier based on a SoftwareArtifact checksum |
zone | Provides references to the different zones that an asset belongs to |
responsible | Provides the id of the user or client that onboarded the asset |
management_state | A manage state is an attribute of an asset that specifies how an asset is bei... |
other_states | Specify the state of other aspects apart from management state |
id_link | Link to identify the asset |
key | The identifier of a key/value pair |
value | The real metadata of a key/value pair |
is_firmware | Flag that marks that the software artifact is being provided by a hardware ma... |
running_sw_id | Identifier for a running software instance |
artifact | Reference to the software artifact which the running software has been instan... |
custom_running_software_type | Custom running software type |
connection_point | Reference to the related ConnectionPoint |
custom_relationship | Type of relationship in an unstructured format |
network_mask | The mask that segregates IPs v4 belonging to the same sub-network from the re... |
ipv6_network_prefix | Prefix of the subnetwork in which the IP address is located |
product_link | Link to identify a product |
address_country | 2-letter code of the country |
address_locality | Locality name in the local language |
address_region | Region name in the local language |
postal_code | Postal code (AKA ZIP-code) of the address |
street_address | Street and number of the address |
running_asset_links | List of Link Assets running on an Asset Gateway and registered |
running_dcds | List of Link Assets running on an Asset Gateway and registered |
subject | The origin of a relationship between two assets |
object | The target of a relationship between two assets |
predicate | A relationship type |
label | Human readable label to show the property in the UI |
Enumerations
Enumeration | Description |
---|---|
ManagementStateValues | Possible management states |
ReachabilityStateValues | Possible reachability states |
TrustEstablishedStateValues | Possible trust establishment states |
PredicateValues | Possible relationship predicates |
CountryCode | Two-letter ISO 3166-1 alpha-2 country code |
RunningSoftwareValues | Possible running software types |
Types
Type | Description |
---|---|
String | A character string |
Integer | An integer |
Boolean | A binary (true or false) value |
Float | A real number that conforms to the xsd:float specification |
Double | A real number that conforms to the xsd:double specification |
Decimal | A real number with arbitrary precision that conforms to the xsd:decimal speci... |
Time | A time object represents a (local) time of day, independent of any particular... |
Date | a date (year, month and day) in an idealized calendar |
Datetime | The combination of a date and time |
DateOrDatetime | Either a date or a datetime |
Uriorcurie | a URI or a CURIE |
Curie | a compact URI |
Uri | a complete URI |
Ncname | Prefix part of CURIE |
Objectidentifier | A URI or CURIE that represents an object in the model |
Nodeidentifier | A URI, CURIE or BNODE that represents a node in a model |
Jsonpointer | A string encoding a JSON Pointer |
Jsonpath | A string encoding a JSON Path |
Sparqlpath | A string encoding a SPARQL Property Path |