Zum Hauptinhalt springen

Runtime Model

GraphQL ermöglicht das Abfragen und Mutieren von Daten. Mutationen sind Operationen wie Erstellen, Aktualisieren und Löschen. Dieses Kapitel beschreibt, wie Daten erstellt, abgerufen, aktualisiert und gelöscht werden können. Es bietet eine Referenz für die GraphQL-Scalar-Typen, Input-Typen und Enums, die in der OctoMesh-GraphQL-API verwendet werden.

In OctoMesh bietet die GraphQL-Runtime-API Zugriff auf die Entitäten des Runtime Model. Sie können diese Entitäten über das Feld runtime in Ihren GraphQL-Abfragen abfragen.

Scalar Types​

OctoObjectId​

Eine 24-stellige hexadezimale Zeichenkette, die eine Runtime-Entität eindeutig identifiziert. Basiert auf dem ObjectId-Format von MongoDB.

Format: [0-9a-f]{24} Beispiel: 65dc6d24cc529cdc46c84fcc

SimpleScalar​

Ein flexibler Scalar, der verschiedene primitive Werte (Zeichenketten, Zahlen, Booleans) darstellen kann. Wird häufig für Konfigurationswerte, Vergleichswerte in Filtern und dynamische Daten verwendet.

LargeBinary​

Wird für Binärdaten verwendet, typischerweise für Datei-Uploads. Akzeptiert Base64-kodierte Zeichenketten.

Composite Types​

RtEntityId​

Ein zusammengesetzter Input-Typ, der primär für Löschoperationen verwendet wird. Kombiniert den Runtime-Identifier mit den Typinformationen.

FieldTypeRequiredDescription
rtIdOctoObjectIdYesDer Runtime-Identifier der Entität
ckTypeIdStringYesDer Construction-Kit-Typ-Identifier (z. B. Industry.Energy/EnergyMeter)

RtCkTypeId​

Verweist von Runtime-Operationen aus auf einen Typ im Construction Kit.

Format: [Model]/[TypeName] Beispiele: Industry.Energy/EnergyMeter, System.Communication/Adapter

Input Types​

Naming Conventions​

OperationInput Type PatternExample
Create[TypeName]InputIndustryEnergyEnergyMeterInput
Update[TypeName]InputUpdateIndustryEnergyEnergyMeterInputUpdate

Create vs Update Input Types​

  • Create Input Types: Enthalten alle Felder, die beim Erstellen einer neuen Entität gesetzt werden können. Pflichtfelder müssen angegeben werden.
  • Update Input Types: Erfordern immer das Feld rtId, um die Entität zu identifizieren. Alle anderen Felder sind optional – nur die angegebenen Felder werden aktualisiert.
hinweis

Die Systemfelder rtDisplayName und rtDisplayDescription sind nicht Teil eines Input-Typs. Sie werden von der Engine beim Speichern aus den Anzeigenamen-Regeln des Typs berechnet und können nicht über die API oder den Import gesetzt werden.

Query Parameter Types​

FieldFilter​

Wird verwendet, um Abfrageergebnisse anhand von Attributbedingungen zu filtern. Siehe Retrieve für Anwendungsbeispiele.

FieldTypeDescription
attributePathStringDer Pfad des zu filternden Attributs (z. B. contact.firstName)
operatorFilterOperatorDer Vergleichsoperator
comparisonValueSimpleScalarDer Wert, mit dem verglichen wird

Sort​

Wird verwendet, um die Sortierreihenfolge der Abfrageergebnisse festzulegen. Siehe Retrieve für Anwendungsbeispiele.

FieldTypeDescription
attributePathStringDer Pfad des Attributs, nach dem sortiert wird (z. B. contact.firstName)
sortOrderSortOrderDie Sortierrichtung

SearchFilter​

Wird für die Textsuche über mehrere Attribute hinweg verwendet. Siehe SearchFilter für die ausführliche Dokumentation.

FieldTypeRequiredDescription
searchTermStringYesDer zu suchende Text
typeSearchFilterTypeYesATTRIBUTE_FILTER oder TEXT_SEARCH
attributePaths[String]For ATTRIBUTE_FILTERListe der Attributpfade, in denen gesucht wird
languageStringFor TEXT_SEARCHSprachcode für die Volltextsuche

Enum Types​

FilterOperator​

ValueDescription
EQUALSExakte Übereinstimmung zwischen Feldwert und Vergleichswert
NOT_EQUALSFeldwert ist ungleich dem Vergleichswert
LESS_THANNumerischer Feldwert ist kleiner als der Vergleichswert
LESS_EQUAL_THANNumerischer Feldwert ist kleiner oder gleich dem Vergleichswert
GREATER_THANNumerischer Feldwert ist größer als der Vergleichswert
GREATER_EQUAL_THANNumerischer Feldwert ist größer oder gleich dem Vergleichswert
INFeldwert ist einer der Werte im Vergleichs-Array
NOT_INFeldwert ist keiner der Werte im Vergleichs-Array
LIKEWildcard-Übereinstimmung mit * (z. B. *demo*)
MATCH_REG_EXÜbereinstimmung mit regulärem Ausdruck (z. B. ^demo$)
ANY_EQFür Array-Felder: ein beliebiges Element entspricht dem Vergleichswert

SortOrder​

ValueDescription
ASCENDINGSortierung A-Z, 0-9
DESCENDINGSortierung Z-A, 9-0
DEFAULTStandardreihenfolge der Datenbank

GraphDirection​

Wird für Assoziationsabfragen verwendet. Siehe Retrieve für Anwendungsbeispiele.

ValueDescription
ANYSowohl eingehende als auch ausgehende Assoziationen
INBOUNDEingehende Assoziationen (Ziel zu Quelle)
OUTBOUNDAusgehende Assoziationen (Quelle zu Ziel)

SearchFilterType​

ValueDescription
ATTRIBUTE_FILTERWildcard-Suche in angegebenen Attributpfaden
TEXT_SEARCHVolltextsuche über den Text-Index der Datenbank