From 47738f4f2a8617153592635beaf32ec6da7899d2 Mon Sep 17 00:00:00 2001 From: Anders Albert <60234212+doctrino@users.noreply.github.com> Date: Mon, 6 Jan 2025 16:24:29 +0100 Subject: [PATCH] =?UTF-8?q?[NEAT-666]=20=F0=9F=98=88Mapping=20include=20co?= =?UTF-8?q?nnections=20(#876)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: enums * build; freeze mistune * linting * feat: support reading url * refactor: catch_issues return issues * refactor; removed unused parameters * refactor; remove unused * refactor; moved logic out of NeatSession * tests: updated test * fix: DMS import bug * build: changelog * refactor; simplification * refactor; proper error * refactor; do not require you need to see resource * fix: introduced bug * tests: stipulate test * Linting and static code checks * refactor; renaming * tests: fix test * refactor; reset * build: changelog entry * style: fix typo * fix: writing model to zip * refactor: update cognite-core * fix: bug in DMSImporter * refactor: removed unused * refactor; introduced subclasses * refactor: split out enterprise * refactor; split out solution * refactor; split out data-product * fix: adjustment * refactor; cleanup ToExtension * refactor: combine init param * refactor; move out * fix; introduced bug * refactor: reduce lines * refactor; clean up ToSolutionModel * refactor cleanup data product * build: changelog * refactor: drop neat id from columns * fix: drop neatId * refactor; increase flexibility of data product * tests: extending to mock client * refactor: inherit filter * tests: extending test and fixing bug * tests: regen * tests: refactor * tests; extend test to include data product * build: changelog * fix: ensure valid model * build: changelog * tests: regen * tests: updated * feat; automatically include path and root when mapping to asset parent * refactor: regen * Ãrefactor; added readonly properties * fix: skip readonly properties * fix; proper implementation * build; changelog * test: regen * refactor: review feedback * build: upgrade toolkit to 0.3.23 * build: upgrade modules * build: upgrade to toolkit 0.3 * build: added missin acl\ * docs; document the to solution model parameters * refactor; switch to container filter * fix: deterministic * tests: regen * tests: regen * tests: regen * build: changelog * feat; first draft connection to literal * build: changelog * tests: include in test * tests: regen * tests: added missing step * test: regen * fix: typo * tests: extending wind farm with sequence rows * refactor; update test data * feat: introduced neat sequence * feat: factory method * feat: first pass of updating extractor * tests: updated test data * refactor; update example * feat: implemented unpacking * refactor: column as list * tests: updated test * fix: keep order * Ãdocs; document new * build: changelog * refactor: move out special handling to sequence extractor * refactor: introduce extra parameter * tests: extend test * tests: as write instead * feat; implemented unpacking of sequences * refactor: finish implementation * tests: include sequence in classic to dms test * refactor: renaming * refactor: added connections to classic core mapping * refactor; update excel to yaml script * refactor; regen yaml file * Ãrefactor: update rules mapper to include new properties * fix: skip suffixing in transformation * fix: updating enums * refactor; regen * refacotor added dummy property * fix: include GUID container * tests: regen * tests: updated test case * build: changelog --------- Co-authored-by: doctrino --- .../_rules/models/mapping/_classic2core.yaml | 277 +++- .../neat/_rules/transformers/_converters.py | 1 - cognite/neat/_rules/transformers/_mapping.py | 152 ++- docs/CHANGELOG.md | 6 +- scripts/core_classic_mapping.xlsx | Bin 15701 -> 17891 bytes scripts/create_classic_core_mapping_yaml.py | 44 +- .../test_session/test_graph_flow.py | 2 - .../test_graph_flow/test_classic_to_dms.yml | 1140 +++++++++++++---- .../rules/test_transformers/test_mapping.py | 2 - 9 files changed, 1196 insertions(+), 428 deletions(-) diff --git a/cognite/neat/_rules/models/mapping/_classic2core.yaml b/cognite/neat/_rules/models/mapping/_classic2core.yaml index 977a83d99..4acd32482 100644 --- a/cognite/neat/_rules/models/mapping/_classic2core.yaml +++ b/cognite/neat/_rules/models/mapping/_classic2core.yaml @@ -1,13 +1,17 @@ +containers: +- container: ClassicEquipment + neatId: http://purl.org/cognite/neat/neatId_bb7e4121_bc17_46c7_a93d_c855f710ccbe + used_for: node enum: - collection: timeseriesType description: Time series with double floating point data points. name: numeric - neatId: http://purl.org/cognite/neat/neatId_d4e42064_7c60_4bfc_b629_a873345f0ee2 + neatId: http://purl.org/cognite/neat/neatId_797b05f5_c67d_4aed_a40b_6a6042f16321 value: numeric - collection: timeseriesType description: Time series with string data points. name: string - neatId: http://purl.org/cognite/neat/neatId_8bb46fae_572d_464a_bc61_1055b0aa6c5d + neatId: http://purl.org/cognite/neat/neatId_97f686d4_c02a_460e_991a_e7fd109c7c01 value: string metadata: created: '2024-08-29T13:49:56.696000' @@ -20,22 +24,54 @@ metadata: updated: '2024-08-29T13:49:56.696000' version: v1.0 properties: +- connection: reverse(property=assets) + description: An automatically updated list of activities related to the asset. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9058e127_cdfa_45ae_a6c0_fcdb199264e1 + value_type: ClassicEvent + view: ClassicAsset + view_property: activities +- connection: reverse(property=parent) + description: An automatically updated list of assets with this asset as their parent. + is_list: true + name: Children + neatId: http://purl.org/cognite/neat/neatId_127f7603_6370_469a_a31f_f40e92697fb6 + value_type: ClassicAsset + view: ClassicAsset + view_property: children - container: cdf_cdm:CogniteDescribable container_property: description description: Description of the instance immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_d887305d_af9d_4843_af6e_4115a7217d90 + neatId: http://purl.org/cognite/neat/neatId_c3275410_d533_4e82_9392_84a69571f3f0 nullable: true value_type: text view: ClassicAsset view_property: description +- connection: reverse(property=asset) + description: An automatically updated list of equipment related to the asset. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_de038f8e_9ed6_439b_84da_f85386607136 + value_type: ClassicEquipment + view: ClassicAsset + view_property: equipment +- connection: reverse(property=assets) + description: An automatically updated list of files related to the asset. + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_8d2a9b16_fd29_4cde_9578_7038c13dabd4 + value_type: ClassicFile + view: ClassicAsset + view_property: files - container: cdf_cdm:CogniteDescribable container_property: tags description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_105a0fee_3942_4a6b_9d25_74d46d09c209 + neatId: http://purl.org/cognite/neat/neatId_b11b5446_1b50_47f3_bc42_7f8abef437fe nullable: true value_type: text view: ClassicAsset @@ -46,7 +82,7 @@ properties: immutable: false index: name is_list: false - neatId: http://purl.org/cognite/neat/neatId_9559ecd6_a585_4fb9_90b7_7301da5f2170 + neatId: http://purl.org/cognite/neat/neatId_bec8eafc_4c53_401b_98dc_57cdb98525ef nullable: true value_type: text view: ClassicAsset @@ -58,11 +94,36 @@ properties: immutable: false is_list: false name: Parent - neatId: http://purl.org/cognite/neat/neatId_fdc3280b_0d11_4e66_b2b5_8f37a398bed9 + neatId: http://purl.org/cognite/neat/neatId_53e67f4d_f847_4406_a20e_25d9e24fca86 nullable: true value_type: ClassicAsset view: ClassicAsset view_property: parentId +- connection: direct + container: cdf_cdm:CogniteAsset + container_property: assetHierarchy_path + description: An automatically updated ordered list of this asset's ancestors, starting + with the root asset. Enables subtree filtering to find all assets under a parent. + immutable: false + is_list: true + name: Path + neatId: http://purl.org/cognite/neat/neatId_97d45ff7_058b_40c0_8d34_5572564f19d3 + nullable: true + value_type: ClassicAsset + view: ClassicAsset + view_property: path +- connection: direct + container: cdf_cdm:CogniteAsset + container_property: assetHierarchy_root + description: An automatically updated reference to the top-level asset of the hierarchy. + immutable: false + is_list: false + name: Root + neatId: http://purl.org/cognite/neat/neatId_30ddc92c_4a30_4743_aff4_ed0270a39a21 + nullable: true + value_type: ClassicAsset + view: ClassicAsset + view_property: root - connection: direct container: cdf_cdm:CogniteSourceable container_property: source @@ -70,17 +131,86 @@ properties: immutable: false index: source is_list: false - neatId: http://purl.org/cognite/neat/neatId_247e5b5d_4caf_4312_bd5b_341ed3fc3a03 + neatId: http://purl.org/cognite/neat/neatId_2ae86694_8a5d_42ca_9f61_105379cbce73 nullable: true value_type: ClassicSourceSystem view: ClassicAsset view_property: source +- connection: reverse(property=assets) + description: An automatically updated list of time series related to the asset. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_a59ab1b1_c3d5_4f53_bf4d_473ab9e25b0e + value_type: ClassicTimeSeries + view: ClassicAsset + view_property: timeSeries +- connection: reverse(property=equipment) + description: An automatically updated list of activities related to the equipment. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9d2e445e_51eb_4abb_b4c8_dc67697d728e + value_type: ClassicEvent + view: ClassicEquipment + view_property: activities +- connection: direct + container: cdf_cdm:CogniteEquipment + container_property: asset + description: The asset the equipment is related to. + immutable: false + is_list: false + name: Asset + neatId: http://purl.org/cognite/neat/neatId_14907de8_b97f_4696_ac7c_65d87d969049 + nullable: true + value_type: ClassicAsset + view: ClassicEquipment + view_property: asset +- container: ClassicEquipment + container_property: classicEquipmentGUID + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_daffaf42_d75c_436f_beac_91199f70932f + nullable: true + value_type: text + view: ClassicEquipment + view_property: classicEquipmentGUID +- connection: direct + container: cdf_cdm:CogniteEquipment + container_property: files + description: A list of files the equipment relates to. + immutable: false + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_72cca8d9_9a0d_4e79_93c9_cef63b3d1889 + nullable: true + value_type: ClassicFile + view: ClassicEquipment + view_property: files +- connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_bd31051b_63c6_4226_8836_d9f3713afef3 + nullable: true + value_type: ClassicSourceSystem + view: ClassicEquipment + view_property: source +- connection: reverse(property=equipment) + description: An automatically updated list of time series related to the equipment. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_f94199fc_3523_450d_84d7_6ad0df10cc4f + value_type: ClassicTimeSeries + view: ClassicEquipment + view_property: timeSeries - container: cdf_cdm:CogniteDescribable container_property: aliases description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_7412eae6_e77c_41b7_92ca_737798f5844a + neatId: http://purl.org/cognite/neat/neatId_4dc1493d_2f7d_4c3e_8556_97b1c13ea6ab nullable: true value_type: text view: ClassicEvent @@ -92,7 +222,7 @@ properties: immutable: false is_list: true name: Assets - neatId: http://purl.org/cognite/neat/neatId_439538ba_610d_4300_a8cd_aa51dbbf5c1a + neatId: http://purl.org/cognite/neat/neatId_4ec2a68e_1030_403b_b107_c998880da468 nullable: true value_type: ClassicAsset view: ClassicEvent @@ -102,7 +232,7 @@ properties: description: Description of the instance immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_8ab69b21_b84e_4374_a2bd_6b7e6321f22d + neatId: http://purl.org/cognite/neat/neatId_8890ae4a_6429_4002_9cae_78c3e4f868f7 nullable: true value_type: text view: ClassicEvent @@ -113,17 +243,29 @@ properties: immutable: false index: endTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_fce69deb_af37_4c49_b1cf_caf569563ba7 + neatId: http://purl.org/cognite/neat/neatId_8ef52490_bcd6_45cf_92db_532fa19cac82 nullable: true value_type: timestamp view: ClassicEvent view_property: endTime +- connection: direct + container: cdf_cdm:CogniteActivity + container_property: equipment + description: A list of equipment the activity is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_b19b32c3_aa6e_43dc_a27d_c9f76a294b63 + nullable: true + value_type: ClassicEquipment + view: ClassicEvent + view_property: equipment - container: cdf_cdm:CogniteDescribable container_property: tags description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_0ed58b00_11ab_4774_9c66_d2eabc5f8f42 + neatId: http://purl.org/cognite/neat/neatId_0d4ee2f5_9f69_4bed_9425_1cfb3f67206c nullable: true value_type: text view: ClassicEvent @@ -135,7 +277,7 @@ properties: immutable: false index: source is_list: false - neatId: http://purl.org/cognite/neat/neatId_b0c7d726_6504_4189_896d_1b978d9ef5b2 + neatId: http://purl.org/cognite/neat/neatId_c5969c32_e96b_4c94_832f_5364b838fc2a nullable: true value_type: ClassicSourceSystem view: ClassicEvent @@ -146,11 +288,23 @@ properties: immutable: false index: startTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_2304763f_d0f3_4723_a4c5_2e879069195d + neatId: http://purl.org/cognite/neat/neatId_25111812_f05c_47f5_901e_f82ccc6ed099 nullable: true value_type: timestamp view: ClassicEvent view_property: startTime +- connection: direct + container: cdf_cdm:CogniteActivity + container_property: timeSeries + description: A list of time series the activity is related to. + immutable: false + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_8741da5d_97e2_4d68_8d0f_730f17042d9d + nullable: true + value_type: ClassicTimeSeries + view: ClassicEvent + view_property: timeSeries - connection: direct container: cdf_cdm:CogniteFile container_property: assets @@ -158,7 +312,7 @@ properties: immutable: false is_list: true name: Assets - neatId: http://purl.org/cognite/neat/neatId_77ec0da0_839b_4b52_9f64_35382213dac6 + neatId: http://purl.org/cognite/neat/neatId_49ac77e9_21fd_4987_9c85_48cc42fa6583 nullable: true value_type: ClassicAsset view: ClassicFile @@ -170,17 +324,25 @@ properties: immutable: false is_list: false name: Directory - neatId: http://purl.org/cognite/neat/neatId_f06ff883_4f00_4a5d_b9c3_83664b62b573 + neatId: http://purl.org/cognite/neat/neatId_4076aa57_8d74_414c_bac8_0a358e471ecc nullable: true value_type: text view: ClassicFile view_property: directory +- connection: reverse(property=files) + description: An automatically updated list of equipment this file is related to. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_7810e930_e85f_4dbf_afc1_0cae559aa035 + value_type: ClassicEquipment + view: ClassicFile + view_property: equipment - container: cdf_cdm:CogniteDescribable container_property: tags description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_5d721016_c99e_4f73_8e9d_bdd27b4472c3 + neatId: http://purl.org/cognite/neat/neatId_637da076_d2a6_41dc_b0f3_e8800f17ba5f nullable: true value_type: text view: ClassicFile @@ -191,7 +353,7 @@ properties: immutable: false is_list: false name: MIME type - neatId: http://purl.org/cognite/neat/neatId_d65bd20a_bcb9_4243_b3e9_06188378c4cc + neatId: http://purl.org/cognite/neat/neatId_ce1d8507_aec7_4189_922d_8084909ecd71 nullable: true value_type: text view: ClassicFile @@ -202,7 +364,7 @@ properties: immutable: false index: name is_list: false - neatId: http://purl.org/cognite/neat/neatId_793d1480_2fba_4dde_8325_c11ef7e57de5 + neatId: http://purl.org/cognite/neat/neatId_7f766b8e_dd9a_41b5_a989_12607e27c4ba nullable: true value_type: text view: ClassicFile @@ -214,7 +376,7 @@ properties: immutable: false index: source is_list: false - neatId: http://purl.org/cognite/neat/neatId_87aa809b_a7cc_4136_885c_276844ed6b38 + neatId: http://purl.org/cognite/neat/neatId_050092ac_080f_46e8_bdf9_7dfa61158191 nullable: true value_type: ClassicSourceSystem view: ClassicFile @@ -225,7 +387,7 @@ properties: immutable: false index: sourceCreatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_26b7346d_3d5f_43a5_894e_96707e89227c + neatId: http://purl.org/cognite/neat/neatId_16fa6dbb_58a3_481d_9bfb_48940cd34d5a nullable: true value_type: timestamp view: ClassicFile @@ -236,7 +398,7 @@ properties: immutable: false index: sourceUpdatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_4b6be7c8_8b26_4f11_9ad5_283123a54c91 + neatId: http://purl.org/cognite/neat/neatId_9d626527_9cf4_4df9_b82a_c71aa7ebe4cb nullable: true value_type: timestamp view: ClassicFile @@ -245,11 +407,20 @@ properties: container_property: name immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_7d7c614a_43ea_4fc2_abb0_3f3fdddaa239 + neatId: http://purl.org/cognite/neat/neatId_77d10af9_1638_4800_9a8f_0e31c7fd4c16 nullable: true value_type: text view: ClassicSourceSystem view_property: name +- connection: reverse(property=timeSeries) + description: An automatically updated list of activities the time series is related + to. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_4dd4937e_8c18_42ae_a03e_ac6df70f3159 + value_type: ClassicEvent + view: ClassicTimeSeries + view_property: activities - connection: direct container: cdf_cdm:CogniteTimeSeries container_property: assets @@ -257,7 +428,7 @@ properties: immutable: false is_list: true name: Assets - neatId: http://purl.org/cognite/neat/neatId_bc4e12b0_82bd_4859_995d_d219181f9b52 + neatId: http://purl.org/cognite/neat/neatId_78d5fc39_8487_45d8_a118_b3519f944ead nullable: true value_type: ClassicAsset view: ClassicTimeSeries @@ -267,11 +438,23 @@ properties: description: Description of the instance immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_73372a76_aa52_47c1_bdae_34bfbd80f572 + neatId: http://purl.org/cognite/neat/neatId_421f69b9_460d_4bce_ae79_efc233eb6a7a nullable: true value_type: text view: ClassicTimeSeries view_property: description +- connection: direct + container: cdf_cdm:CogniteTimeSeries + container_property: equipment + description: A list of equipment the time series is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_786d14cf_cf7d_4859_92a7_51bf19b557e0 + nullable: true + value_type: ClassicEquipment + view: ClassicTimeSeries + view_property: equipment - container: cdf_cdm:CogniteTimeSeries container_property: isStep default: 0 @@ -279,7 +462,7 @@ properties: immutable: false is_list: false name: Is step - neatId: http://purl.org/cognite/neat/neatId_cfa476ae_125b_4e6a_8caf_152f44095037 + neatId: http://purl.org/cognite/neat/neatId_3c04c07d_15e9_4ef2_95cd_89410215513a nullable: false value_type: boolean view: ClassicTimeSeries @@ -290,7 +473,7 @@ properties: immutable: true is_list: false name: Type - neatId: http://purl.org/cognite/neat/neatId_7943437b_6138_47e6_889a_f414280df48e + neatId: http://purl.org/cognite/neat/neatId_82015271_2d18_4d19_a4f4_ab74f0c2ef1b nullable: false value_type: enum(collection=timeseriesType) view: ClassicTimeSeries @@ -300,7 +483,7 @@ properties: description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_15cfc454_8fc0_443b_8af6_9db5368d6fd4 + neatId: http://purl.org/cognite/neat/neatId_5848e41f_1b5c_401a_ab59_72822e0dcc70 nullable: true value_type: text view: ClassicTimeSeries @@ -311,7 +494,7 @@ properties: immutable: false index: name is_list: false - neatId: http://purl.org/cognite/neat/neatId_01370dd7_3371_40a1_b4eb_ddfcbbac63c8 + neatId: http://purl.org/cognite/neat/neatId_38c55983_af5b_4f62_ac62_8c788c12009e nullable: true value_type: text view: ClassicTimeSeries @@ -321,18 +504,30 @@ properties: description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_d7e122ee_421a_490f_9bec_b0f9f5ececfd + neatId: http://purl.org/cognite/neat/neatId_b30b7973_0a45_412e_a1e6_2f791ae37ae4 nullable: true value_type: text view: ClassicTimeSeries view_property: securityCategories +- connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_9fb95a34_b79b_490f_8362_fc8009874b01 + nullable: true + value_type: ClassicSourceSystem + view: ClassicTimeSeries + view_property: source - container: cdf_cdm:CogniteTimeSeries container_property: sourceUnit description: The unit specified in the source system. immutable: false is_list: false name: Source unit - neatId: http://purl.org/cognite/neat/neatId_3bfc11e0_9d27_47ea_841e_de1e4363dbed + neatId: http://purl.org/cognite/neat/neatId_7abfaf90_2178_4e02_8b2f_95bb221d7a30 nullable: true value_type: text view: ClassicTimeSeries @@ -344,7 +539,7 @@ properties: immutable: false is_list: false name: Unit - neatId: http://purl.org/cognite/neat/neatId_33b75362_e127_4a5a_9690_2df55501250c + neatId: http://purl.org/cognite/neat/neatId_650ad782_a303_4c06_b700_16ba3d1c695b nullable: true value_type: cdf_cdm:CogniteUnit(version=v1) view: ClassicTimeSeries @@ -353,37 +548,43 @@ views: - description: Represents a single unit of measurement implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_f3397b4c_b6e0_4701_8ea3_7edbf72bf50d + neatId: http://purl.org/cognite/neat/neatId_9be483e1_8313_4558_b7df_0268a58a6bc8 view: cdf_cdm:CogniteUnit(version=v1) - description: Assets represent systems that support industrial functions or processes. Assets are often called 'functional location'. implements: cdf_cdm:CogniteAsset(version=v1) in_model: true name: Asset - neatId: http://purl.org/cognite/neat/neatId_23380192_0c8a_4870_9684_cb91e5e5d67d + neatId: http://purl.org/cognite/neat/neatId_be2316ba_03ce_4f6a_9ee3_30c94dcb15ad view: ClassicAsset +- description: Equipment represents physical supplies or devices. + implements: cdf_cdm:CogniteEquipment(version=v1) + in_model: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_0e02efdf_7279_49e7_a027_a77002e69134 + view: ClassicEquipment - description: Represents activities. Activities typically happen over a period and have a start and end time. implements: cdf_cdm:CogniteActivity(version=v1) in_model: true name: Activity - neatId: http://purl.org/cognite/neat/neatId_3c0bda0e_9af0_4c75_9f1c_d76a6eae2e44 + neatId: http://purl.org/cognite/neat/neatId_539c7bd5_adb5_466a_909d_607ed7a3cd5c view: ClassicEvent - description: Represents files. implements: cdf_cdm:CogniteFile(version=v1) in_model: true name: File - neatId: http://purl.org/cognite/neat/neatId_4a92bfcc_a259_4ec6_b58b_bdb386ba9ce2 + neatId: http://purl.org/cognite/neat/neatId_3f7a661f_5b2b_4a4c_9ae8_e443d8c0ee1c view: ClassicFile - description: The CogniteSourceSystem core concept is used to standardize the way source system is stored. implements: cdf_cdm:CogniteSourceSystem(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_280264e2_a809_4feb_81e3_454adc00fdde + neatId: http://purl.org/cognite/neat/neatId_53b8b70c_eb54_4b92_9d9d_d77722badea0 view: ClassicSourceSystem - description: Represents a series of data points in time order. implements: cdf_cdm:CogniteTimeSeries(version=v1) in_model: true name: Time series - neatId: http://purl.org/cognite/neat/neatId_0730d4f7_51ce_40de_a8af_b9efff498b06 + neatId: http://purl.org/cognite/neat/neatId_a5f93a7e_9e4a_4229_92bc_ef8e372d86a2 view: ClassicTimeSeries diff --git a/cognite/neat/_rules/transformers/_converters.py b/cognite/neat/_rules/transformers/_converters.py index 2b1d49824..8e9e88186 100644 --- a/cognite/neat/_rules/transformers/_converters.py +++ b/cognite/neat/_rules/transformers/_converters.py @@ -801,7 +801,6 @@ def transform(self, rules: InformationRules) -> InformationRules: for class_ in output.classes: if class_.class_.suffix.endswith(self.suffix): class_.implements = [ClassEntity(prefix=class_.class_.prefix, suffix=self.implements)] - output.metadata.version = f"{output.metadata.version}.implements_{self.implements}" return output @property diff --git a/cognite/neat/_rules/transformers/_mapping.py b/cognite/neat/_rules/transformers/_mapping.py index b828cbd4f..e74d16cb4 100644 --- a/cognite/neat/_rules/transformers/_mapping.py +++ b/cognite/neat/_rules/transformers/_mapping.py @@ -1,19 +1,17 @@ import warnings from abc import ABC from collections import defaultdict -from functools import cached_property from typing import Any, ClassVar, Literal from cognite.client import data_modeling as dm from cognite.neat._client import NeatClient -from cognite.neat._constants import get_asset_read_only_properties_with_connection from cognite.neat._issues.errors import CDFMissingClientError, NeatValueError, ResourceNotFoundError -from cognite.neat._issues.warnings import NeatValueWarning, PropertyOverwritingWarning +from cognite.neat._issues.warnings import PropertyOverwritingWarning from cognite.neat._rules.models import DMSRules, SheetList from cognite.neat._rules.models.data_types import Enum -from cognite.neat._rules.models.dms import DMSEnum, DMSProperty, DMSView -from cognite.neat._rules.models.entities import ContainerEntity, ViewEntity +from cognite.neat._rules.models.dms import DMSContainer, DMSEnum, DMSProperty +from cognite.neat._rules.models.entities import ClassEntity, ContainerEntity, ViewEntity from ._base import RulesTransformer @@ -105,11 +103,12 @@ def transform(self, rules: DMSRules) -> DMSRules: class RuleMapper(RulesTransformer[DMSRules, DMSRules]): """Maps properties and classes using the given mapping. - **Note**: This transformer mutates the input rules. - Args: - mapping: The mapping to use. - + mapping: The mapping to use represented as a DMSRules object. + data_type_conflict: How to handle data type conflicts. The default is "overwrite". + A data type conflicts occurs when the data type of a property in the mapping is different from the + data type of the property in the input rules. If "overwrite" the data type in the input rules is overwritten + with the data type in the mapping. """ _mapping_fields: ClassVar[frozenset[str]] = frozenset( @@ -120,86 +119,83 @@ def __init__(self, mapping: DMSRules, data_type_conflict: Literal["overwrite"] = self.mapping = mapping self.data_type_conflict = data_type_conflict - @cached_property - def _view_by_entity_id(self) -> dict[str, DMSView]: - return {view.view.external_id: view for view in self.mapping.views} - - @cached_property - def _property_by_view_property(self) -> dict[tuple[str, str], DMSProperty]: - return {(prop.view.external_id, prop.view_property): prop for prop in self.mapping.properties} - def transform(self, rules: DMSRules) -> DMSRules: if self.data_type_conflict != "overwrite": raise NeatValueError(f"Invalid data_type_conflict: {self.data_type_conflict}") input_rules = rules new_rules = input_rules.model_copy(deep=True) - for view in new_rules.views: - if mapping_view := self._view_by_entity_id.get(view.view.external_id): - view.implements = mapping_view.implements + views_by_external_id = {view.view.external_id: view for view in new_rules.views} + new_views: set[ViewEntity] = set() + for mapping_view in self.mapping.views: + if existing_view := views_by_external_id.get(mapping_view.view.external_id): + existing_view.implements = mapping_view.implements + else: + # We need to add all the views in the mapping that are not in the input rules. + # This is to ensure that all ValueTypes are present in the resulting rules. + # For example, if a property is a direct relation to an Equipment view, we need to add + # the Equipment view to the rules. + new_rules.views.append(mapping_view) + new_views.add(mapping_view.view) - # This is a special case, if this property is in the mapping, we want ot automatically add the path and parent - # properties to the view. - asset_parent_property = ContainerEntity(space="cdf_cdm", externalId="CogniteAsset"), "assetHierarchy_parent" - read_only_properties: list[DMSProperty] = [] - for prop in new_rules.properties: - key = (prop.view.external_id, prop.view_property) - if key not in self._property_by_view_property: - continue - mapping_prop = self._property_by_view_property[key] - to_overwrite, conflicts = self._find_overwrites(prop, mapping_prop) - if conflicts and self.data_type_conflict == "overwrite": - warnings.warn( - PropertyOverwritingWarning(prop.view.as_id(), "view", prop.view_property, tuple(conflicts)), - stacklevel=2, - ) - elif conflicts: - raise NeatValueError(f"Conflicting properties for {prop.view}.{prop.view_property}: {conflicts}") - - for field_name, value in to_overwrite.items(): - setattr(prop, field_name, value) - prop.container = mapping_prop.container - prop.container_property = mapping_prop.container_property - - if (prop.container, prop.container_property) == asset_parent_property: - # Add the read-only properties to the view. - # Note we have to do this after the current loop as we are iterating over the properties and - # thus we cannot modify the list. - for read_only_prop in get_asset_read_only_properties_with_connection(): - # The value type of path and root will always be the same as the parent property. - new_read_only_prop = read_only_prop.model_copy( - update={"view": prop.view, "value_type": prop.value_type} + properties_by_view_property = { + (prop.view.external_id, prop.view_property): prop for prop in new_rules.properties + } + existing_enum_collections = {item.collection for item in new_rules.enum or []} + mapping_enums_by_collection: dict[ClassEntity, list[DMSEnum]] = defaultdict(list) + for item in self.mapping.enum or []: + mapping_enums_by_collection[item.collection].append(item) + existing_containers = {container.container for container in new_rules.containers or []} + mapping_containers_by_id = {container.container: container for container in self.mapping.containers or []} + for mapping_prop in self.mapping.properties: + if existing_prop := properties_by_view_property.get( + (mapping_prop.view.external_id, mapping_prop.view_property) + ): + to_overwrite, conflicts = self._find_overwrites(existing_prop, mapping_prop) + if conflicts and self.data_type_conflict == "overwrite": + warnings.warn( + PropertyOverwritingWarning( + existing_prop.view.as_id(), "view", existing_prop.view_property, tuple(conflicts) + ), + stacklevel=2, + ) + elif conflicts: + raise NeatValueError( + f"Conflicting properties for {existing_prop.view}.{existing_prop.view_property}: {conflicts}" ) - read_only_properties.append(new_read_only_prop) - - if read_only_properties: - new_rules.properties.extend(read_only_properties) - # Add missing views used as value types - existing_views = {view.view for view in new_rules.views} - new_value_types = { - prop.value_type - for prop in new_rules.properties - if isinstance(prop.value_type, ViewEntity) and prop.value_type not in existing_views - } - for new_value_type in new_value_types: - if mapping_view := self._view_by_entity_id.get(new_value_type.external_id): - new_rules.views.append(mapping_view) + for field_name, value in to_overwrite.items(): + setattr(existing_prop, field_name, value) + existing_prop.container = mapping_prop.container + existing_prop.container_property = mapping_prop.container_property + elif isinstance(mapping_prop.value_type, ViewEntity): + # All connections must be included in the rules. This is to update the + # ValueTypes of the implemented views. + new_rules.properties.append(mapping_prop) + elif mapping_prop.view in new_views: + # All properties of new views are included. Main motivation is GUIDs properties + new_rules.properties.append(mapping_prop) else: - warnings.warn(NeatValueWarning(f"View {new_value_type} not found in mapping"), stacklevel=2) + # Skipping mapped properties that are not in the input rules. + continue - # Add missing enums - existing_enum_collections = {item.collection for item in new_rules.enum or []} - new_enums = { - prop.value_type.collection - for prop in new_rules.properties - if isinstance(prop.value_type, Enum) and prop.value_type.collection not in existing_enum_collections - } - if new_enums: - new_rules.enum = new_rules.enum or SheetList[DMSEnum]([]) - for item in self.mapping.enum or []: - if item.collection in new_enums: - new_rules.enum.append(item) + if ( + isinstance(mapping_prop.value_type, Enum) + and mapping_prop.value_type.collection not in existing_enum_collections + ): + if not new_rules.enum: + new_rules.enum = SheetList[DMSEnum]([]) + new_rules.enum.extend(mapping_enums_by_collection[mapping_prop.value_type.collection]) + + if ( + mapping_prop.container + and mapping_prop.container not in existing_containers + and (new_container := mapping_containers_by_id.get(mapping_prop.container)) + ): + # Mapping can include new containers for GUID properties + if not new_rules.containers: + new_rules.containers = SheetList[DMSContainer]([]) + new_rules.containers.append(new_container) return new_rules diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f6aa91069..f3a25d48c 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -35,11 +35,13 @@ Changes are grouped as follows: values types that are not part of the data model. This ensures that the data model is self-contained. This is solved by dropping all properties that have a value type that is not part of the data model. - The `neat.to.cdf.instances(...)` now correctly ignores read-only properties when creating instances in CDF. -- The `neat.mapping.data_model.classic_to_core(...)` now automatically includes the `path`and `root` properties - when mapping to `CogniteAsset` - Reading sequences from CDF using `read.cdf.classic.graph(...)` now includes `rows`. In addition, the `columns` are now created as a list and not a blob. +### Changed +- The `neat.mapping.data_model.classic_to_core(...)` now includes all connection properties from the view that + it is implementing. + ## [0.104.0] - 20-12-**2024** ### Improved - When using a `NeatSession` object in a notebook. The return issues now has context for what actions they diff --git a/scripts/core_classic_mapping.xlsx b/scripts/core_classic_mapping.xlsx index a214501920dda52e74a6c6f6e3f902ca1dd4ca93..7311ca33fadb7af7bc0985daa10c610ea58a7aa9 100644 GIT binary patch delta 11322 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 diff --git a/scripts/create_classic_core_mapping_yaml.py b/scripts/create_classic_core_mapping_yaml.py index c4d78fb63..9fed00d9b 100644 --- a/scripts/create_classic_core_mapping_yaml.py +++ b/scripts/create_classic_core_mapping_yaml.py @@ -1,53 +1,25 @@ -from datetime import datetime, timezone - -from cognite.neat import NeatSession, get_cognite_client from pathlib import Path from rich import print +from cognite.neat._rules.exporters import YAMLExporter +from cognite.neat._rules.importers import ExcelImporter from cognite.neat._rules.transformers import VerifyDMSRules -from cognite.neat._store._provenance import Change THIS_FOLDER = Path(__file__).resolve().parent - XLSX_FILE = THIS_FOLDER / "core_classic_mapping.xlsx" - TARGET_FILE = THIS_FOLDER.parent / "cognite" / "neat" / "_rules" / "models" / "mapping" / "_classic2core.yaml" -def main() -> None: - client = get_cognite_client(".env") - neat = NeatSession(client) - issues = neat.read.excel(XLSX_FILE) - if issues.has_errors: - neat.inspect.issues() - return +def main() -> None: + read_rules = ExcelImporter(XLSX_FILE).to_rules() print(f"[bold green]Read {XLSX_FILE.name}[/bold green]") - # Redoing the .verify to skip the validation step. - start = datetime.now(timezone.utc) - transformer = VerifyDMSRules("continue", validate=False) - source_id, last_unverified_rule = neat._state.data_model.last_unverified_rule - result = transformer.transform(last_unverified_rule) - end = datetime.now(timezone.utc) - issues = result.issues - if issues.has_errors: - neat.inspect.issues() - return + dms_rules = VerifyDMSRules(validate=False).transform(read_rules) print("[bold green]Verified[/bold green]") - # change = Change.from_rules_activity( - # result.rules, - # transformer.agent, - # start, - # end, - # f"Verified data model {source_id} as {result.rules.metadata.identifier}", - # neat._state.data_model.provenance.source_entity(source_id) - # or neat._state.data_model.provenance.target_entity(source_id), - # ) - # - # neat._state.data_model.write(result.rules, change) - - neat.to.yaml(TARGET_FILE, format="neat") + + YAMLExporter().export_to_file(dms_rules, TARGET_FILE) print(f"[bold green]Wrote {TARGET_FILE.name}[/bold green]") + if __name__ == "__main__": main() diff --git a/tests/tests_integration/test_session/test_graph_flow.py b/tests/tests_integration/test_session/test_graph_flow.py index 88e38251e..9ce827e87 100644 --- a/tests/tests_integration/test_session/test_graph_flow.py +++ b/tests/tests_integration/test_session/test_graph_flow.py @@ -45,7 +45,6 @@ def test_classic_to_dms(self, cognite_client: CogniteClient, data_regression: Da neat._state.instances.store.write(extractor) # Sequences is not yet supported - neat.drop.instances("Sequence") neat.prepare.instances.relationships_as_edges() neat.prepare.instances.convert_data_type( @@ -60,7 +59,6 @@ def test_classic_to_dms(self, cognite_client: CogniteClient, data_regression: Da rules = neat._state.rule_store.last_unverified_rule rules.metadata.created = "2024-09-19T00:00:00Z" rules.metadata.updated = "2024-09-19T00:00:00Z" - # Sorting the properties to ensure deterministic output rules.properties = sorted(rules.properties, key=lambda x: (x.class_, x.property_)) diff --git a/tests/tests_integration/test_session/test_graph_flow/test_classic_to_dms.yml b/tests/tests_integration/test_session/test_graph_flow/test_classic_to_dms.yml index f04a61814..ee93a47cc 100644 --- a/tests/tests_integration/test_session/test_graph_flow/test_classic_to_dms.yml +++ b/tests/tests_integration/test_session/test_graph_flow/test_classic_to_dms.yml @@ -3,40 +3,57 @@ data_product: - collection: timeseriesType description: Time series with double floating point data points. name: numeric - neatId: http://purl.org/cognite/neat/neatId_d4e42064_7c60_4bfc_b629_a873345f0ee2 + neatId: http://purl.org/cognite/neat/neatId_797b05f5_c67d_4aed_a40b_6a6042f16321 value: numeric - collection: timeseriesType description: Time series with string data points. name: string - neatId: http://purl.org/cognite/neat/neatId_8bb46fae_572d_464a_bc61_1055b0aa6c5d + neatId: http://purl.org/cognite/neat/neatId_97f686d4_c02a_460e_991a_e7fd109c7c01 value: string metadata: created: '2024-09-19T00:00:00Z' creator: NEAT external_id: DataProduct - logical: http://purl.org/cognite/neat/data-model/verified/logical/neat_space/NeatInferredDataModel/v1.implements_Edge + logical: http://purl.org/cognite/neat/data-model/verified/logical/neat_space/NeatInferredDataModel/v1 name: data_product data model role: DMS Architect space: sp_data_product updated: '2024-09-19T00:00:00Z' version: v1 properties: + - connection: reverse(property=assets) + description: An automatically updated list of activities related to the asset. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9058e127_cdfa_45ae_a6c0_fcdb199264e1 + value_type: ClassicEvent + view: ClassicAsset + view_property: activities - container: cdf_cdm:CogniteDescribable container_property: aliases description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_a075e927_5110_4492_b442_7e0b61484bb3 + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 nullable: true value_type: text view: ClassicAsset view_property: aliases + - connection: reverse(property=parent) + description: An automatically updated list of assets with this asset as their + parent. + is_list: true + name: Children + neatId: http://purl.org/cognite/neat/neatId_127f7603_6370_469a_a31f_f40e92697fb6 + value_type: ClassicAsset + view: ClassicAsset + view_property: children - connection: direct container: sp_windfarm:ClassicAsset container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_3eabedcb_baa8_4dd4_88bd_64072bcfbe01 - neatId: http://purl.org/cognite/neat/neatId_93829b43_922f_415a_a1e3_db63ef7ddc76 + neatId: http://purl.org/cognite/neat/neatId_ccf3a171_56dc_4907_ba6c_34ab6712303a nullable: true value_type: ClassicDataSet view: ClassicAsset @@ -46,16 +63,32 @@ data_product: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_451b4cf3_6123_4df7_b656_af7229d4beef - neatId: http://purl.org/cognite/neat/neatId_7914c120_c8dc_419f_be35_11287900f7f9 + neatId: http://purl.org/cognite/neat/neatId_310c0c00_3fa7_4104_9bf9_0e27dc96925e nullable: true value_type: text view: ClassicAsset view_property: description + - connection: reverse(property=asset) + description: An automatically updated list of equipment related to the asset. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_de038f8e_9ed6_439b_84da_f85386607136 + value_type: ClassicEquipment + view: ClassicAsset + view_property: equipment + - connection: reverse(property=assets) + description: An automatically updated list of files related to the asset. + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_8d2a9b16_fd29_4cde_9578_7038c13dabd4 + value_type: ClassicFile + view: ClassicAsset + view_property: files - container: sp_windfarm:ClassicAsset container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_5304317f_af42_412f_b838_b3268e944239 - neatId: http://purl.org/cognite/neat/neatId_5ab33edf_6e59_4ed3_a8b3_17fa18d0752b + neatId: http://purl.org/cognite/neat/neatId_766ecb15_474e_4c19_aef9_12766c006f61 nullable: true value_type: json view: ClassicAsset @@ -66,7 +99,7 @@ data_product: index: name is_list: false logical: http://purl.org/cognite/neat/neatId_0e51f30d_c6a7_4e39_84b0_32ccd7c524a5 - neatId: http://purl.org/cognite/neat/neatId_dd2467ac_778e_4db3_a93d_ffbc6c6fa611 + neatId: http://purl.org/cognite/neat/neatId_134c6c92_ec5b_427c_9fde_4fbf3ff350bf nullable: true value_type: text view: ClassicAsset @@ -77,7 +110,7 @@ data_product: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_ce177b4e_0837_48a3_9261_a7ab3aa2e4f9 - neatId: http://purl.org/cognite/neat/neatId_a748dbcf_ac61_4e63_8dde_29a6baa4b71a + neatId: http://purl.org/cognite/neat/neatId_db20a56e_dc81_4fe7_8eda_8bbb71710434 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -91,7 +124,7 @@ data_product: immutable: false is_list: true name: Path - neatId: http://purl.org/cognite/neat/neatId_0b49452d_46d4_43f3_9450_281c6c6f7633 + neatId: http://purl.org/cognite/neat/neatId_97d45ff7_058b_40c0_8d34_5572564f19d3 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -102,7 +135,7 @@ data_product: immutable: false is_list: false name: Path last updated time - neatId: http://purl.org/cognite/neat/neatId_7b85179a_d5b0_47e0_aa5d_932b45ff2c83 + neatId: http://purl.org/cognite/neat/neatId_de9e3757_5260_401e_aecf_67d2749176f4 nullable: true value_type: timestamp view: ClassicAsset @@ -110,7 +143,7 @@ data_product: - connection: edge(properties=ClassicAssetToAssetEdge) is_list: false logical: http://purl.org/cognite/neat/neatId_10f1bc81_448a_4a9e_a6b2_bc5b50c187fc - neatId: http://purl.org/cognite/neat/neatId_0f844fef_1931_49ee_a56c_0941fbf24050 + neatId: http://purl.org/cognite/neat/neatId_a6f2f7b8_0cf3_4b58_9910_8be58ce21ea3 value_type: ClassicAsset view: ClassicAsset view_property: relationshipAsset @@ -122,7 +155,7 @@ data_product: immutable: false is_list: false name: Root - neatId: http://purl.org/cognite/neat/neatId_a2607723_17a0_4f49_8d01_280fd89a40c0 + neatId: http://purl.org/cognite/neat/neatId_30ddc92c_4a30_4743_aff4_ed0270a39a21 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -134,7 +167,7 @@ data_product: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_9132b63e_f162_47e4_a9c3_49e03602f8ac - neatId: http://purl.org/cognite/neat/neatId_ccf3a171_56dc_4907_ba6c_34ab6712303a + neatId: http://purl.org/cognite/neat/neatId_03c72ba8_d605_4770_8a63_f881ffd0f9d5 nullable: true value_type: ClassicSourceSystem view: ClassicAsset @@ -145,7 +178,7 @@ data_product: unique, the sourceContext is expected to not be set. immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_c478f6f1_b88e_4318_816d_83edad81f8bd + neatId: http://purl.org/cognite/neat/neatId_77e490c7_1d7b_4313_8de2_2f1c56b60afc nullable: true value_type: text view: ClassicAsset @@ -156,7 +189,7 @@ data_product: immutable: false index: sourceCreatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_a0a11839_e745_4704_98df_bc3ca0d4de3d + neatId: http://purl.org/cognite/neat/neatId_ad238d36_dc32_4c97_b9c1_e262f76c8ede nullable: true value_type: timestamp view: ClassicAsset @@ -167,7 +200,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_5d678bb1_945e_42e4_888a_93ec70d9c9f8 + neatId: http://purl.org/cognite/neat/neatId_8eac0a33_cdf9_44a7_9882_b5c1f79efd70 nullable: true value_type: text view: ClassicAsset @@ -178,7 +211,7 @@ data_product: immutable: false index: sourceId is_list: false - neatId: http://purl.org/cognite/neat/neatId_402913ec_9ef2_493e_b0ac_7d7ba2f963a3 + neatId: http://purl.org/cognite/neat/neatId_ded255d0_bf1e_4366_8b8e_63d4ce7607ad nullable: true value_type: text view: ClassicAsset @@ -189,7 +222,7 @@ data_product: immutable: false index: sourceUpdatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_c9e26074_4f16_49a0_8a17_991ea5769411 + neatId: http://purl.org/cognite/neat/neatId_65bcc272_fadd_4ea3_aca5_e2fdb966442a nullable: true value_type: timestamp view: ClassicAsset @@ -200,7 +233,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_e8dd5e5a_1712_4b16_a1a4_344fbb7bee03 + neatId: http://purl.org/cognite/neat/neatId_6502d6a2_ca6a_4224_971e_16cc5da36f1b nullable: true value_type: text view: ClassicAsset @@ -210,17 +243,25 @@ data_product: immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_b02b61c4_a3d7_4628_ace6_6fa2fd5166e6 - neatId: http://purl.org/cognite/neat/neatId_1825bc54_30be_445f_a835_14f2ceb81f9d + neatId: http://purl.org/cognite/neat/neatId_23e2fcb4_72d8_467d_894a_05e430b187ef nullable: true value_type: text view: ClassicAsset view_property: tags + - connection: reverse(property=assets) + description: An automatically updated list of time series related to the asset. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_a59ab1b1_c3d5_4f53_bf4d_473ab9e25b0e + value_type: ClassicTimeSeries + view: ClassicAsset + view_property: timeSeries - connection: direct container: sp_windfarm:ClassicAssetToAssetEdge container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_366eb16f_508e_4ad7_b7c9_3acfe059a0ee - neatId: http://purl.org/cognite/neat/neatId_310c0c00_3fa7_4104_9bf9_0e27dc96925e + neatId: http://purl.org/cognite/neat/neatId_c0e9ab30_ed26_42e9_97e0_11b7f8102383 nullable: true value_type: ClassicDataSet view: ClassicAssetToAssetEdge @@ -229,7 +270,7 @@ data_product: container_property: labels is_list: false logical: http://purl.org/cognite/neat/neatId_24933b83_7577_40a9_a491_f0b2ea1fca65 - neatId: http://purl.org/cognite/neat/neatId_23e2fcb4_72d8_467d_894a_05e430b187ef + neatId: http://purl.org/cognite/neat/neatId_680ac07a_2a93_4d62_bc83_5dc0d9441fa5 nullable: true value_type: text view: ClassicAssetToAssetEdge @@ -238,7 +279,7 @@ data_product: container_property: type is_list: false logical: http://purl.org/cognite/neat/neatId_bf3c4c06_4343_48bc_89fa_6a688fb5d27b - neatId: http://purl.org/cognite/neat/neatId_766ecb15_474e_4c19_aef9_12766c006f61 + neatId: http://purl.org/cognite/neat/neatId_dd59ba71_36b8_4481_bb3a_4e3e7c52fa17 nullable: true value_type: text view: ClassicAssetToAssetEdge @@ -247,7 +288,7 @@ data_product: container_property: description is_list: false logical: http://purl.org/cognite/neat/neatId_956269f0_e5d7_4875_adad_d6c795a76d79 - neatId: http://purl.org/cognite/neat/neatId_134c6c92_ec5b_427c_9fde_4fbf3ff350bf + neatId: http://purl.org/cognite/neat/neatId_2a25a888_0f02_4ad0_a706_7ef466aa9385 nullable: true value_type: text view: ClassicDataSet @@ -256,7 +297,7 @@ data_product: container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_ff50bde4_3825_47b8_9cab_cc97663f1c97 - neatId: http://purl.org/cognite/neat/neatId_db20a56e_dc81_4fe7_8eda_8bbb71710434 + neatId: http://purl.org/cognite/neat/neatId_63f2ae24_fc3d_4348_808d_4127610461e3 nullable: true value_type: json view: ClassicDataSet @@ -265,7 +306,7 @@ data_product: container_property: name is_list: false logical: http://purl.org/cognite/neat/neatId_7e570ddf_8270_40a8_a369_b584ff5e9ff0 - neatId: http://purl.org/cognite/neat/neatId_a6f2f7b8_0cf3_4b58_9910_8be58ce21ea3 + neatId: http://purl.org/cognite/neat/neatId_c8fe3ccd_c8b8_49c6_ad30_49cf43e458fc nullable: true value_type: text view: ClassicDataSet @@ -274,17 +315,209 @@ data_product: container_property: writeProtected is_list: false logical: http://purl.org/cognite/neat/neatId_dc713d96_0c0f_4195_817a_f08a1745d6d8 - neatId: http://purl.org/cognite/neat/neatId_03c72ba8_d605_4770_8a63_f881ffd0f9d5 + neatId: http://purl.org/cognite/neat/neatId_b253d218_6c4a_47ea_8906_17f2747b6dba nullable: true value_type: boolean view: ClassicDataSet view_property: writeProtected + - connection: reverse(property=equipment) + description: An automatically updated list of activities related to the equipment. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9d2e445e_51eb_4abb_b4c8_dc67697d728e + value_type: ClassicEvent + view: ClassicEquipment + view_property: activities + - container: cdf_cdm:CogniteDescribable + container_property: aliases + description: Alternative names for the node + immutable: false + is_list: true + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 + nullable: true + value_type: text + view: ClassicEquipment + view_property: aliases + - connection: direct + container: cdf_cdm:CogniteEquipment + container_property: asset + description: The asset the equipment is related to. + immutable: false + is_list: false + name: Asset + neatId: http://purl.org/cognite/neat/neatId_14907de8_b97f_4696_ac7c_65d87d969049 + nullable: true + value_type: ClassicAsset + view: ClassicEquipment + view_property: asset + - container: sp_windfarm:ClassicEquipment + container_property: classicEquipmentGUID + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_daffaf42_d75c_436f_beac_91199f70932f + nullable: true + value_type: text + view: ClassicEquipment + view_property: classicEquipmentGUID + - container: cdf_cdm:CogniteDescribable + container_property: description + description: Description of the instance + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_697c3923_87fa_441a_be83_b91f25440fe0 + nullable: true + value_type: text + view: ClassicEquipment + view_property: description + - connection: direct + container: cdf_cdm:CogniteEquipment + container_property: files + description: A list of files the equipment relates to. + immutable: false + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_72cca8d9_9a0d_4e79_93c9_cef63b3d1889 + nullable: true + value_type: ClassicFile + view: ClassicEquipment + view_property: files + - container: cdf_cdm:CogniteEquipment + container_property: manufacturer + description: The manufacturer of the equipment. + immutable: false + index: manufacturer + is_list: false + name: Manufacturer + neatId: http://purl.org/cognite/neat/neatId_a34db7c5_760d_4bbb_bb70_b3a124a35cf2 + nullable: true + value_type: text + view: ClassicEquipment + view_property: manufacturer + - container: cdf_cdm:CogniteDescribable + container_property: name + description: Name of the instance + immutable: false + index: name + is_list: false + neatId: http://purl.org/cognite/neat/neatId_6e417d47_5ff5_45ea_9bc4_40f14b1a269b + nullable: true + value_type: text + view: ClassicEquipment + view_property: name + - container: cdf_cdm:CogniteEquipment + container_property: serialNumber + description: The serial number of the equipment. + immutable: false + index: serialNumber + is_list: false + name: Serial number + neatId: http://purl.org/cognite/neat/neatId_9549c931_e9af_499d_bf67_1eec3da70577 + nullable: true + value_type: text + view: ClassicEquipment + view_property: serialNumber + - connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_bd31051b_63c6_4226_8836_d9f3713afef3 + nullable: true + value_type: ClassicSourceSystem + view: ClassicEquipment + view_property: source + - container: cdf_cdm:CogniteSourceable + container_property: sourceContext + description: Context of the source id. For systems where the sourceId is globally + unique, the sourceContext is expected to not be set. + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_77e490c7_1d7b_4313_8de2_2f1c56b60afc + nullable: true + value_type: text + view: ClassicEquipment + view_property: sourceContext + - container: cdf_cdm:CogniteSourceable + container_property: sourceCreatedTime + description: When the instance was created in source system (if available) + immutable: false + index: sourceCreatedTime + is_list: false + neatId: http://purl.org/cognite/neat/neatId_ad238d36_dc32_4c97_b9c1_e262f76c8ede + nullable: true + value_type: timestamp + view: ClassicEquipment + view_property: sourceCreatedTime + - container: cdf_cdm:CogniteSourceable + container_property: sourceCreatedUser + description: User identifier from the source system on who created the source + data. This identifier is not guaranteed to match the user identifiers in CDF + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_8eac0a33_cdf9_44a7_9882_b5c1f79efd70 + nullable: true + value_type: text + view: ClassicEquipment + view_property: sourceCreatedUser + - container: cdf_cdm:CogniteSourceable + container_property: sourceId + description: Identifier from the source system + immutable: false + index: sourceId + is_list: false + neatId: http://purl.org/cognite/neat/neatId_ded255d0_bf1e_4366_8b8e_63d4ce7607ad + nullable: true + value_type: text + view: ClassicEquipment + view_property: sourceId + - container: cdf_cdm:CogniteSourceable + container_property: sourceUpdatedTime + description: When the instance was last updated in the source system (if available) + immutable: false + index: sourceUpdatedTime + is_list: false + neatId: http://purl.org/cognite/neat/neatId_65bcc272_fadd_4ea3_aca5_e2fdb966442a + nullable: true + value_type: timestamp + view: ClassicEquipment + view_property: sourceUpdatedTime + - container: cdf_cdm:CogniteSourceable + container_property: sourceUpdatedUser + description: User identifier from the source system on who last updated the source + data. This identifier is not guaranteed to match the user identifiers in CDF + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_6502d6a2_ca6a_4224_971e_16cc5da36f1b + nullable: true + value_type: text + view: ClassicEquipment + view_property: sourceUpdatedUser + - container: cdf_cdm:CogniteDescribable + container_property: tags + description: Text based labels for generic use, limited to 1000 + immutable: false + is_list: true + neatId: http://purl.org/cognite/neat/neatId_2e183554_cae2_4e66_ae8a_781390e0a95b + nullable: true + value_type: text + view: ClassicEquipment + view_property: tags + - connection: reverse(property=equipment) + description: An automatically updated list of time series related to the equipment. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_f94199fc_3523_450d_84d7_6ad0df10cc4f + value_type: ClassicTimeSeries + view: ClassicEquipment + view_property: timeSeries - container: cdf_cdm:CogniteDescribable container_property: aliases description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_a075e927_5110_4492_b442_7e0b61484bb3 + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 nullable: true value_type: text view: ClassicEvent @@ -295,7 +528,7 @@ data_product: immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_28f49481_a0a0_4dc4_a720_9bdf1c11f735 - neatId: http://purl.org/cognite/neat/neatId_c0e9ab30_ed26_42e9_97e0_11b7f8102383 + neatId: http://purl.org/cognite/neat/neatId_c88a618e_fed4_457d_bb02_6576f512c4c3 nullable: true value_type: ClassicAsset view: ClassicEvent @@ -305,7 +538,7 @@ data_product: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_98ae4334_6c12_4ce8_ae34_0454cac5b68c - neatId: http://purl.org/cognite/neat/neatId_680ac07a_2a93_4d62_bc83_5dc0d9441fa5 + neatId: http://purl.org/cognite/neat/neatId_7c967f79_b7e9_4aca_a970_65e18e46d534 nullable: true value_type: ClassicDataSet view: ClassicEvent @@ -315,7 +548,7 @@ data_product: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_988c24c9_61b1_4d22_a280_1c4510435a10 - neatId: http://purl.org/cognite/neat/neatId_dd59ba71_36b8_4481_bb3a_4e3e7c52fa17 + neatId: http://purl.org/cognite/neat/neatId_37bb3eec_4bf5_4b52_b09d_258c27a0c3d7 nullable: true value_type: text view: ClassicEvent @@ -326,16 +559,28 @@ data_product: index: endTime is_list: false logical: http://purl.org/cognite/neat/neatId_405cacec_8774_49a9_b7d2_1e02ff01cf99 - neatId: http://purl.org/cognite/neat/neatId_2a25a888_0f02_4ad0_a706_7ef466aa9385 + neatId: http://purl.org/cognite/neat/neatId_bc594585_9445_48c0_8ef8_c2d6f7fd5646 nullable: true value_type: timestamp view: ClassicEvent view_property: endTime + - connection: direct + container: cdf_cdm:CogniteActivity + container_property: equipment + description: A list of equipment the activity is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_b19b32c3_aa6e_43dc_a27d_c9f76a294b63 + nullable: true + value_type: ClassicEquipment + view: ClassicEvent + view_property: equipment - container: sp_windfarm:ClassicEvent container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_f143262f_dc5c_4eed_8da0_365bf89897b9 - neatId: http://purl.org/cognite/neat/neatId_63f2ae24_fc3d_4348_808d_4127610461e3 + neatId: http://purl.org/cognite/neat/neatId_504867ba_bf7b_439b_8f9a_ea4b8acd4e10 nullable: true value_type: json view: ClassicEvent @@ -346,7 +591,7 @@ data_product: immutable: false index: name is_list: false - neatId: http://purl.org/cognite/neat/neatId_65c17795_b155_46bc_9f8d_ed9756abf2f1 + neatId: http://purl.org/cognite/neat/neatId_6e417d47_5ff5_45ea_9bc4_40f14b1a269b nullable: true value_type: text view: ClassicEvent @@ -357,7 +602,7 @@ data_product: immutable: false index: scheduledEndTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_e726be23_e776_4886_9534_ee1d7f2984f5 + neatId: http://purl.org/cognite/neat/neatId_45c45a3e_e9da_484a_8075_9f1f87e5f0fe nullable: true value_type: timestamp view: ClassicEvent @@ -368,7 +613,7 @@ data_product: immutable: false index: scheduledStartTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_bec39a37_9b3d_44bd_a91e_314e0c8e29e3 + neatId: http://purl.org/cognite/neat/neatId_5da8d6d2_f8b3_4a8b_a05f_b8bc8a16a06c nullable: true value_type: timestamp view: ClassicEvent @@ -380,7 +625,7 @@ data_product: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_1d53434b_b881_49b9_ae27_0da702f06b90 - neatId: http://purl.org/cognite/neat/neatId_c8fe3ccd_c8b8_49c6_ad30_49cf43e458fc + neatId: http://purl.org/cognite/neat/neatId_7a0ecfea_958c_49ba_8cd6_20c20ea2622b nullable: true value_type: ClassicSourceSystem view: ClassicEvent @@ -391,7 +636,7 @@ data_product: unique, the sourceContext is expected to not be set. immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_c478f6f1_b88e_4318_816d_83edad81f8bd + neatId: http://purl.org/cognite/neat/neatId_77e490c7_1d7b_4313_8de2_2f1c56b60afc nullable: true value_type: text view: ClassicEvent @@ -402,7 +647,7 @@ data_product: immutable: false index: sourceCreatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_a0a11839_e745_4704_98df_bc3ca0d4de3d + neatId: http://purl.org/cognite/neat/neatId_ad238d36_dc32_4c97_b9c1_e262f76c8ede nullable: true value_type: timestamp view: ClassicEvent @@ -413,7 +658,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_5d678bb1_945e_42e4_888a_93ec70d9c9f8 + neatId: http://purl.org/cognite/neat/neatId_8eac0a33_cdf9_44a7_9882_b5c1f79efd70 nullable: true value_type: text view: ClassicEvent @@ -424,7 +669,7 @@ data_product: immutable: false index: sourceId is_list: false - neatId: http://purl.org/cognite/neat/neatId_402913ec_9ef2_493e_b0ac_7d7ba2f963a3 + neatId: http://purl.org/cognite/neat/neatId_ded255d0_bf1e_4366_8b8e_63d4ce7607ad nullable: true value_type: text view: ClassicEvent @@ -435,7 +680,7 @@ data_product: immutable: false index: sourceUpdatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_c9e26074_4f16_49a0_8a17_991ea5769411 + neatId: http://purl.org/cognite/neat/neatId_65bcc272_fadd_4ea3_aca5_e2fdb966442a nullable: true value_type: timestamp view: ClassicEvent @@ -446,7 +691,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_e8dd5e5a_1712_4b16_a1a4_344fbb7bee03 + neatId: http://purl.org/cognite/neat/neatId_6502d6a2_ca6a_4224_971e_16cc5da36f1b nullable: true value_type: text view: ClassicEvent @@ -457,7 +702,7 @@ data_product: index: startTime is_list: false logical: http://purl.org/cognite/neat/neatId_c0398710_8976_4334_a281_7efdae849217 - neatId: http://purl.org/cognite/neat/neatId_b253d218_6c4a_47ea_8906_17f2747b6dba + neatId: http://purl.org/cognite/neat/neatId_87f7e1fb_da4b_49ca_ab5c_f46780bacd64 nullable: true value_type: timestamp view: ClassicEvent @@ -466,7 +711,7 @@ data_product: container_property: subtype is_list: false logical: http://purl.org/cognite/neat/neatId_5715bd6f_a416_4293_84c2_e2e3444ea7c8 - neatId: http://purl.org/cognite/neat/neatId_c88a618e_fed4_457d_bb02_6576f512c4c3 + neatId: http://purl.org/cognite/neat/neatId_82010c62_f5f5_4b22_8e8f_a8e0284d82e5 nullable: true value_type: text view: ClassicEvent @@ -476,16 +721,28 @@ data_product: description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_889b78d5_dbfd_497e_aca2_b148da330aa1 + neatId: http://purl.org/cognite/neat/neatId_2e183554_cae2_4e66_ae8a_781390e0a95b nullable: true value_type: text view: ClassicEvent view_property: tags + - connection: direct + container: cdf_cdm:CogniteActivity + container_property: timeSeries + description: A list of time series the activity is related to. + immutable: false + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_8741da5d_97e2_4d68_8d0f_730f17042d9d + nullable: true + value_type: ClassicTimeSeries + view: ClassicEvent + view_property: timeSeries - container: sp_windfarm:ClassicEvent container_property: type is_list: false logical: http://purl.org/cognite/neat/neatId_287d06ca_6f4c_469a_8b22_d3081c8eaee9 - neatId: http://purl.org/cognite/neat/neatId_7c967f79_b7e9_4aca_a970_65e18e46d534 + neatId: http://purl.org/cognite/neat/neatId_118a9d29_2f92_4996_99f1_95d014822f53 nullable: true value_type: text view: ClassicEvent @@ -495,7 +752,7 @@ data_product: description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_a075e927_5110_4492_b442_7e0b61484bb3 + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 nullable: true value_type: text view: ClassicFile @@ -506,7 +763,7 @@ data_product: immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_b8db0672_f42d_47cc_80d4_af5974273ca3 - neatId: http://purl.org/cognite/neat/neatId_37bb3eec_4bf5_4b52_b09d_258c27a0c3d7 + neatId: http://purl.org/cognite/neat/neatId_dca02eec_acda_4acc_9165_e21098543881 nullable: true value_type: ClassicAsset view: ClassicFile @@ -516,7 +773,7 @@ data_product: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_f8cda88b_436d_46e2_b83c_fe0be037e5ed - neatId: http://purl.org/cognite/neat/neatId_bc594585_9445_48c0_8ef8_c2d6f7fd5646 + neatId: http://purl.org/cognite/neat/neatId_f10c718b_1eb0_438a_a75d_d5af3c365296 nullable: true value_type: ClassicDataSet view: ClassicFile @@ -526,7 +783,7 @@ data_product: description: Description of the instance immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_541cdfcd_da0d_4a5f_948f_8b74a65bb1f2 + neatId: http://purl.org/cognite/neat/neatId_697c3923_87fa_441a_be83_b91f25440fe0 nullable: true value_type: text view: ClassicFile @@ -538,11 +795,19 @@ data_product: immutable: false is_list: false name: Directory - neatId: http://purl.org/cognite/neat/neatId_aee1e86b_9ea5_46aa_a1ee_6c5bdeef580f + neatId: http://purl.org/cognite/neat/neatId_059dd55d_4b94_4e30_b303_f438fe2110d0 nullable: true value_type: text view: ClassicFile view_property: directory + - connection: reverse(property=files) + description: An automatically updated list of equipment this file is related to. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_7810e930_e85f_4dbf_afc1_0cae559aa035 + value_type: ClassicEquipment + view: ClassicFile + view_property: equipment - container: cdf_cdm:CogniteFile container_property: isUploaded default: 'False' @@ -551,7 +816,7 @@ data_product: immutable: false is_list: false name: Is uploaded - neatId: http://purl.org/cognite/neat/neatId_9549c931_e9af_499d_bf67_1eec3da70577 + neatId: http://purl.org/cognite/neat/neatId_6553867d_a881_4fd3_947d_577bfa5a91ca nullable: true value_type: boolean view: ClassicFile @@ -560,7 +825,7 @@ data_product: container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_81f76d1c_2dbc_4134_830f_f46e8026695f - neatId: http://purl.org/cognite/neat/neatId_504867ba_bf7b_439b_8f9a_ea4b8acd4e10 + neatId: http://purl.org/cognite/neat/neatId_94340a03_3f07_4814_91d6_3f78e3e9de99 nullable: true value_type: json view: ClassicFile @@ -571,7 +836,7 @@ data_product: immutable: false is_list: false name: MIME type - neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 + neatId: http://purl.org/cognite/neat/neatId_4bbe4aff_9326_4ffd_9be4_bf5192698698 nullable: true value_type: text view: ClassicFile @@ -582,7 +847,7 @@ data_product: index: name is_list: false logical: http://purl.org/cognite/neat/neatId_a013ac6e_deda_4e16_9b3d_bd5ce9a1fa6f - neatId: http://purl.org/cognite/neat/neatId_7a0ecfea_958c_49ba_8cd6_20c20ea2622b + neatId: http://purl.org/cognite/neat/neatId_14fcdd54_9e8f_4965_8a2c_827e98326856 nullable: true value_type: text view: ClassicFile @@ -594,7 +859,7 @@ data_product: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_81f631d4_a392_41a7_9777_a4774c66e0a8 - neatId: http://purl.org/cognite/neat/neatId_87f7e1fb_da4b_49ca_ab5c_f46780bacd64 + neatId: http://purl.org/cognite/neat/neatId_90b2b633_956b_4c0c_a849_9b926b5252e3 nullable: true value_type: ClassicSourceSystem view: ClassicFile @@ -605,7 +870,7 @@ data_product: unique, the sourceContext is expected to not be set. immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_c478f6f1_b88e_4318_816d_83edad81f8bd + neatId: http://purl.org/cognite/neat/neatId_77e490c7_1d7b_4313_8de2_2f1c56b60afc nullable: true value_type: text view: ClassicFile @@ -616,7 +881,7 @@ data_product: immutable: false index: sourceCreatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_a0a11839_e745_4704_98df_bc3ca0d4de3d + neatId: http://purl.org/cognite/neat/neatId_ad238d36_dc32_4c97_b9c1_e262f76c8ede nullable: true value_type: timestamp view: ClassicFile @@ -627,7 +892,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_5d678bb1_945e_42e4_888a_93ec70d9c9f8 + neatId: http://purl.org/cognite/neat/neatId_8eac0a33_cdf9_44a7_9882_b5c1f79efd70 nullable: true value_type: text view: ClassicFile @@ -638,7 +903,7 @@ data_product: immutable: false index: sourceId is_list: false - neatId: http://purl.org/cognite/neat/neatId_402913ec_9ef2_493e_b0ac_7d7ba2f963a3 + neatId: http://purl.org/cognite/neat/neatId_ded255d0_bf1e_4366_8b8e_63d4ce7607ad nullable: true value_type: text view: ClassicFile @@ -649,7 +914,7 @@ data_product: immutable: false index: sourceUpdatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_c9e26074_4f16_49a0_8a17_991ea5769411 + neatId: http://purl.org/cognite/neat/neatId_65bcc272_fadd_4ea3_aca5_e2fdb966442a nullable: true value_type: timestamp view: ClassicFile @@ -660,7 +925,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_e8dd5e5a_1712_4b16_a1a4_344fbb7bee03 + neatId: http://purl.org/cognite/neat/neatId_6502d6a2_ca6a_4224_971e_16cc5da36f1b nullable: true value_type: text view: ClassicFile @@ -670,7 +935,7 @@ data_product: description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_889b78d5_dbfd_497e_aca2_b148da330aa1 + neatId: http://purl.org/cognite/neat/neatId_2e183554_cae2_4e66_ae8a_781390e0a95b nullable: true value_type: text view: ClassicFile @@ -681,7 +946,7 @@ data_product: immutable: false is_list: false name: Uploaded time - neatId: http://purl.org/cognite/neat/neatId_a34db7c5_760d_4bbb_bb70_b3a124a35cf2 + neatId: http://purl.org/cognite/neat/neatId_dd750e98_90e0_495f_8212_b554464458b4 nullable: true value_type: timestamp view: ClassicFile @@ -691,7 +956,7 @@ data_product: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_5fb8d16c_2720_497d_b2eb_d6899be578c7 - neatId: http://purl.org/cognite/neat/neatId_82010c62_f5f5_4b22_8e8f_a8e0284d82e5 + neatId: http://purl.org/cognite/neat/neatId_42c18a62_ef48_48d5_90fd_9d3f85d51695 nullable: true value_type: ClassicDataSet view: ClassicLabel @@ -700,7 +965,7 @@ data_product: container_property: description is_list: false logical: http://purl.org/cognite/neat/neatId_f4188f3f_8a14_4e62_a95b_4715c333e861 - neatId: http://purl.org/cognite/neat/neatId_118a9d29_2f92_4996_99f1_95d014822f53 + neatId: http://purl.org/cognite/neat/neatId_506e5a9a_b758_488d_ab73_295b344a54b8 nullable: true value_type: text view: ClassicLabel @@ -709,47 +974,102 @@ data_product: container_property: name is_list: false logical: http://purl.org/cognite/neat/neatId_eb2263dd_87c5_421e_ac24_a3c5c754108f - neatId: http://purl.org/cognite/neat/neatId_dca02eec_acda_4acc_9165_e21098543881 + neatId: http://purl.org/cognite/neat/neatId_21813d25_6552_48a6_83ff_50113d1a85dd nullable: true value_type: text view: ClassicLabel view_property: name - - container: cdf_cdm:CogniteDescribable - container_property: aliases - description: Alternative names for the node - immutable: false + - connection: direct + container: sp_windfarm:ClassicSequence + container_property: assetId + is_list: false + logical: http://purl.org/cognite/neat/neatId_7d154385_52fb_443b_9954_6eb400257ad1 + neatId: http://purl.org/cognite/neat/neatId_750cab75_4ccc_4bc2_a53f_8a28abf3e3fc + nullable: true + value_type: ClassicAsset + view: ClassicSequence + view_property: assetId + - container: sp_windfarm:ClassicSequence + container_property: columns is_list: true - neatId: http://purl.org/cognite/neat/neatId_a075e927_5110_4492_b442_7e0b61484bb3 + logical: http://purl.org/cognite/neat/neatId_5cec4eb5_edd9_4831_9ca3_5cfb04fc6d82 + neatId: http://purl.org/cognite/neat/neatId_ef8c485b_c07a_40f2_add4_253b50f0fd0a nullable: true - value_type: text - view: ClassicSourceSystem - view_property: aliases - - container: cdf_cdm:CogniteDescribable + value_type: json + view: ClassicSequence + view_property: columns + - container: sp_windfarm:ClassicSequence container_property: description - description: Description of the instance - immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_541cdfcd_da0d_4a5f_948f_8b74a65bb1f2 + logical: http://purl.org/cognite/neat/neatId_ce88cb2d_d4e8_4839_bc3e_058be0f3eab0 + neatId: http://purl.org/cognite/neat/neatId_9f044aed_7552_4327_8262_7f7312922f83 nullable: true value_type: text - view: ClassicSourceSystem + view: ClassicSequence view_property: description - - container: cdf_cdm:CogniteSourceSystem - container_property: manufacturer - description: Manufacturer of the source system - immutable: false + - container: sp_windfarm:ClassicSequence + container_property: metadata is_list: false - neatId: http://purl.org/cognite/neat/neatId_3810ae66_5a31_44cc_8d4b_69a99b689c88 + logical: http://purl.org/cognite/neat/neatId_3da9c2a9_0ed4_4f1a_bd4c_bf374eb93eff + neatId: http://purl.org/cognite/neat/neatId_19985f15_ff00_4d4d_9020_59e4ff9ab5c2 nullable: true - value_type: text - view: ClassicSourceSystem - view_property: manufacturer + value_type: json + view: ClassicSequence + view_property: metadata + - container: sp_windfarm:ClassicSequence + container_property: name + is_list: false + logical: http://purl.org/cognite/neat/neatId_14296c07_f26b_4776_913e_4de2e0c53cb8 + neatId: http://purl.org/cognite/neat/neatId_8181a8cc_3691_47eb_89a2_688b12c136e0 + nullable: true + value_type: text + view: ClassicSequence + view_property: name + - container: sp_windfarm:ClassicSequence + container_property: rows + is_list: true + logical: http://purl.org/cognite/neat/neatId_d0e6e660_7c69_4ee1_bb5e_4bcf15ed6269 + neatId: http://purl.org/cognite/neat/neatId_5958a499_eeea_463e_a1e8_ac6843e42caf + nullable: true + value_type: json + view: ClassicSequence + view_property: rows + - container: cdf_cdm:CogniteDescribable + container_property: aliases + description: Alternative names for the node + immutable: false + is_list: true + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 + nullable: true + value_type: text + view: ClassicSourceSystem + view_property: aliases + - container: cdf_cdm:CogniteDescribable + container_property: description + description: Description of the instance + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_697c3923_87fa_441a_be83_b91f25440fe0 + nullable: true + value_type: text + view: ClassicSourceSystem + view_property: description + - container: cdf_cdm:CogniteSourceSystem + container_property: manufacturer + description: Manufacturer of the source system + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_f7a67b94_7b5a_411a_b1b6_4afed31edf1a + nullable: true + value_type: text + view: ClassicSourceSystem + view_property: manufacturer - container: cdf_cdm:CogniteDescribable container_property: name immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_7d154385_52fb_443b_9954_6eb400257ad1 - neatId: http://purl.org/cognite/neat/neatId_f10c718b_1eb0_438a_a75d_d5af3c365296 + logical: http://purl.org/cognite/neat/neatId_885f6e66_c2b6_42c5_ba5d_310011b7e948 + neatId: http://purl.org/cognite/neat/neatId_3e896c64_e117_4ac3_919c_4ea3e1805081 nullable: true value_type: text view: ClassicSourceSystem @@ -759,7 +1079,7 @@ data_product: description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_889b78d5_dbfd_497e_aca2_b148da330aa1 + neatId: http://purl.org/cognite/neat/neatId_2e183554_cae2_4e66_ae8a_781390e0a95b nullable: true value_type: text view: ClassicSourceSystem @@ -769,17 +1089,26 @@ data_product: description: Version identifier for the source system immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_3ae909fe_cc82_48da_8696_f5e64944051b + neatId: http://purl.org/cognite/neat/neatId_e9ff1cae_41c8_4a8c_aa1f_955ad499da99 nullable: true value_type: text view: ClassicSourceSystem view_property: version + - connection: reverse(property=timeSeries) + description: An automatically updated list of activities the time series is related + to. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_4dd4937e_8c18_42ae_a03e_ac6df70f3159 + value_type: ClassicEvent + view: ClassicTimeSeries + view_property: activities - container: cdf_cdm:CogniteDescribable container_property: aliases description: Alternative names for the node immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_a075e927_5110_4492_b442_7e0b61484bb3 + neatId: http://purl.org/cognite/neat/neatId_9c07a751_1437_4509_acd1_586a2b840c67 nullable: true value_type: text view: ClassicTimeSeries @@ -789,8 +1118,8 @@ data_product: container_property: assets immutable: false is_list: true - logical: http://purl.org/cognite/neat/neatId_5cec4eb5_edd9_4831_9ca3_5cfb04fc6d82 - neatId: http://purl.org/cognite/neat/neatId_94340a03_3f07_4814_91d6_3f78e3e9de99 + logical: http://purl.org/cognite/neat/neatId_a8e56e0c_20de_435d_a031_d750c40db9b4 + neatId: http://purl.org/cognite/neat/neatId_702cdd20_2862_48b8_88f4_ef125e9953d2 nullable: true value_type: ClassicAsset view: ClassicTimeSeries @@ -799,8 +1128,8 @@ data_product: container: sp_windfarm:ClassicTimeSeries container_property: dataSetId is_list: false - logical: http://purl.org/cognite/neat/neatId_ce88cb2d_d4e8_4839_bc3e_058be0f3eab0 - neatId: http://purl.org/cognite/neat/neatId_14fcdd54_9e8f_4965_8a2c_827e98326856 + logical: http://purl.org/cognite/neat/neatId_2a45c2ab_8cbf_4db0_b264_accc79ac1b1e + neatId: http://purl.org/cognite/neat/neatId_4d71c366_b41b_4143_8b10_550cd5704f32 nullable: true value_type: ClassicDataSet view: ClassicTimeSeries @@ -809,19 +1138,31 @@ data_product: container_property: description immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_3da9c2a9_0ed4_4f1a_bd4c_bf374eb93eff - neatId: http://purl.org/cognite/neat/neatId_90b2b633_956b_4c0c_a849_9b926b5252e3 + logical: http://purl.org/cognite/neat/neatId_9b49bd26_df57_459a_8715_a10343dac043 + neatId: http://purl.org/cognite/neat/neatId_ce9e1a11_fcbb_4e59_bbdd_cf7c9c96e9ec nullable: true value_type: text view: ClassicTimeSeries view_property: description + - connection: direct + container: cdf_cdm:CogniteTimeSeries + container_property: equipment + description: A list of equipment the time series is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_786d14cf_cf7d_4859_92a7_51bf19b557e0 + nullable: true + value_type: ClassicEquipment + view: ClassicTimeSeries + view_property: equipment - container: cdf_cdm:CogniteTimeSeries container_property: isStep default: 0 immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_14296c07_f26b_4776_913e_4de2e0c53cb8 - neatId: http://purl.org/cognite/neat/neatId_42c18a62_ef48_48d5_90fd_9d3f85d51695 + logical: http://purl.org/cognite/neat/neatId_edcd465e_3638_4821_b6e0_7cc06c52c49f + neatId: http://purl.org/cognite/neat/neatId_aaf91531_0200_41f0_8768_a84fa76afde6 nullable: false value_type: boolean view: ClassicTimeSeries @@ -829,8 +1170,8 @@ data_product: - container: sp_windfarm:ClassicTimeSeries container_property: metadata is_list: false - logical: http://purl.org/cognite/neat/neatId_885f6e66_c2b6_42c5_ba5d_310011b7e948 - neatId: http://purl.org/cognite/neat/neatId_21813d25_6552_48a6_83ff_50113d1a85dd + logical: http://purl.org/cognite/neat/neatId_66245bfa_4fcc_439a_b683_d2e6337ea2df + neatId: http://purl.org/cognite/neat/neatId_e0ccedc5_f05d_476e_9a84_a51aa9d3d7c7 nullable: true value_type: json view: ClassicTimeSeries @@ -840,19 +1181,31 @@ data_product: immutable: false index: name is_list: false - logical: http://purl.org/cognite/neat/neatId_a8e56e0c_20de_435d_a031_d750c40db9b4 - neatId: http://purl.org/cognite/neat/neatId_750cab75_4ccc_4bc2_a53f_8a28abf3e3fc + logical: http://purl.org/cognite/neat/neatId_5f987c71_a65e_488e_abf3_ad39fec21bbe + neatId: http://purl.org/cognite/neat/neatId_e3c43657_1d8c_4bac_83b4_09ef2260e70f nullable: true value_type: text view: ClassicTimeSeries view_property: name + - connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_9fb95a34_b79b_490f_8362_fc8009874b01 + nullable: true + value_type: ClassicSourceSystem + view: ClassicTimeSeries + view_property: source - container: cdf_cdm:CogniteSourceable container_property: sourceContext description: Context of the source id. For systems where the sourceId is globally unique, the sourceContext is expected to not be set. immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_c478f6f1_b88e_4318_816d_83edad81f8bd + neatId: http://purl.org/cognite/neat/neatId_77e490c7_1d7b_4313_8de2_2f1c56b60afc nullable: true value_type: text view: ClassicTimeSeries @@ -863,7 +1216,7 @@ data_product: immutable: false index: sourceCreatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_a0a11839_e745_4704_98df_bc3ca0d4de3d + neatId: http://purl.org/cognite/neat/neatId_ad238d36_dc32_4c97_b9c1_e262f76c8ede nullable: true value_type: timestamp view: ClassicTimeSeries @@ -874,7 +1227,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_5d678bb1_945e_42e4_888a_93ec70d9c9f8 + neatId: http://purl.org/cognite/neat/neatId_8eac0a33_cdf9_44a7_9882_b5c1f79efd70 nullable: true value_type: text view: ClassicTimeSeries @@ -885,7 +1238,7 @@ data_product: immutable: false index: sourceId is_list: false - neatId: http://purl.org/cognite/neat/neatId_402913ec_9ef2_493e_b0ac_7d7ba2f963a3 + neatId: http://purl.org/cognite/neat/neatId_ded255d0_bf1e_4366_8b8e_63d4ce7607ad nullable: true value_type: text view: ClassicTimeSeries @@ -896,7 +1249,7 @@ data_product: immutable: false is_list: false name: Source unit - neatId: http://purl.org/cognite/neat/neatId_5da8d6d2_f8b3_4a8b_a05f_b8bc8a16a06c + neatId: http://purl.org/cognite/neat/neatId_618ae305_95a5_4afa_831d_029fac1e86d8 nullable: true value_type: text view: ClassicTimeSeries @@ -907,7 +1260,7 @@ data_product: immutable: false index: sourceUpdatedTime is_list: false - neatId: http://purl.org/cognite/neat/neatId_c9e26074_4f16_49a0_8a17_991ea5769411 + neatId: http://purl.org/cognite/neat/neatId_65bcc272_fadd_4ea3_aca5_e2fdb966442a nullable: true value_type: timestamp view: ClassicTimeSeries @@ -918,7 +1271,7 @@ data_product: data. This identifier is not guaranteed to match the user identifiers in CDF immutable: false is_list: false - neatId: http://purl.org/cognite/neat/neatId_e8dd5e5a_1712_4b16_a1a4_344fbb7bee03 + neatId: http://purl.org/cognite/neat/neatId_6502d6a2_ca6a_4224_971e_16cc5da36f1b nullable: true value_type: text view: ClassicTimeSeries @@ -928,7 +1281,7 @@ data_product: description: Text based labels for generic use, limited to 1000 immutable: false is_list: true - neatId: http://purl.org/cognite/neat/neatId_889b78d5_dbfd_497e_aca2_b148da330aa1 + neatId: http://purl.org/cognite/neat/neatId_2e183554_cae2_4e66_ae8a_781390e0a95b nullable: true value_type: text view: ClassicTimeSeries @@ -937,8 +1290,8 @@ data_product: container_property: type immutable: true is_list: false - logical: http://purl.org/cognite/neat/neatId_d0e6e660_7c69_4ee1_bb5e_4bcf15ed6269 - neatId: http://purl.org/cognite/neat/neatId_506e5a9a_b758_488d_ab73_295b344a54b8 + logical: http://purl.org/cognite/neat/neatId_b09b2a5c_badc_432a_8159_0f538a0f4efb + neatId: http://purl.org/cognite/neat/neatId_ee87905e_4ca4_45ea_8dfa_6a56d12dbc9a nullable: false value_type: enum(collection=timeseriesType) view: ClassicTimeSeries @@ -946,43 +1299,54 @@ data_product: views: - filter_: hasData(cdf_cdm:CogniteAsset,cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable,sp_windfarm:ClassicAsset) in_model: true - logical: http://purl.org/cognite/neat/neatId_9b49bd26_df57_459a_8715_a10343dac043 - neatId: http://purl.org/cognite/neat/neatId_9f044aed_7552_4327_8262_7f7312922f83 + logical: http://purl.org/cognite/neat/neatId_1064005c_3985_43cf_bf76_be1d1efa2197 + neatId: http://purl.org/cognite/neat/neatId_35ebd32d_9ad6_40ab_8821_2ddb45b89cd9 view: ClassicAsset - filter_: hasData(sp_windfarm:ClassicAssetToAssetEdge) in_model: true - logical: http://purl.org/cognite/neat/neatId_5f987c71_a65e_488e_abf3_ad39fec21bbe - neatId: http://purl.org/cognite/neat/neatId_3e896c64_e117_4ac3_919c_4ea3e1805081 + logical: http://purl.org/cognite/neat/neatId_080aadfb_e7c9_4b26_9141_25c63a9bedd4 + neatId: http://purl.org/cognite/neat/neatId_a2607723_17a0_4f49_8d01_280fd89a40c0 view: ClassicAssetToAssetEdge - filter_: hasData(sp_windfarm:ClassicDataSet) in_model: true - logical: http://purl.org/cognite/neat/neatId_66245bfa_4fcc_439a_b683_d2e6337ea2df - neatId: http://purl.org/cognite/neat/neatId_5958a499_eeea_463e_a1e8_ac6843e42caf + logical: http://purl.org/cognite/neat/neatId_0f1259e0_a18f_46b6_b535_106e122c9a56 + neatId: http://purl.org/cognite/neat/neatId_e87d1c78_e7c4_41c7_8049_7b717d106c60 view: ClassicDataSet + - description: Equipment represents physical supplies or devices. + filter_: hasData(cdf_cdm:CogniteDescribable,cdf_cdm:CogniteEquipment,cdf_cdm:CogniteSourceable,sp_windfarm:ClassicEquipment) + in_model: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_0e02efdf_7279_49e7_a027_a77002e69134 + view: ClassicEquipment - filter_: hasData(cdf_cdm:CogniteActivity,cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSchedulable,cdf_cdm:CogniteSourceable,sp_windfarm:ClassicEvent) in_model: true - logical: http://purl.org/cognite/neat/neatId_1064005c_3985_43cf_bf76_be1d1efa2197 - neatId: http://purl.org/cognite/neat/neatId_4d71c366_b41b_4143_8b10_550cd5704f32 + logical: http://purl.org/cognite/neat/neatId_7c441fe7_ab42_40a7_874a_493b3ceddf2d + neatId: http://purl.org/cognite/neat/neatId_217d65a0_c568_41cd_9563_f61600e85ece view: ClassicEvent - filter_: hasData(cdf_cdm:CogniteDescribable,cdf_cdm:CogniteFile,cdf_cdm:CogniteSourceable,sp_windfarm:ClassicFile) in_model: true - logical: http://purl.org/cognite/neat/neatId_8dcdcd03_969b_4662_8562_8059568cc69b - neatId: http://purl.org/cognite/neat/neatId_ce9e1a11_fcbb_4e59_bbdd_cf7c9c96e9ec + logical: http://purl.org/cognite/neat/neatId_93829b43_922f_415a_a1e3_db63ef7ddc76 + neatId: http://purl.org/cognite/neat/neatId_b4a69f3c_8d3a_4d99_b11c_21c9bdc14f1f view: ClassicFile - filter_: hasData(sp_windfarm:ClassicLabel) in_model: true - logical: http://purl.org/cognite/neat/neatId_edcd465e_3638_4821_b6e0_7cc06c52c49f - neatId: http://purl.org/cognite/neat/neatId_19985f15_ff00_4d4d_9020_59e4ff9ab5c2 + logical: http://purl.org/cognite/neat/neatId_8dcdcd03_969b_4662_8562_8059568cc69b + neatId: http://purl.org/cognite/neat/neatId_afffcfd2_341e_440b_97c7_00aab7b56ea7 view: ClassicLabel + - filter_: hasData(sp_windfarm:ClassicSequence) + in_model: true + logical: http://purl.org/cognite/neat/neatId_b92da22b_21df_406f_8a0b_3c3336d8393a + neatId: http://purl.org/cognite/neat/neatId_295d6fbf_430f_401d_bad4_09e2a319dcb4 + view: ClassicSequence - filter_: hasData(cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceSystem) in_model: true - logical: http://purl.org/cognite/neat/neatId_7394988f_847f_49b4_a64d_1bcb702753a1 - neatId: http://purl.org/cognite/neat/neatId_702cdd20_2862_48b8_88f4_ef125e9953d2 + logical: http://purl.org/cognite/neat/neatId_839fbc50_1223_4513_9496_f63cdc1110c1 + neatId: http://purl.org/cognite/neat/neatId_0b49452d_46d4_43f3_9450_281c6c6f7633 view: ClassicSourceSystem - filter_: hasData(cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable,cdf_cdm:CogniteTimeSeries,sp_windfarm:ClassicTimeSeries) in_model: true - logical: http://purl.org/cognite/neat/neatId_b09b2a5c_badc_432a_8159_0f538a0f4efb - neatId: http://purl.org/cognite/neat/neatId_8181a8cc_3691_47eb_89a2_688b12c136e0 + logical: http://purl.org/cognite/neat/neatId_01d74256_3860_4ab6_96a4_02f23ae8cc93 + neatId: http://purl.org/cognite/neat/neatId_81627cf1_4394_42e6_9a58_7e8aa25d6b29 view: ClassicTimeSeries instances: - externalId: Asset_4 @@ -1512,168 +1876,191 @@ rules: - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable,cdf_cdm:CogniteSchedulable container: cdf_cdm:CogniteActivity description: Represent an activity - neatId: http://purl.org/cognite/neat/neatId_b63b4dc3_a559_4463_b9e1_3ceab0cbc61f + neatId: http://purl.org/cognite/neat/neatId_98c7472a_864e_4a13_829c_fc0cfa02eaec used_for: node - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable container: cdf_cdm:CogniteAnnotation description: Annotation represents contextualization results or links - neatId: http://purl.org/cognite/neat/neatId_046a0df5_cafd_4613_b2bb_912d7da67785 + neatId: http://purl.org/cognite/neat/neatId_d52721e7_19bc_443e_bb02_bebb48729a4d used_for: edge - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteVisualizable,cdf_cdm:CogniteSourceable container: cdf_cdm:CogniteAsset description: The asset is the bare bone representation of assets in our asset centric world - neatId: http://purl.org/cognite/neat/neatId_6786d506_38ba_4abc_8b53_05e517d2582e + neatId: http://purl.org/cognite/neat/neatId_5c62b3a2_3a3c_463e_8bd6_cee631b1b099 used_for: node - constraint: cdf_cdm:CogniteDescribable container: cdf_cdm:CogniteAssetClass description: This identifies the class of an asset - neatId: http://purl.org/cognite/neat/neatId_a9f948b2_4e63_44bb_be49_3f43b118f68d + neatId: http://purl.org/cognite/neat/neatId_b540b30e_039f_4a25_8d61_68bd2defe193 used_for: node - constraint: cdf_cdm:CogniteDescribable container: cdf_cdm:CogniteAssetType description: This identifies the type of an asset - neatId: http://purl.org/cognite/neat/neatId_8db06746_7927_4973_9e78_1fd794e0d3ba + neatId: http://purl.org/cognite/neat/neatId_0ba6eab9_4639_447b_a067_bdac88bd13d1 used_for: node - container: cdf_cdm:CogniteDescribable description: The describable core concept is used as a standard way of holding the bare minimum of information about the instance. - neatId: http://purl.org/cognite/neat/neatId_ff233d5f_6ced_415d_9800_7c0287ea7ff5 + neatId: http://purl.org/cognite/neat/neatId_4ac9778d_8da8_4ee4_8df5_6ac6f96b648a used_for: all - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable container: cdf_cdm:CogniteEquipment description: Represent a physical piece of equipment - neatId: http://purl.org/cognite/neat/neatId_5a104129_54ae_4d1b_8ce6_424dbef59fe6 + neatId: http://purl.org/cognite/neat/neatId_a34b6cf6_2053_4a42_b1af_db65b289f224 used_for: node - constraint: cdf_cdm:CogniteDescribable container: cdf_cdm:CogniteEquipmentType description: This identifies the type of an equipment - neatId: http://purl.org/cognite/neat/neatId_4e7ed827_455a_4762_b428_a656b3ee4d3b + neatId: http://purl.org/cognite/neat/neatId_1a432f0a_7daa_49f0_80b6_fce2de53790a used_for: node - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable container: cdf_cdm:CogniteFile description: This concept models the underlying file from the Files resource type - neatId: http://purl.org/cognite/neat/neatId_b8a6171f_1ee3_4dc4_bb04_8a8b405bfdc9 + neatId: http://purl.org/cognite/neat/neatId_48ca7651_92f5_4f7b_8323_d342df6a8f93 used_for: node - constraint: cdf_cdm:CogniteDescribable container: cdf_cdm:CogniteFileCategory description: Specifies the category for a file (as a result of categorization/classification)) - neatId: http://purl.org/cognite/neat/neatId_be2d740a_1e9b_43bc_90c7_c006314d3441 + neatId: http://purl.org/cognite/neat/neatId_5738811d_70c2_403f_ba8d_03aa782a65e0 used_for: node - container: cdf_cdm:CogniteSchedulable description: CogniteSchedulable represents the metadata about when an activity (or similar) starts and ends - neatId: http://purl.org/cognite/neat/neatId_b0ae8f08_c31e_4bbc_b36c_b62b892e6161 + neatId: http://purl.org/cognite/neat/neatId_40a26c60_0d27_4659_b72a_da9b2f32751e used_for: node - container: cdf_cdm:CogniteSourceSystem description: The CogniteSourceSystem core concept is used to standardize the way source system is stored. - neatId: http://purl.org/cognite/neat/neatId_bd1531c8_3764_4bda_b108_d4482f65fafa + neatId: http://purl.org/cognite/neat/neatId_1d34d08e_7a4c_45d4_9c99_e04cf0e98b3b used_for: node - container: cdf_cdm:CogniteSourceable description: The CogniteSourceable core concept is used to standardize the way source information is stored. - neatId: http://purl.org/cognite/neat/neatId_96ef2ad6_b97e_4703_86c8_adfe7bf47042 + neatId: http://purl.org/cognite/neat/neatId_7de31a51_6694_4343_90ba_58e3d2762bdc used_for: all - constraint: cdf_cdm:CogniteDescribable,cdf_cdm:CogniteSourceable container: cdf_cdm:CogniteTimeSeries - neatId: http://purl.org/cognite/neat/neatId_98c7472a_864e_4a13_829c_fc0cfa02eaec + neatId: http://purl.org/cognite/neat/neatId_afbb411a_a123_4a8c_93b7_a88612f70c97 used_for: node - constraint: cdf_cdm:CogniteDescribable container: cdf_cdm:CogniteUnit description: Represents a single unit of measurement - neatId: http://purl.org/cognite/neat/neatId_d52721e7_19bc_443e_bb02_bebb48729a4d + neatId: http://purl.org/cognite/neat/neatId_cfa701cd_2631_400b_a6d7_94d30db95301 used_for: node - container: cdf_cdm:CogniteVisualizable description: CogniteVisualizable defines the standard way to reference a related 3D resource - neatId: http://purl.org/cognite/neat/neatId_5c62b3a2_3a3c_463e_8bd6_cee631b1b099 + neatId: http://purl.org/cognite/neat/neatId_15ce6a66_4dc8_4a1e_b2f9_e5fa90164161 used_for: node - container: cdf_cdm_3d:Cognite360Image - neatId: http://purl.org/cognite/neat/neatId_b540b30e_039f_4a25_8d61_68bd2defe193 + neatId: http://purl.org/cognite/neat/neatId_8edddfcd_1e52_4770_bf89_7142fe716b14 used_for: node - container: cdf_cdm_3d:Cognite360ImageAnnotation - neatId: http://purl.org/cognite/neat/neatId_0ba6eab9_4639_447b_a067_bdac88bd13d1 + neatId: http://purl.org/cognite/neat/neatId_989bc4da_9b37_422b_aa8a_616fc3b290d0 used_for: edge - container: cdf_cdm_3d:Cognite3DGroup - neatId: http://purl.org/cognite/neat/neatId_4ac9778d_8da8_4ee4_8df5_6ac6f96b648a + neatId: http://purl.org/cognite/neat/neatId_c693da11_39c6_41ca_9e50_aa42ca6dfda1 used_for: node - container: cdf_cdm_3d:Cognite3DModel - neatId: http://purl.org/cognite/neat/neatId_a34b6cf6_2053_4a42_b1af_db65b289f224 + neatId: http://purl.org/cognite/neat/neatId_e893be3d_7354_4a6f_a160_745985c7504b used_for: node - container: cdf_cdm_3d:Cognite3DObject - neatId: http://purl.org/cognite/neat/neatId_1a432f0a_7daa_49f0_80b6_fce2de53790a + neatId: http://purl.org/cognite/neat/neatId_96a9954f_dc33_41f9_8c1f_55ab715629ee used_for: node - container: cdf_cdm_3d:Cognite3DRevision - neatId: http://purl.org/cognite/neat/neatId_48ca7651_92f5_4f7b_8323_d342df6a8f93 + neatId: http://purl.org/cognite/neat/neatId_9191b363_4e2d_4645_adc7_cac7fd72b050 used_for: node - container: cdf_cdm_3d:Cognite3DTransformation - neatId: http://purl.org/cognite/neat/neatId_5738811d_70c2_403f_ba8d_03aa782a65e0 + neatId: http://purl.org/cognite/neat/neatId_f5c9b047_9c10_4572_8f6b_40d09efba58b used_for: all - container: cdf_cdm_3d:CogniteCADNode - neatId: http://purl.org/cognite/neat/neatId_40a26c60_0d27_4659_b72a_da9b2f32751e + neatId: http://purl.org/cognite/neat/neatId_c342bd2b_f295_456e_9967_5f06bd767e35 used_for: node - container: cdf_cdm_3d:CogniteCADRevision - neatId: http://purl.org/cognite/neat/neatId_1d34d08e_7a4c_45d4_9c99_e04cf0e98b3b + neatId: http://purl.org/cognite/neat/neatId_43bfd931_3605_4f54_a021_c0ca3531968d used_for: node - container: cdf_cdm_3d:CogniteCubeMap - neatId: http://purl.org/cognite/neat/neatId_7de31a51_6694_4343_90ba_58e3d2762bdc + neatId: http://purl.org/cognite/neat/neatId_3d67cde9_2834_44c0_94c8_b3b4a911d192 used_for: node - container: cdf_cdm_3d:CognitePointCloudVolume - neatId: http://purl.org/cognite/neat/neatId_afbb411a_a123_4a8c_93b7_a88612f70c97 + neatId: http://purl.org/cognite/neat/neatId_2812859a_1337_439e_8d4f_5d272c7f0b79 used_for: node - container: ClassicAsset - neatId: http://purl.org/cognite/neat/neatId_aaf91531_0200_41f0_8768_a84fa76afde6 + neatId: http://purl.org/cognite/neat/neatId_1ca3c448_0279_46a6_8f97_97b06d7ce3c9 used_for: all - container: ClassicAssetToAssetEdge - neatId: http://purl.org/cognite/neat/neatId_ee87905e_4ca4_45ea_8dfa_6a56d12dbc9a + neatId: http://purl.org/cognite/neat/neatId_b0e6a969_e213_42b0_b1ee_dba313432e61 used_for: all - container: ClassicDataSet - neatId: http://purl.org/cognite/neat/neatId_e0ccedc5_f05d_476e_9a84_a51aa9d3d7c7 + neatId: http://purl.org/cognite/neat/neatId_093923de_8bab_4e3b_a628_6bfbe767dcea used_for: all + - container: ClassicEquipment + neatId: http://purl.org/cognite/neat/neatId_bb7e4121_bc17_46c7_a93d_c855f710ccbe + used_for: node - container: ClassicEvent - neatId: http://purl.org/cognite/neat/neatId_e3c43657_1d8c_4bac_83b4_09ef2260e70f + neatId: http://purl.org/cognite/neat/neatId_8d7248e2_951f_48d0_9e84_f058d5a804eb used_for: all - container: ClassicFile - neatId: http://purl.org/cognite/neat/neatId_27cb6f2a_8da0_4097_be0f_051b1b66b5a9 + neatId: http://purl.org/cognite/neat/neatId_0ab54bde_20a0_4502_ae06_809725e97977 used_for: all - container: ClassicLabel - neatId: http://purl.org/cognite/neat/neatId_35ebd32d_9ad6_40ab_8821_2ddb45b89cd9 + neatId: http://purl.org/cognite/neat/neatId_eededb07_e623_4689_9d59_cd2a4eea04e7 + used_for: all + - container: ClassicSequence + neatId: http://purl.org/cognite/neat/neatId_0a368ce7_dc57_4131_b8e1_daa7cbceabde used_for: all - container: ClassicSourceSystem - neatId: http://purl.org/cognite/neat/neatId_afffcfd2_341e_440b_97c7_00aab7b56ea7 + neatId: http://purl.org/cognite/neat/neatId_ae9bec36_35c7_436c_9b99_62c6e61fecc0 used_for: all - container: ClassicTimeSeries - neatId: http://purl.org/cognite/neat/neatId_81627cf1_4394_42e6_9a58_7e8aa25d6b29 + neatId: http://purl.org/cognite/neat/neatId_5a8aaeca_1a50_4ec3_aabc_25fa3fe12e47 used_for: all enum: - collection: timeseriesType description: Time series with double floating point data points. name: numeric - neatId: http://purl.org/cognite/neat/neatId_d4e42064_7c60_4bfc_b629_a873345f0ee2 + neatId: http://purl.org/cognite/neat/neatId_797b05f5_c67d_4aed_a40b_6a6042f16321 value: numeric - collection: timeseriesType description: Time series with string data points. name: string - neatId: http://purl.org/cognite/neat/neatId_8bb46fae_572d_464a_bc61_1055b0aa6c5d + neatId: http://purl.org/cognite/neat/neatId_97f686d4_c02a_460e_991a_e7fd109c7c01 value: string metadata: created: '2024-09-19T00:00:00Z' creator: NEAT external_id: WindFarm - logical: http://purl.org/cognite/neat/data-model/verified/logical/neat_space/NeatInferredDataModel/v1.implements_Edge + logical: http://purl.org/cognite/neat/data-model/verified/logical/neat_space/NeatInferredDataModel/v1 name: Inferred Model role: DMS Architect space: sp_windfarm updated: '2024-09-19T00:00:00Z' version: v1 properties: + - connection: reverse(property=assets) + description: An automatically updated list of activities related to the asset. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9058e127_cdfa_45ae_a6c0_fcdb199264e1 + value_type: ClassicEvent + view: ClassicAsset + view_property: activities + - connection: reverse(property=parent) + description: An automatically updated list of assets with this asset as their + parent. + is_list: true + name: Children + neatId: http://purl.org/cognite/neat/neatId_127f7603_6370_469a_a31f_f40e92697fb6 + value_type: ClassicAsset + view: ClassicAsset + view_property: children - connection: direct container: ClassicAsset container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_3eabedcb_baa8_4dd4_88bd_64072bcfbe01 - neatId: http://purl.org/cognite/neat/neatId_93829b43_922f_415a_a1e3_db63ef7ddc76 + neatId: http://purl.org/cognite/neat/neatId_ccf3a171_56dc_4907_ba6c_34ab6712303a nullable: true value_type: ClassicDataSet view: ClassicAsset @@ -1683,16 +2070,32 @@ rules: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_451b4cf3_6123_4df7_b656_af7229d4beef - neatId: http://purl.org/cognite/neat/neatId_7914c120_c8dc_419f_be35_11287900f7f9 + neatId: http://purl.org/cognite/neat/neatId_310c0c00_3fa7_4104_9bf9_0e27dc96925e nullable: true value_type: text view: ClassicAsset view_property: description + - connection: reverse(property=asset) + description: An automatically updated list of equipment related to the asset. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_de038f8e_9ed6_439b_84da_f85386607136 + value_type: ClassicEquipment + view: ClassicAsset + view_property: equipment + - connection: reverse(property=assets) + description: An automatically updated list of files related to the asset. + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_8d2a9b16_fd29_4cde_9578_7038c13dabd4 + value_type: ClassicFile + view: ClassicAsset + view_property: files - container: ClassicAsset container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_5304317f_af42_412f_b838_b3268e944239 - neatId: http://purl.org/cognite/neat/neatId_5ab33edf_6e59_4ed3_a8b3_17fa18d0752b + neatId: http://purl.org/cognite/neat/neatId_766ecb15_474e_4c19_aef9_12766c006f61 nullable: true value_type: json view: ClassicAsset @@ -1703,7 +2106,7 @@ rules: index: name is_list: false logical: http://purl.org/cognite/neat/neatId_0e51f30d_c6a7_4e39_84b0_32ccd7c524a5 - neatId: http://purl.org/cognite/neat/neatId_dd2467ac_778e_4db3_a93d_ffbc6c6fa611 + neatId: http://purl.org/cognite/neat/neatId_134c6c92_ec5b_427c_9fde_4fbf3ff350bf nullable: true value_type: text view: ClassicAsset @@ -1714,7 +2117,7 @@ rules: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_ce177b4e_0837_48a3_9261_a7ab3aa2e4f9 - neatId: http://purl.org/cognite/neat/neatId_a748dbcf_ac61_4e63_8dde_29a6baa4b71a + neatId: http://purl.org/cognite/neat/neatId_db20a56e_dc81_4fe7_8eda_8bbb71710434 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -1728,7 +2131,7 @@ rules: immutable: false is_list: true name: Path - neatId: http://purl.org/cognite/neat/neatId_0b49452d_46d4_43f3_9450_281c6c6f7633 + neatId: http://purl.org/cognite/neat/neatId_97d45ff7_058b_40c0_8d34_5572564f19d3 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -1736,7 +2139,7 @@ rules: - connection: edge(properties=ClassicAssetToAssetEdge) is_list: false logical: http://purl.org/cognite/neat/neatId_10f1bc81_448a_4a9e_a6b2_bc5b50c187fc - neatId: http://purl.org/cognite/neat/neatId_0f844fef_1931_49ee_a56c_0941fbf24050 + neatId: http://purl.org/cognite/neat/neatId_a6f2f7b8_0cf3_4b58_9910_8be58ce21ea3 value_type: ClassicAsset view: ClassicAsset view_property: relationshipAsset @@ -1748,7 +2151,7 @@ rules: immutable: false is_list: false name: Root - neatId: http://purl.org/cognite/neat/neatId_a2607723_17a0_4f49_8d01_280fd89a40c0 + neatId: http://purl.org/cognite/neat/neatId_30ddc92c_4a30_4743_aff4_ed0270a39a21 nullable: true value_type: ClassicAsset view: ClassicAsset @@ -1760,7 +2163,7 @@ rules: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_9132b63e_f162_47e4_a9c3_49e03602f8ac - neatId: http://purl.org/cognite/neat/neatId_ccf3a171_56dc_4907_ba6c_34ab6712303a + neatId: http://purl.org/cognite/neat/neatId_03c72ba8_d605_4770_8a63_f881ffd0f9d5 nullable: true value_type: ClassicSourceSystem view: ClassicAsset @@ -1770,17 +2173,25 @@ rules: immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_b02b61c4_a3d7_4628_ace6_6fa2fd5166e6 - neatId: http://purl.org/cognite/neat/neatId_1825bc54_30be_445f_a835_14f2ceb81f9d + neatId: http://purl.org/cognite/neat/neatId_23e2fcb4_72d8_467d_894a_05e430b187ef nullable: true value_type: text view: ClassicAsset view_property: tags + - connection: reverse(property=assets) + description: An automatically updated list of time series related to the asset. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_a59ab1b1_c3d5_4f53_bf4d_473ab9e25b0e + value_type: ClassicTimeSeries + view: ClassicAsset + view_property: timeSeries - connection: direct container: ClassicAssetToAssetEdge container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_366eb16f_508e_4ad7_b7c9_3acfe059a0ee - neatId: http://purl.org/cognite/neat/neatId_310c0c00_3fa7_4104_9bf9_0e27dc96925e + neatId: http://purl.org/cognite/neat/neatId_c0e9ab30_ed26_42e9_97e0_11b7f8102383 nullable: true value_type: ClassicDataSet view: ClassicAssetToAssetEdge @@ -1789,7 +2200,7 @@ rules: container_property: labels is_list: false logical: http://purl.org/cognite/neat/neatId_24933b83_7577_40a9_a491_f0b2ea1fca65 - neatId: http://purl.org/cognite/neat/neatId_23e2fcb4_72d8_467d_894a_05e430b187ef + neatId: http://purl.org/cognite/neat/neatId_680ac07a_2a93_4d62_bc83_5dc0d9441fa5 nullable: true value_type: text view: ClassicAssetToAssetEdge @@ -1798,7 +2209,7 @@ rules: container_property: type is_list: false logical: http://purl.org/cognite/neat/neatId_bf3c4c06_4343_48bc_89fa_6a688fb5d27b - neatId: http://purl.org/cognite/neat/neatId_766ecb15_474e_4c19_aef9_12766c006f61 + neatId: http://purl.org/cognite/neat/neatId_dd59ba71_36b8_4481_bb3a_4e3e7c52fa17 nullable: true value_type: text view: ClassicAssetToAssetEdge @@ -1807,7 +2218,7 @@ rules: container_property: description is_list: false logical: http://purl.org/cognite/neat/neatId_956269f0_e5d7_4875_adad_d6c795a76d79 - neatId: http://purl.org/cognite/neat/neatId_134c6c92_ec5b_427c_9fde_4fbf3ff350bf + neatId: http://purl.org/cognite/neat/neatId_2a25a888_0f02_4ad0_a706_7ef466aa9385 nullable: true value_type: text view: ClassicDataSet @@ -1816,7 +2227,7 @@ rules: container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_ff50bde4_3825_47b8_9cab_cc97663f1c97 - neatId: http://purl.org/cognite/neat/neatId_db20a56e_dc81_4fe7_8eda_8bbb71710434 + neatId: http://purl.org/cognite/neat/neatId_63f2ae24_fc3d_4348_808d_4127610461e3 nullable: true value_type: json view: ClassicDataSet @@ -1825,7 +2236,7 @@ rules: container_property: name is_list: false logical: http://purl.org/cognite/neat/neatId_7e570ddf_8270_40a8_a369_b584ff5e9ff0 - neatId: http://purl.org/cognite/neat/neatId_a6f2f7b8_0cf3_4b58_9910_8be58ce21ea3 + neatId: http://purl.org/cognite/neat/neatId_c8fe3ccd_c8b8_49c6_ad30_49cf43e458fc nullable: true value_type: text view: ClassicDataSet @@ -1834,18 +2245,79 @@ rules: container_property: writeProtected is_list: false logical: http://purl.org/cognite/neat/neatId_dc713d96_0c0f_4195_817a_f08a1745d6d8 - neatId: http://purl.org/cognite/neat/neatId_03c72ba8_d605_4770_8a63_f881ffd0f9d5 + neatId: http://purl.org/cognite/neat/neatId_b253d218_6c4a_47ea_8906_17f2747b6dba nullable: true value_type: boolean view: ClassicDataSet view_property: writeProtected + - connection: reverse(property=equipment) + description: An automatically updated list of activities related to the equipment. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_9d2e445e_51eb_4abb_b4c8_dc67697d728e + value_type: ClassicEvent + view: ClassicEquipment + view_property: activities + - connection: direct + container: cdf_cdm:CogniteEquipment + container_property: asset + description: The asset the equipment is related to. + immutable: false + is_list: false + name: Asset + neatId: http://purl.org/cognite/neat/neatId_14907de8_b97f_4696_ac7c_65d87d969049 + nullable: true + value_type: ClassicAsset + view: ClassicEquipment + view_property: asset + - container: ClassicEquipment + container_property: classicEquipmentGUID + immutable: false + is_list: false + neatId: http://purl.org/cognite/neat/neatId_daffaf42_d75c_436f_beac_91199f70932f + nullable: true + value_type: text + view: ClassicEquipment + view_property: classicEquipmentGUID + - connection: direct + container: cdf_cdm:CogniteEquipment + container_property: files + description: A list of files the equipment relates to. + immutable: false + is_list: true + name: Files + neatId: http://purl.org/cognite/neat/neatId_72cca8d9_9a0d_4e79_93c9_cef63b3d1889 + nullable: true + value_type: ClassicFile + view: ClassicEquipment + view_property: files + - connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_bd31051b_63c6_4226_8836_d9f3713afef3 + nullable: true + value_type: ClassicSourceSystem + view: ClassicEquipment + view_property: source + - connection: reverse(property=equipment) + description: An automatically updated list of time series related to the equipment. + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_f94199fc_3523_450d_84d7_6ad0df10cc4f + value_type: ClassicTimeSeries + view: ClassicEquipment + view_property: timeSeries - connection: direct container: cdf_cdm:CogniteActivity container_property: assets immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_28f49481_a0a0_4dc4_a720_9bdf1c11f735 - neatId: http://purl.org/cognite/neat/neatId_c0e9ab30_ed26_42e9_97e0_11b7f8102383 + neatId: http://purl.org/cognite/neat/neatId_c88a618e_fed4_457d_bb02_6576f512c4c3 nullable: true value_type: ClassicAsset view: ClassicEvent @@ -1855,7 +2327,7 @@ rules: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_98ae4334_6c12_4ce8_ae34_0454cac5b68c - neatId: http://purl.org/cognite/neat/neatId_680ac07a_2a93_4d62_bc83_5dc0d9441fa5 + neatId: http://purl.org/cognite/neat/neatId_7c967f79_b7e9_4aca_a970_65e18e46d534 nullable: true value_type: ClassicDataSet view: ClassicEvent @@ -1865,7 +2337,7 @@ rules: immutable: false is_list: false logical: http://purl.org/cognite/neat/neatId_988c24c9_61b1_4d22_a280_1c4510435a10 - neatId: http://purl.org/cognite/neat/neatId_dd59ba71_36b8_4481_bb3a_4e3e7c52fa17 + neatId: http://purl.org/cognite/neat/neatId_37bb3eec_4bf5_4b52_b09d_258c27a0c3d7 nullable: true value_type: text view: ClassicEvent @@ -1876,16 +2348,28 @@ rules: index: endTime is_list: false logical: http://purl.org/cognite/neat/neatId_405cacec_8774_49a9_b7d2_1e02ff01cf99 - neatId: http://purl.org/cognite/neat/neatId_2a25a888_0f02_4ad0_a706_7ef466aa9385 + neatId: http://purl.org/cognite/neat/neatId_bc594585_9445_48c0_8ef8_c2d6f7fd5646 nullable: true value_type: timestamp view: ClassicEvent view_property: endTime + - connection: direct + container: cdf_cdm:CogniteActivity + container_property: equipment + description: A list of equipment the activity is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_b19b32c3_aa6e_43dc_a27d_c9f76a294b63 + nullable: true + value_type: ClassicEquipment + view: ClassicEvent + view_property: equipment - container: ClassicEvent container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_f143262f_dc5c_4eed_8da0_365bf89897b9 - neatId: http://purl.org/cognite/neat/neatId_63f2ae24_fc3d_4348_808d_4127610461e3 + neatId: http://purl.org/cognite/neat/neatId_504867ba_bf7b_439b_8f9a_ea4b8acd4e10 nullable: true value_type: json view: ClassicEvent @@ -1897,7 +2381,7 @@ rules: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_1d53434b_b881_49b9_ae27_0da702f06b90 - neatId: http://purl.org/cognite/neat/neatId_c8fe3ccd_c8b8_49c6_ad30_49cf43e458fc + neatId: http://purl.org/cognite/neat/neatId_7a0ecfea_958c_49ba_8cd6_20c20ea2622b nullable: true value_type: ClassicSourceSystem view: ClassicEvent @@ -1908,7 +2392,7 @@ rules: index: startTime is_list: false logical: http://purl.org/cognite/neat/neatId_c0398710_8976_4334_a281_7efdae849217 - neatId: http://purl.org/cognite/neat/neatId_b253d218_6c4a_47ea_8906_17f2747b6dba + neatId: http://purl.org/cognite/neat/neatId_87f7e1fb_da4b_49ca_ab5c_f46780bacd64 nullable: true value_type: timestamp view: ClassicEvent @@ -1917,16 +2401,28 @@ rules: container_property: subtype is_list: false logical: http://purl.org/cognite/neat/neatId_5715bd6f_a416_4293_84c2_e2e3444ea7c8 - neatId: http://purl.org/cognite/neat/neatId_c88a618e_fed4_457d_bb02_6576f512c4c3 + neatId: http://purl.org/cognite/neat/neatId_82010c62_f5f5_4b22_8e8f_a8e0284d82e5 nullable: true value_type: text view: ClassicEvent view_property: subtype + - connection: direct + container: cdf_cdm:CogniteActivity + container_property: timeSeries + description: A list of time series the activity is related to. + immutable: false + is_list: true + name: Time series + neatId: http://purl.org/cognite/neat/neatId_8741da5d_97e2_4d68_8d0f_730f17042d9d + nullable: true + value_type: ClassicTimeSeries + view: ClassicEvent + view_property: timeSeries - container: ClassicEvent container_property: type is_list: false logical: http://purl.org/cognite/neat/neatId_287d06ca_6f4c_469a_8b22_d3081c8eaee9 - neatId: http://purl.org/cognite/neat/neatId_7c967f79_b7e9_4aca_a970_65e18e46d534 + neatId: http://purl.org/cognite/neat/neatId_118a9d29_2f92_4996_99f1_95d014822f53 nullable: true value_type: text view: ClassicEvent @@ -1937,7 +2433,7 @@ rules: immutable: false is_list: true logical: http://purl.org/cognite/neat/neatId_b8db0672_f42d_47cc_80d4_af5974273ca3 - neatId: http://purl.org/cognite/neat/neatId_37bb3eec_4bf5_4b52_b09d_258c27a0c3d7 + neatId: http://purl.org/cognite/neat/neatId_dca02eec_acda_4acc_9165_e21098543881 nullable: true value_type: ClassicAsset view: ClassicFile @@ -1947,16 +2443,24 @@ rules: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_f8cda88b_436d_46e2_b83c_fe0be037e5ed - neatId: http://purl.org/cognite/neat/neatId_bc594585_9445_48c0_8ef8_c2d6f7fd5646 + neatId: http://purl.org/cognite/neat/neatId_f10c718b_1eb0_438a_a75d_d5af3c365296 nullable: true value_type: ClassicDataSet view: ClassicFile view_property: dataSetId + - connection: reverse(property=files) + description: An automatically updated list of equipment this file is related to. + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_7810e930_e85f_4dbf_afc1_0cae559aa035 + value_type: ClassicEquipment + view: ClassicFile + view_property: equipment - container: ClassicFile container_property: metadata is_list: false logical: http://purl.org/cognite/neat/neatId_81f76d1c_2dbc_4134_830f_f46e8026695f - neatId: http://purl.org/cognite/neat/neatId_504867ba_bf7b_439b_8f9a_ea4b8acd4e10 + neatId: http://purl.org/cognite/neat/neatId_94340a03_3f07_4814_91d6_3f78e3e9de99 nullable: true value_type: json view: ClassicFile @@ -1967,7 +2471,7 @@ rules: index: name is_list: false logical: http://purl.org/cognite/neat/neatId_a013ac6e_deda_4e16_9b3d_bd5ce9a1fa6f - neatId: http://purl.org/cognite/neat/neatId_7a0ecfea_958c_49ba_8cd6_20c20ea2622b + neatId: http://purl.org/cognite/neat/neatId_14fcdd54_9e8f_4965_8a2c_827e98326856 nullable: true value_type: text view: ClassicFile @@ -1979,7 +2483,7 @@ rules: index: source is_list: false logical: http://purl.org/cognite/neat/neatId_81f631d4_a392_41a7_9777_a4774c66e0a8 - neatId: http://purl.org/cognite/neat/neatId_87f7e1fb_da4b_49ca_ab5c_f46780bacd64 + neatId: http://purl.org/cognite/neat/neatId_90b2b633_956b_4c0c_a849_9b926b5252e3 nullable: true value_type: ClassicSourceSystem view: ClassicFile @@ -1989,7 +2493,7 @@ rules: container_property: dataSetId is_list: false logical: http://purl.org/cognite/neat/neatId_5fb8d16c_2720_497d_b2eb_d6899be578c7 - neatId: http://purl.org/cognite/neat/neatId_82010c62_f5f5_4b22_8e8f_a8e0284d82e5 + neatId: http://purl.org/cognite/neat/neatId_42c18a62_ef48_48d5_90fd_9d3f85d51695 nullable: true value_type: ClassicDataSet view: ClassicLabel @@ -1998,7 +2502,7 @@ rules: container_property: description is_list: false logical: http://purl.org/cognite/neat/neatId_f4188f3f_8a14_4e62_a95b_4715c333e861 - neatId: http://purl.org/cognite/neat/neatId_118a9d29_2f92_4996_99f1_95d014822f53 + neatId: http://purl.org/cognite/neat/neatId_506e5a9a_b758_488d_ab73_295b344a54b8 nullable: true value_type: text view: ClassicLabel @@ -2007,28 +2511,92 @@ rules: container_property: name is_list: false logical: http://purl.org/cognite/neat/neatId_eb2263dd_87c5_421e_ac24_a3c5c754108f - neatId: http://purl.org/cognite/neat/neatId_dca02eec_acda_4acc_9165_e21098543881 + neatId: http://purl.org/cognite/neat/neatId_21813d25_6552_48a6_83ff_50113d1a85dd nullable: true value_type: text view: ClassicLabel view_property: name + - connection: direct + container: ClassicSequence + container_property: assetId + is_list: false + logical: http://purl.org/cognite/neat/neatId_7d154385_52fb_443b_9954_6eb400257ad1 + neatId: http://purl.org/cognite/neat/neatId_750cab75_4ccc_4bc2_a53f_8a28abf3e3fc + nullable: true + value_type: ClassicAsset + view: ClassicSequence + view_property: assetId + - container: ClassicSequence + container_property: columns + is_list: true + logical: http://purl.org/cognite/neat/neatId_5cec4eb5_edd9_4831_9ca3_5cfb04fc6d82 + neatId: http://purl.org/cognite/neat/neatId_ef8c485b_c07a_40f2_add4_253b50f0fd0a + nullable: true + value_type: json + view: ClassicSequence + view_property: columns + - container: ClassicSequence + container_property: description + is_list: false + logical: http://purl.org/cognite/neat/neatId_ce88cb2d_d4e8_4839_bc3e_058be0f3eab0 + neatId: http://purl.org/cognite/neat/neatId_9f044aed_7552_4327_8262_7f7312922f83 + nullable: true + value_type: text + view: ClassicSequence + view_property: description + - container: ClassicSequence + container_property: metadata + is_list: false + logical: http://purl.org/cognite/neat/neatId_3da9c2a9_0ed4_4f1a_bd4c_bf374eb93eff + neatId: http://purl.org/cognite/neat/neatId_19985f15_ff00_4d4d_9020_59e4ff9ab5c2 + nullable: true + value_type: json + view: ClassicSequence + view_property: metadata + - container: ClassicSequence + container_property: name + is_list: false + logical: http://purl.org/cognite/neat/neatId_14296c07_f26b_4776_913e_4de2e0c53cb8 + neatId: http://purl.org/cognite/neat/neatId_8181a8cc_3691_47eb_89a2_688b12c136e0 + nullable: true + value_type: text + view: ClassicSequence + view_property: name + - container: ClassicSequence + container_property: rows + is_list: true + logical: http://purl.org/cognite/neat/neatId_d0e6e660_7c69_4ee1_bb5e_4bcf15ed6269 + neatId: http://purl.org/cognite/neat/neatId_5958a499_eeea_463e_a1e8_ac6843e42caf + nullable: true + value_type: json + view: ClassicSequence + view_property: rows - container: cdf_cdm:CogniteDescribable container_property: name immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_7d154385_52fb_443b_9954_6eb400257ad1 - neatId: http://purl.org/cognite/neat/neatId_f10c718b_1eb0_438a_a75d_d5af3c365296 + logical: http://purl.org/cognite/neat/neatId_885f6e66_c2b6_42c5_ba5d_310011b7e948 + neatId: http://purl.org/cognite/neat/neatId_3e896c64_e117_4ac3_919c_4ea3e1805081 nullable: true value_type: text view: ClassicSourceSystem view_property: name + - connection: reverse(property=timeSeries) + description: An automatically updated list of activities the time series is related + to. + is_list: true + name: Activities + neatId: http://purl.org/cognite/neat/neatId_4dd4937e_8c18_42ae_a03e_ac6df70f3159 + value_type: ClassicEvent + view: ClassicTimeSeries + view_property: activities - connection: direct container: cdf_cdm:CogniteTimeSeries container_property: assets immutable: false is_list: true - logical: http://purl.org/cognite/neat/neatId_5cec4eb5_edd9_4831_9ca3_5cfb04fc6d82 - neatId: http://purl.org/cognite/neat/neatId_94340a03_3f07_4814_91d6_3f78e3e9de99 + logical: http://purl.org/cognite/neat/neatId_a8e56e0c_20de_435d_a031_d750c40db9b4 + neatId: http://purl.org/cognite/neat/neatId_702cdd20_2862_48b8_88f4_ef125e9953d2 nullable: true value_type: ClassicAsset view: ClassicTimeSeries @@ -2037,8 +2605,8 @@ rules: container: ClassicTimeSeries container_property: dataSetId is_list: false - logical: http://purl.org/cognite/neat/neatId_ce88cb2d_d4e8_4839_bc3e_058be0f3eab0 - neatId: http://purl.org/cognite/neat/neatId_14fcdd54_9e8f_4965_8a2c_827e98326856 + logical: http://purl.org/cognite/neat/neatId_2a45c2ab_8cbf_4db0_b264_accc79ac1b1e + neatId: http://purl.org/cognite/neat/neatId_4d71c366_b41b_4143_8b10_550cd5704f32 nullable: true value_type: ClassicDataSet view: ClassicTimeSeries @@ -2047,19 +2615,31 @@ rules: container_property: description immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_3da9c2a9_0ed4_4f1a_bd4c_bf374eb93eff - neatId: http://purl.org/cognite/neat/neatId_90b2b633_956b_4c0c_a849_9b926b5252e3 + logical: http://purl.org/cognite/neat/neatId_9b49bd26_df57_459a_8715_a10343dac043 + neatId: http://purl.org/cognite/neat/neatId_ce9e1a11_fcbb_4e59_bbdd_cf7c9c96e9ec nullable: true value_type: text view: ClassicTimeSeries view_property: description + - connection: direct + container: cdf_cdm:CogniteTimeSeries + container_property: equipment + description: A list of equipment the time series is related to. + immutable: false + is_list: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_786d14cf_cf7d_4859_92a7_51bf19b557e0 + nullable: true + value_type: ClassicEquipment + view: ClassicTimeSeries + view_property: equipment - container: cdf_cdm:CogniteTimeSeries container_property: isStep default: 0 immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_14296c07_f26b_4776_913e_4de2e0c53cb8 - neatId: http://purl.org/cognite/neat/neatId_42c18a62_ef48_48d5_90fd_9d3f85d51695 + logical: http://purl.org/cognite/neat/neatId_edcd465e_3638_4821_b6e0_7cc06c52c49f + neatId: http://purl.org/cognite/neat/neatId_aaf91531_0200_41f0_8768_a84fa76afde6 nullable: false value_type: boolean view: ClassicTimeSeries @@ -2067,8 +2647,8 @@ rules: - container: ClassicTimeSeries container_property: metadata is_list: false - logical: http://purl.org/cognite/neat/neatId_885f6e66_c2b6_42c5_ba5d_310011b7e948 - neatId: http://purl.org/cognite/neat/neatId_21813d25_6552_48a6_83ff_50113d1a85dd + logical: http://purl.org/cognite/neat/neatId_66245bfa_4fcc_439a_b683_d2e6337ea2df + neatId: http://purl.org/cognite/neat/neatId_e0ccedc5_f05d_476e_9a84_a51aa9d3d7c7 nullable: true value_type: json view: ClassicTimeSeries @@ -2078,18 +2658,30 @@ rules: immutable: false index: name is_list: false - logical: http://purl.org/cognite/neat/neatId_a8e56e0c_20de_435d_a031_d750c40db9b4 - neatId: http://purl.org/cognite/neat/neatId_750cab75_4ccc_4bc2_a53f_8a28abf3e3fc + logical: http://purl.org/cognite/neat/neatId_5f987c71_a65e_488e_abf3_ad39fec21bbe + neatId: http://purl.org/cognite/neat/neatId_e3c43657_1d8c_4bac_83b4_09ef2260e70f nullable: true value_type: text view: ClassicTimeSeries view_property: name + - connection: direct + container: cdf_cdm:CogniteSourceable + container_property: source + description: Direct relation to a source system + immutable: false + index: source + is_list: false + neatId: http://purl.org/cognite/neat/neatId_9fb95a34_b79b_490f_8362_fc8009874b01 + nullable: true + value_type: ClassicSourceSystem + view: ClassicTimeSeries + view_property: source - container: cdf_cdm:CogniteTimeSeries container_property: type immutable: true is_list: false - logical: http://purl.org/cognite/neat/neatId_d0e6e660_7c69_4ee1_bb5e_4bcf15ed6269 - neatId: http://purl.org/cognite/neat/neatId_506e5a9a_b758_488d_ab73_295b344a54b8 + logical: http://purl.org/cognite/neat/neatId_b09b2a5c_badc_432a_8159_0f538a0f4efb + neatId: http://purl.org/cognite/neat/neatId_ee87905e_4ca4_45ea_8dfa_6a56d12dbc9a nullable: false value_type: enum(collection=timeseriesType) view: ClassicTimeSeries @@ -2099,8 +2691,8 @@ rules: container_property: unit immutable: false is_list: false - logical: http://purl.org/cognite/neat/neatId_2a45c2ab_8cbf_4db0_b264_accc79ac1b1e - neatId: http://purl.org/cognite/neat/neatId_ef8c485b_c07a_40f2_add4_253b50f0fd0a + logical: http://purl.org/cognite/neat/neatId_7394988f_847f_49b4_a64d_1bcb702753a1 + neatId: http://purl.org/cognite/neat/neatId_27cb6f2a_8da0_4097_be0f_051b1b66b5a9 nullable: true value_type: cdf_cdm:CogniteUnit(version=v1) view: ClassicTimeSeries @@ -2109,46 +2701,46 @@ rules: - description: '' implements: cdf_cdm:Cognite3DTransformation(version=v1),cdf_cdm:CogniteCubeMap(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_e87466d7_ad66_41bd_9367_6a024fdc6e1b + neatId: http://purl.org/cognite/neat/neatId_2d174fc9_6f7c_45ea_a72a_6d8eb5122df8 view: cdf_cdm:Cognite360Image(version=v1) - description: '' implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1),cdf_cdm:CogniteAnnotation(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_f1043785_658b_4523_a014_1de9f54ad0a2 + neatId: http://purl.org/cognite/neat/neatId_a6846099_f729_4951_8591_31d2bbda0242 view: cdf_cdm:Cognite360ImageAnnotation(version=v1) - description: Represents a logical collection of Cognite360Image instances implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:Cognite3DRevision(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_9793b9b4_1374_4146_b2c5_bd89b70b3420 + neatId: http://purl.org/cognite/neat/neatId_eb6c1016_cee6_44d0_9dac_6e8345241ea6 view: cdf_cdm:Cognite360ImageCollection(version=v1) - description: Navigational aid for traversing Cognite360ImageModel instances implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:Cognite3DModel(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_3e2b6091_a092_452a_94a0_57a7b0cc1b3b + neatId: http://purl.org/cognite/neat/neatId_7701f7bb_7bc6_4e1f_864e_e6e389c5b31a view: cdf_cdm:Cognite360ImageModel(version=v1) - description: A way to group images across collections. Used for creating visual scan history implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_4d3485c5_c5c1_4eb4_b27b_3d901a16342c + neatId: http://purl.org/cognite/neat/neatId_97ac6aa8_bb24_48a3_9363_57b66f81cf4f view: cdf_cdm:Cognite360ImageStation(version=v1) - description: Groups revisions of 3D data of various kinds together (CAD, PointCloud, Image360) implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_ce3714af_99b4_4350_af2b_99b4d9acd158 + neatId: http://purl.org/cognite/neat/neatId_3ed8c56c_da09_4fa0_9282_8d8044b591f7 view: cdf_cdm:Cognite3DModel(version=v1) - description: This is the virtual position representation of an object in the physical world, connecting an asset to one or more 3D resources implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_90e0f4a0_fbdd_4933_8bd5_8bf61efd76e9 + neatId: http://purl.org/cognite/neat/neatId_4767d76c_162f_4a24_af43_613cd4aac9a3 view: cdf_cdm:Cognite3DObject(version=v1) - description: Shared revision information for various 3D data types. Normally not used directly, but through CognitePointCloudRevision, Image360Collection or CogniteCADRevision in_model: true - neatId: http://purl.org/cognite/neat/neatId_8861fe18_58e2_4888_8a83_81bec85aca46 + neatId: http://purl.org/cognite/neat/neatId_c01f36bf_3e6d_458b_b367_c28de1b294de view: cdf_cdm:Cognite3DRevision(version=v1) - description: The Cognite3DTransformation object defines a comprehensive 3D transformation, enabling precise adjustments to an object's position, orientation, and size @@ -2158,158 +2750,168 @@ rules: is defined in "CDF space", a coordinate system where the positive Z axis is the up direction in_model: true - neatId: http://purl.org/cognite/neat/neatId_11a72609_5edd_4bbf_a959_76636daa2e68 + neatId: http://purl.org/cognite/neat/neatId_ab0e664e_9c3e_42d5_91e1_aa9676f72255 view: cdf_cdm:Cognite3DTransformation(version=v1) - description: Represents activities. Activities typically happen over a period and have a start and end time. implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1),cdf_cdm:CogniteSchedulable(version=v1) in_model: true name: Activity - neatId: http://purl.org/cognite/neat/neatId_033d2bce_575a_4d2c_a5c5_650c8186a576 + neatId: http://purl.org/cognite/neat/neatId_7e8adee7_0758_4201_961e_16d16105716b view: cdf_cdm:CogniteActivity(version=v1) - description: Annotation represents contextualization results or links implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_7d7ddbed_d284_476c_ab88_f83dd97dc9cd + neatId: http://purl.org/cognite/neat/neatId_7cd0129d_2e8d_4e87_9334_20e6d9d80b8d view: cdf_cdm:CogniteAnnotation(version=v1) - description: Assets represent systems that support industrial functions or processes. Assets are often called 'functional location'. implements: cdf_cdm:CogniteVisualizable(version=v1),cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1) in_model: true name: Asset - neatId: http://purl.org/cognite/neat/neatId_5cb85aed_f5f6_4c97_aefb_63b11b049863 + neatId: http://purl.org/cognite/neat/neatId_4223623b_cc3e_4dde_9ad5_cf06364d7c87 view: cdf_cdm:CogniteAsset(version=v1) - description: Represents the class of an asset. implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true name: Asset class - neatId: http://purl.org/cognite/neat/neatId_75b17a55_d426_4982_a43e_4288a2b5b498 + neatId: http://purl.org/cognite/neat/neatId_989d9d4a_e15c_4666_8797_b2c957207246 view: cdf_cdm:CogniteAssetClass(version=v1) - description: Represents the type of an asset. implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true name: Asset type - neatId: http://purl.org/cognite/neat/neatId_2d174fc9_6f7c_45ea_a72a_6d8eb5122df8 + neatId: http://purl.org/cognite/neat/neatId_8e485223_46b9_4991_a14e_b70db380c73a view: cdf_cdm:CogniteAssetType(version=v1) - description: Navigational aid for traversing CogniteCADModel instances implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:Cognite3DModel(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_a6846099_f729_4951_8591_31d2bbda0242 + neatId: http://purl.org/cognite/neat/neatId_30e912f2_f2b4_4abf_8441_aefd0299436a view: cdf_cdm:CogniteCADModel(version=v1) - description: Represents nodes from the 3D model that have been contextualized implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_eb6c1016_cee6_44d0_9dac_6e8345241ea6 + neatId: http://purl.org/cognite/neat/neatId_680bac63_b856_4035_bdc9_829015eabb27 view: cdf_cdm:CogniteCADNode(version=v1) - description: '' implements: cdf_cdm:Cognite3DRevision(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_7701f7bb_7bc6_4e1f_864e_e6e389c5b31a + neatId: http://purl.org/cognite/neat/neatId_3d85de89_c217_4429_8e20_07247d137018 view: cdf_cdm:CogniteCADRevision(version=v1) - description: The cube map holds references to 6 images in used to visually represent the surrounding environment in_model: true - neatId: http://purl.org/cognite/neat/neatId_97ac6aa8_bb24_48a3_9363_57b66f81cf4f + neatId: http://purl.org/cognite/neat/neatId_b63b4dc3_a559_4463_b9e1_3ceab0cbc61f view: cdf_cdm:CogniteCubeMap(version=v1) - description: The describable core concept is used as a standard way of holding the bare minimum of information about the instance in_model: true - neatId: http://purl.org/cognite/neat/neatId_3ed8c56c_da09_4fa0_9282_8d8044b591f7 + neatId: http://purl.org/cognite/neat/neatId_046a0df5_cafd_4613_b2bb_912d7da67785 view: cdf_cdm:CogniteDescribable(version=v1) - description: Equipment represents physical supplies or devices. implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1) in_model: true name: Equipment - neatId: http://purl.org/cognite/neat/neatId_4767d76c_162f_4a24_af43_613cd4aac9a3 + neatId: http://purl.org/cognite/neat/neatId_6786d506_38ba_4abc_8b53_05e517d2582e view: cdf_cdm:CogniteEquipment(version=v1) - description: Represents the type of equipment. implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true name: Equipment type - neatId: http://purl.org/cognite/neat/neatId_c01f36bf_3e6d_458b_b367_c28de1b294de + neatId: http://purl.org/cognite/neat/neatId_a9f948b2_4e63_44bb_be49_3f43b118f68d view: cdf_cdm:CogniteEquipmentType(version=v1) - description: Represents files. implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1) in_model: true name: File - neatId: http://purl.org/cognite/neat/neatId_ab0e664e_9c3e_42d5_91e1_aa9676f72255 + neatId: http://purl.org/cognite/neat/neatId_8db06746_7927_4973_9e78_1fd794e0d3ba view: cdf_cdm:CogniteFile(version=v1) - description: Represents the categories of files as determined by contextualization or categorization. implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true name: File category - neatId: http://purl.org/cognite/neat/neatId_7e8adee7_0758_4201_961e_16d16105716b + neatId: http://purl.org/cognite/neat/neatId_ff233d5f_6ced_415d_9800_7c0287ea7ff5 view: cdf_cdm:CogniteFileCategory(version=v1) - description: PointCloud volume definition implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_7cd0129d_2e8d_4e87_9334_20e6d9d80b8d + neatId: http://purl.org/cognite/neat/neatId_5a104129_54ae_4d1b_8ce6_424dbef59fe6 view: cdf_cdm:CognitePointCloudVolume(version=v1) - description: CogniteSchedulable represents the metadata about when an activity (or similar) starts and ends. in_model: true - neatId: http://purl.org/cognite/neat/neatId_4223623b_cc3e_4dde_9ad5_cf06364d7c87 + neatId: http://purl.org/cognite/neat/neatId_4e7ed827_455a_4762_b428_a656b3ee4d3b view: cdf_cdm:CogniteSchedulable(version=v1) - description: The CogniteSourceSystem core concept is used to standardize the way source system is stored. implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_989d9d4a_e15c_4666_8797_b2c957207246 + neatId: http://purl.org/cognite/neat/neatId_b8a6171f_1ee3_4dc4_bb04_8a8b405bfdc9 view: cdf_cdm:CogniteSourceSystem(version=v1) - in_model: true - neatId: http://purl.org/cognite/neat/neatId_8e485223_46b9_4991_a14e_b70db380c73a + neatId: http://purl.org/cognite/neat/neatId_be2d740a_1e9b_43bc_90c7_c006314d3441 view: cdf_cdm:CogniteSourceable(version=v1) - description: Represents a series of data points in time order. implements: cdf_cdm:CogniteDescribable(version=v1),cdf_cdm:CogniteSourceable(version=v1) in_model: true name: Time series - neatId: http://purl.org/cognite/neat/neatId_30e912f2_f2b4_4abf_8441_aefd0299436a + neatId: http://purl.org/cognite/neat/neatId_b0ae8f08_c31e_4bbc_b36c_b62b892e6161 view: cdf_cdm:CogniteTimeSeries(version=v1) - description: Represents a single unit of measurement implements: cdf_cdm:CogniteDescribable(version=v1) in_model: true - neatId: http://purl.org/cognite/neat/neatId_f3397b4c_b6e0_4701_8ea3_7edbf72bf50d + neatId: http://purl.org/cognite/neat/neatId_9be483e1_8313_4558_b7df_0268a58a6bc8 view: cdf_cdm:CogniteUnit(version=v1) - description: CogniteVisualizable defines the standard way to reference a related 3D resource in_model: true - neatId: http://purl.org/cognite/neat/neatId_3d85de89_c217_4429_8e20_07247d137018 + neatId: http://purl.org/cognite/neat/neatId_96ef2ad6_b97e_4703_86c8_adfe7bf47042 view: cdf_cdm:CogniteVisualizable(version=v1) - implements: cdf_cdm:CogniteAsset(version=v1) in_model: true - logical: http://purl.org/cognite/neat/neatId_9b49bd26_df57_459a_8715_a10343dac043 - neatId: http://purl.org/cognite/neat/neatId_9f044aed_7552_4327_8262_7f7312922f83 + logical: http://purl.org/cognite/neat/neatId_1064005c_3985_43cf_bf76_be1d1efa2197 + neatId: http://purl.org/cognite/neat/neatId_35ebd32d_9ad6_40ab_8821_2ddb45b89cd9 view: ClassicAsset - in_model: true - logical: http://purl.org/cognite/neat/neatId_5f987c71_a65e_488e_abf3_ad39fec21bbe - neatId: http://purl.org/cognite/neat/neatId_3e896c64_e117_4ac3_919c_4ea3e1805081 + logical: http://purl.org/cognite/neat/neatId_080aadfb_e7c9_4b26_9141_25c63a9bedd4 + neatId: http://purl.org/cognite/neat/neatId_a2607723_17a0_4f49_8d01_280fd89a40c0 view: ClassicAssetToAssetEdge - in_model: true - logical: http://purl.org/cognite/neat/neatId_66245bfa_4fcc_439a_b683_d2e6337ea2df - neatId: http://purl.org/cognite/neat/neatId_5958a499_eeea_463e_a1e8_ac6843e42caf + logical: http://purl.org/cognite/neat/neatId_0f1259e0_a18f_46b6_b535_106e122c9a56 + neatId: http://purl.org/cognite/neat/neatId_e87d1c78_e7c4_41c7_8049_7b717d106c60 view: ClassicDataSet + - description: Equipment represents physical supplies or devices. + implements: cdf_cdm:CogniteEquipment(version=v1) + in_model: true + name: Equipment + neatId: http://purl.org/cognite/neat/neatId_0e02efdf_7279_49e7_a027_a77002e69134 + view: ClassicEquipment - implements: cdf_cdm:CogniteActivity(version=v1) in_model: true - logical: http://purl.org/cognite/neat/neatId_1064005c_3985_43cf_bf76_be1d1efa2197 - neatId: http://purl.org/cognite/neat/neatId_4d71c366_b41b_4143_8b10_550cd5704f32 + logical: http://purl.org/cognite/neat/neatId_7c441fe7_ab42_40a7_874a_493b3ceddf2d + neatId: http://purl.org/cognite/neat/neatId_217d65a0_c568_41cd_9563_f61600e85ece view: ClassicEvent - implements: cdf_cdm:CogniteFile(version=v1) in_model: true - logical: http://purl.org/cognite/neat/neatId_8dcdcd03_969b_4662_8562_8059568cc69b - neatId: http://purl.org/cognite/neat/neatId_ce9e1a11_fcbb_4e59_bbdd_cf7c9c96e9ec + logical: http://purl.org/cognite/neat/neatId_93829b43_922f_415a_a1e3_db63ef7ddc76 + neatId: http://purl.org/cognite/neat/neatId_b4a69f3c_8d3a_4d99_b11c_21c9bdc14f1f view: ClassicFile - in_model: true - logical: http://purl.org/cognite/neat/neatId_edcd465e_3638_4821_b6e0_7cc06c52c49f - neatId: http://purl.org/cognite/neat/neatId_19985f15_ff00_4d4d_9020_59e4ff9ab5c2 + logical: http://purl.org/cognite/neat/neatId_8dcdcd03_969b_4662_8562_8059568cc69b + neatId: http://purl.org/cognite/neat/neatId_afffcfd2_341e_440b_97c7_00aab7b56ea7 view: ClassicLabel + - in_model: true + logical: http://purl.org/cognite/neat/neatId_b92da22b_21df_406f_8a0b_3c3336d8393a + neatId: http://purl.org/cognite/neat/neatId_295d6fbf_430f_401d_bad4_09e2a319dcb4 + view: ClassicSequence - implements: cdf_cdm:CogniteSourceSystem(version=v1) in_model: true - logical: http://purl.org/cognite/neat/neatId_7394988f_847f_49b4_a64d_1bcb702753a1 - neatId: http://purl.org/cognite/neat/neatId_702cdd20_2862_48b8_88f4_ef125e9953d2 + logical: http://purl.org/cognite/neat/neatId_839fbc50_1223_4513_9496_f63cdc1110c1 + neatId: http://purl.org/cognite/neat/neatId_0b49452d_46d4_43f3_9450_281c6c6f7633 view: ClassicSourceSystem - implements: cdf_cdm:CogniteTimeSeries(version=v1) in_model: true - logical: http://purl.org/cognite/neat/neatId_b09b2a5c_badc_432a_8159_0f538a0f4efb - neatId: http://purl.org/cognite/neat/neatId_8181a8cc_3691_47eb_89a2_688b12c136e0 + logical: http://purl.org/cognite/neat/neatId_01d74256_3860_4ab6_96a4_02f23ae8cc93 + neatId: http://purl.org/cognite/neat/neatId_81627cf1_4394_42e6_9a58_7e8aa25d6b29 view: ClassicTimeSeries diff --git a/tests/tests_unit/rules/test_transformers/test_mapping.py b/tests/tests_unit/rules/test_transformers/test_mapping.py index 1131a4082..13ace3d2e 100644 --- a/tests/tests_unit/rules/test_transformers/test_mapping.py +++ b/tests/tests_unit/rules/test_transformers/test_mapping.py @@ -53,9 +53,7 @@ def test_map_single_property(self) -> None: ], views=[ DMSInputView(view="MyAsset", implements="cdf_cdm:CogniteAsset(version=v1)"), - DMSInputView(view="cdf_cdm:CogniteAsset(version=v1)"), ], - containers=[DMSInputContainer(container="cdf_cdm:CogniteAsset")], ).as_verified_rules() transformed = RuleMapper(mapping).transform(input_rules)