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
| Feld | Typ | Beschreibung |
|---|---|---|
name | String | Der Modellname (z. B. Industry.Energy) |
version | Int | Die Modellversionsnummer |
fullName | String | Kombinierter Name und Version (z. B. Industry.Energy-1) |
semanticVersionedFullName | String | Semantischer Name ohne Version (z. B. Industry.Energy) |
Model
| Feld | Typ | Beschreibung |
|---|---|---|
id | CkModelId | Der Modellbezeichner |
modelState | ModelState | Aktueller Zustand des Modells |
dependencies | [CkModelId] | Modelle, von denen dieses Modell abhängt |
types | CkTypeConnection | In diesem Modell definierte Types |
attributes | CkAttributeConnection | In diesem Modell definierte Attribute |
enums | CkEnumConnection | In diesem Modell definierte Enums |
records | CkRecordConnection | In diesem Modell definierte Records |
ModelState
| Wert | Beschreibung |
|---|---|
AVAILABLE | Modell ist aktiv und kann verwendet werden |
IMPORTING | Modell wird derzeit importiert |
RESOLVE_FAILED | Modellabhängigkeiten können nicht aufgelöst werden, daher ist das Modell deaktiviert. |