The Resource Description Framework (RDF) is recommended standard of the W3C to unambiguously model and present semantic data. RDF documents are structured in the form of triples, consisting of subjects, relations and objects. The resulting model is often interpreted as a graph, with the subject and object elements as the nodes and the relations as the graph edges.
RDF is closely related to Web standards, illustrated by the fact that all elements are encoded using (HTTP-)URIs. As a common practice, the provision of additional information at the referenced location of an RDF entity directly allows the interlinking of entities based on the Web. This process, the following of links in order to discover related information, is called dereferencing a resource and is supported by any browser or web client. Connecting distributed data sources through the Web in the described manner is referenced by the term Linked Data. Connecting the available resources and capabilities of Linked Data with the expressiveness of the Asset Shell is one motivation for the RDF serialization.
In addition, RDF is the basis of a wide range of logical inference and reasoning techniques. Vocabularies like RDF Schema (RDFS) and the Web Ontology Language (OWL) combine the graph-based syntax of RDF with formal definitions and axioms. This allows automated reasoners to understand the relation between entities to some extent and draw conclusions.
Combining both features, the RDF mapping of the Asset Administration Shell can provide the basis for complex queries and requests. SPARQL, the standard query language for the Semantic Web, can combine reasoning features with the integration of external data sources. In order to benefit of these abilities, the AAS requires a clear scheme of its RDF representation. In the following, the necessary transformation rules are presented, followed by an illustration of relevant parts of the scheme and an example. The complete data model together with the RDF scheme are listed in this repository.
- The default serialization format is Turtle. Several, equivalent serializations exist for RDF. Among them, the Turtle syntax is regarded as the most appropriate compromise between readability and tool-support. Other formats (RDF/XML, JSON-LD, N3, etc.) can be used without any loss of information.
- Shape Graphs represent the validation rules. The data model itself is an RDF ontology. As RDF itself is following the open-world-assumption, SHACL [38] constraints are necessary in order to enable schema validation. Similarly to XSD for XML, the SHACL format can be used to describe contraints (or shapes) of RDF graphs.
- Every entity is encoded as either an IRI or a Literal. RDF uses IRIs for both entities and relations. If no IRI is predefined, a globally unique IRI is generated. Primitive values are encoded as Typed Literals.
- Entities are enhanced with well-known RDF attributes. Interoperability of concepts and attributes is the main advantage of the RDF mapping. Applying common attributes (rdf:type, rdfs:label, and rdfs:comment) enables the usage of standard tools and interfaces.
- Repeating elements are described once and then linked using their IRI identifier. If a distinct element appears more than one time in the original model but in a different context, for instance in more than one submodel, the RDF entity represents the combination of all attributes.
- Keys must have an index attribute. Keys of a Reference have a defined order, however RDF is explicitly set-based. The index attribute encodes the position in the original sequence. Consequently, Keys belonging to one Reference must have unique numbers in the range [0..keyCount], ascending from 0. If only one Key is supplied, the index attribute can also be skipped, implying a default value of ‘0’.
- Multilanguage Strings are split into distinct language strings. Objects are expected to contain a singular information entity, and the currently available tools would not recognize the different pattern used.
RDF is often regarded as a graph model, as it provides the flexibility to interlink entities at any stage. In the following, the running example is originally provided in Turtle but accompanied with visualizations of the represented graph. Attributes referencing non-literal values are shown as directed links while Literal values are drawn together with the corresponding entity itself. In order to increase readability, the namespace declarating sections are omitted. The complete example with all namespaces can be found in the example folder. The instances of the core classes, the AssetAdministrationShell, the Asset, Submodels, and ConceptDescriptions are shown in the figure below. The AssetAdministrationShell is provided in the RDF file. The RDF identifiers are visualized in a condensed format in the figure but represent complete URIs, as displayed in Table 18.One can see the additionally inserted triples for rdf:type (1), rdfs:label (2), and rdfs:comment (3) as determined by Rule 4. The first attribute states the instance’ class. The second provides its commonly used name, for instance based on the idShort attribute. rdfs:comment supplies a short description about the regarded entity, based on the description value. The generally available tools, for instance the open source tool Protégé, interpret these attributes and display the correct class hierarchy, render the elements with their labels or supply short explanations based on the comments.