Version GraphQL Schema: latest

Zugrunde liegende AAS-Spezifikation:

Part 1: Metamodel - aktuelle Version 3.0 aus April 2023 (IDTA Number: 01001-3-0)

 

Das kommentierte Schema ist auf GitHub verfügbar:
https://github.com/foprs/aas-connect

Für Issues und Ideen zur Weiterentwicklung des Schemas nutzen Sie bitte GitHub!

 

A. Spezifikation des grundsätzlichen Modellaufbaus

A.1
Das AAS-connect GraphQL Schema ist in zwei Schemata aufgeteilt: dem Anwenderdatenschema (Anwenderdatenmodellebene) und dem Metadatenschema (Metadatenmodellebene). Beide Schemata können unabhängig voneinander angewendet und über verschiedene Endpunkte erreicht werden.

A.1
Im Metadatenmodell ist jedem Object zwingend eine metaId zu vergeben, für die globale GQL-Endpunkt-übergreifende Identifikation.

A.2
Die eindeutige Verlinkung zwischen Anwenderdatenmodellebene und Metadatenmodellebene erfolgt über das Feld metaId oder innerhalb eines Endpunkts wahlweise über die idShort. Die Verlinkung dient dazu, bei der Erzeugung und Bearbeitung von Anwenderdaten Metainformationen bereitzustellen oder z.B. AASX- oder JSON-Dateien mit Metadaten erzeugen zu können.

 

B. Spezifikation des Anwenderdatenschemas

B.1
Das Anwenderdatenschema enthält die Objekttypen der Asset Administration Shell (z.B. AssetAdministrationShell, AssetInformation oder SpecificAssetId) sowie die anwenderspezifischen Objekttypen der zugeordneten Submodelle mit den Submodellelementen.

B.2
Objekttypen die Submodelle und Submodellelemente der AAS-Spezifikation abbilden besitzen eine Referenz zum Metadatenschema über das Feld metaType (Enum) und metaId (siehe A.2).

B.3
Der Identifier id der AssetAdministrationShell heißt im GraphQL-Schema aasId aufgrund möglicher Kompatibilitätsprobleme.

B.4 
Jedes Objekt besitzt einen Objektidentifikator (GraphQL Global Object Identification / UUID - Version 4, gemäß RFC 4122). Im Anwenderdatenschema wird dieser als dataID bezeichnet.

B.5
Der Name der Objekttypen der Submodelle/Submodellelemente entspricht der idShort der Modellelemente aus dem Metadatenschema.

B.6
Properties werden direkt als field am Objekt modelliert mit dem Namen der idShort des Modellelements plus einem Unterstrich gefolgt von einem dreistelligem Suffix (A-Z,a-z). Der Suffix wird eingeführt, da in der AAS-Spezifikation (5.7.7.11) vorgesehen ist, dass auch eine Referenz auf einen Wert bestehen kann. Der Wert ist erreichbar unter [idShort]_val und die Referenz auf einen Wert unter [idShort]_vId.

B.7
Es werden die Skalartypen (scalar types) des GraphQL-Standards verwendet, die sich dann auf die in der AAS-Spezifikation vorgesehene Enumeration (DataTypeDefXsd) mappen lassen.

B.8
Werden einem Submodelelement weitere Submodelelemente mit gleichem keyType als ModelReference zugeordnet (siehe AAS-Spezifikation 5.7.10.3) dann kann über den Objekttyp Counter eine Identifikation innerhalb dieser Zuordnung erfolgen.

 

C. Spezifikation des Metadatenschemas

C.1 
Jedes Objekt besitzt einen Objektidentifikator (GraphQL Global Object Identification / UUID - Version 4, gemäß RFC 4122). Im Metadatenschema wird dieser als metaID bezeichnet.

C.2
Die id des Submodel (h2_Identifiable: id: Identifier) wird zur Vermeidung von Bezeichnungskonflikten mit submodelId bezeichnet.

C.3
Eine idShort im Metadatenmodel darf im Endpunkt nur einmal vorkommen. 

 

D. Für beide Modellebenen gültige Spezifikationen 

D.1 
Der primitive Datentyp MultiLanguageTextType, der in der AAS-Spezifikation zum Beispiel für das Attribut description verwendet wird und ein Array von LangStringSet ist, wird über mehrere description fields mit dem Suffix [_xx] abgebildet, wobei xx für den zweistelligen Sprachencode in kleinen Buchstaben (z.B. de oder en) steht.

D.2
Bei Attributen des Typs Reference wird die definierte Serialisierung zu einem einzelnen String verwendet (siehe 7.2.3 der AAS-Spezifikation V3.0).

 

E. Grafische Darstellung des Schemas (Graph Datenmodell)

Zur Verdeutlichung des Schemas ist hier ein Datenmodell (Neo4j Graph Datenmodell, erstellt mit Arrows.app) dargestellt. Im Modell sind nicht alle Modellelemente vorhanden. Es handelt sich um einen Auszug aus dem führenden GQL-Schema. Ein Stern symbolisiert, dass es sich um ein zusätzliches Modellelement von AAS-connect handelt, das so nicht in der AAS-Spezifikation vorkommt.

 

 


Ersteller und Herausgeber: FoP Consult GmbH

AAS-connect bietet ein GraphQL-Datenmodell (SDL - Schema Definition Language), ein Vokabular und weitere Ressourcen für die Implementierung der Asset Administration Shell der Plattform Industrie 4.0 / Industrial Digital Twin Association (IDTA) mit GraphQL. Dabei erfolgt ein konsistentes Mapping auf den aktuellen Standard der AAS, um eine vollständige Integrierbarkeit mit anderen Lösungen (z.B. über AASX-Dateien) zu ermöglichen.

AAS-connect verfolgt keinen aktiven Standardisierungsprozess. Die FoP Consult GmbH setzt jedoch darauf, dass sich das Datenmodell und Vokabular bzw. die allgemeine GraphQL-basierte Vorgehensweise auch ohne formalen Standardisierungsprozess mit Hilfe einer interessierten Community als Best Practice weit verbreitet und damit einen von vielen Anwendern genutzen De-facto-Standard für die Implementierung der AAS mit GraphQL bilden wird.