Zum Hauptinhalt springen

Models

Modelle sind Container, die zusammengehörige Types, Attribute, Enums und Records gruppieren. Jedes Modell hat einen Namen, eine Version und kann von anderen Modellen abhängen.

Modelle auflisten​

Alle verfügbaren Modelle abrufen:

query getCkModels($after: String, $first: Int) {
constructionKit {
models(after: $after, first: $first) {
totalCount
items {
id {
name
version
fullName
semanticVersionedFullName
}
modelState
dependencies {
fullName
}
}
}
}
}

Antwort​

{
"data": {
"constructionKit": {
"models": {
"totalCount": 5,
"items": [
{
"id": {
"name": "Industry.Energy",
"version": 1,
"fullName": "Industry.Energy-1",
"semanticVersionedFullName": "Industry.Energy"
},
"modelState": "AVAILABLE",
"dependencies": [
{
"fullName": "Basic-1"
}
]
}
]
}
}
}
}

Nach Modell-ID filtern​

Ein bestimmtes Modell anhand seiner ID abrufen:

query {
constructionKit {
models(ckId: "Industry.Energy-1") {
items {
id {
name
version
fullName
}
modelState
dependencies {
fullName
}
}
}
}
}

Nach Modellzustand filtern​

Nur verfügbare Modelle abrufen:

query {
constructionKit {
models(
fieldFilter: [
{ attributePath: "modelState", operator: EQUALS, comparisonValue: "AVAILABLE" }
]
) {
items {
id {
fullName
}
modelState
}
}
}
}

Modell-Details​

Detaillierte Informationen über ein Modell einschließlich seiner Types, Attribute und Enums abrufen:

query getCkModelDetails($model: SimpleScalar!) {
constructionKit {
models(
fieldFilter: [
{ attributePath: "modelState", operator: EQUALS, comparisonValue: "AVAILABLE" }
{ attributePath: "modelId", operator: EQUALS, comparisonValue: $model }
]
) {
items {
id {
name
version
fullName
semanticVersionedFullName
}
modelState
types {
totalCount
items {
ckTypeId {
fullName
semanticVersionedFullName
}
}
}
attributes {
totalCount
items {
ckAttributeId {
fullName
semanticVersionedFullName
}
}
}
enums {
totalCount
items {
ckEnumId {
fullName
semanticVersionedFullName
}
}
}
records {
totalCount
items {
ckRecordId {
fullName
semanticVersionedFullName
}
}
}
dependencies {
fullName
}
}
}
}
}

Variablen:

{
"model": "Industry.Energy-1"
}

Antwort​

{
"data": {
"constructionKit": {
"models": {
"items": [
{
"id": {
"name": "Industry.Energy",
"version": 1,
"fullName": "Industry.Energy-1",
"semanticVersionedFullName": "Industry.Energy"
},
"modelState": "AVAILABLE",
"types": {
"totalCount": 3,
"items": [
{ "ckTypeId": { "fullName": "Industry.Energy-1.0.0/EnergyMeter-1", "semanticVersionedFullName": "Industry.Energy/EnergyMeter" } },
{ "ckTypeId": { "fullName": "Industry.Energy-1.0.0/PowerPlant-1", "semanticVersionedFullName": "Industry.Energy/PowerPlant" } }
]
},
"attributes": {
"totalCount": 5,
"items": [
{ "ckAttributeId": { "fullName": "Industry.Energy-1.0.0/Voltage-1", "semanticVersionedFullName": "Industry.Energy/Voltage" } }
]
},
"enums": {
"totalCount": 2,
"items": [
{ "ckEnumId": { "fullName": "Industry.Energy-1.0.0/EnergyMeterState-1", "semanticVersionedFullName": "Industry.Energy/EnergyMeterState" } }
]
},
"records": {
"totalCount": 0,
"items": []
},
"dependencies": [
{ "fullName": "Basic-1" }
]
}
]
}
}
}
}

Modell-Felder​

CkModelId​

FeldTypBeschreibung
nameStringDer Modellname (z. B. Industry.Energy)
versionIntDie Modellversionsnummer
fullNameStringKombinierter Name und Version (z. B. Industry.Energy-1)
semanticVersionedFullNameStringSemantischer Name ohne Version (z. B. Industry.Energy)

Model​

FeldTypBeschreibung
idCkModelIdDer Modellbezeichner
modelStateModelStateAktueller Zustand des Modells
dependencies[CkModelId]Modelle, von denen dieses Modell abhängt
typesCkTypeConnectionIn diesem Modell definierte Types
attributesCkAttributeConnectionIn diesem Modell definierte Attribute
enumsCkEnumConnectionIn diesem Modell definierte Enums
recordsCkRecordConnectionIn diesem Modell definierte Records

ModelState​

WertBeschreibung
AVAILABLEModell ist aktiv und kann verwendet werden
IMPORTINGModell wird derzeit importiert
RESOLVE_FAILEDModellabhängigkeiten können nicht aufgelöst werden, daher ist das Modell deaktiviert.