cognite-neat 0.121.1__tar.gz → 0.122.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cognite-neat might be problematic. Click here for more details.

Files changed (636) hide show
  1. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/PKG-INFO +14 -7
  2. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/README.md +13 -6
  3. cognite_neat-0.122.0/cognite/neat/_version.py +2 -0
  4. cognite_neat-0.122.0/cognite/neat/core/_client/_api/statistics.py +91 -0
  5. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/_api_client.py +2 -0
  6. cognite_neat-0.122.0/cognite/neat/core/_client/data_classes/statistics.py +125 -0
  7. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/testing.py +4 -0
  8. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_constants.py +6 -7
  9. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/_constants.py +23 -16
  10. cognite_neat-0.122.0/cognite/neat/core/_data_model/_shared.py +59 -0
  11. cognite_neat-0.122.0/cognite/neat/core/_data_model/analysis/__init__.py +3 -0
  12. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/analysis/_base.py +186 -183
  13. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/catalog/__init__.py +2 -2
  14. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/exporters/__init__.py +6 -6
  15. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/exporters/_base.py +10 -8
  16. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_rules2dms.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/exporters/_data_model2dms.py +22 -18
  17. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_rules2excel.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/exporters/_data_model2excel.py +51 -51
  18. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_rules2instance_template.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/exporters/_data_model2instance_template.py +14 -14
  19. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_rules2ontology.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/exporters/_data_model2ontology.py +50 -50
  20. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_rules2yaml.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/exporters/_data_model2yaml.py +21 -18
  21. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/importers/__init__.py +8 -8
  22. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/importers/_base.py +8 -6
  23. cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_base_file_reader.py +56 -0
  24. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_yaml2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dict2data_model.py +50 -25
  25. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dms2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dms2data_model.py +58 -49
  26. {cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dtdl2rules → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dtdl2data_model}/dtdl_converter.py +22 -22
  27. {cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dtdl2rules → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dtdl2data_model}/dtdl_importer.py +7 -7
  28. {cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dtdl2rules → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dtdl2data_model}/spec.py +3 -3
  29. cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_rdf/__init__.py +5 -0
  30. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/importers/_rdf/_base.py +15 -15
  31. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_rdf/_imf2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_rdf/_imf2data_model.py +17 -17
  32. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_rdf/_inference2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_rdf/_inference2rdata_model.py +59 -59
  33. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_rdf/_owl2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +17 -17
  34. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/importers/_rdf/_shared.py +25 -25
  35. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_spreadsheet2rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_spreadsheet2data_model.py +76 -19
  36. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/__init__.py +11 -9
  37. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/_base_unverified.py +12 -12
  38. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/_base_verified.py +9 -14
  39. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/_types.py +6 -6
  40. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/conceptual/__init__.py +6 -6
  41. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/conceptual/_unverified.py +20 -20
  42. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/conceptual/_validation.py +88 -78
  43. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/conceptual/_verified.py +54 -52
  44. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/data_types.py +2 -2
  45. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/__init__.py +8 -8
  46. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_loaders.py +11 -10
  47. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_multi_value.py +5 -5
  48. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_single_value.py +44 -38
  49. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_types.py +9 -3
  50. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_wrapped.py +3 -3
  51. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/mapping/_classic2core.py +12 -9
  52. cognite_neat-0.122.0/cognite/neat/core/_data_model/models/physical/__init__.py +40 -0
  53. {cognite_neat-0.121.1/cognite/neat/core/_data_model/models/dms → cognite_neat-0.122.0/cognite/neat/core/_data_model/models/physical}/_exporter.py +75 -55
  54. cognite_neat-0.121.1/cognite/neat/core/_data_model/models/dms/_rules_input.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/models/physical/_unverified.py +48 -39
  55. {cognite_neat-0.121.1/cognite/neat/core/_data_model/models/dms → cognite_neat-0.122.0/cognite/neat/core/_data_model/models/physical}/_validation.py +17 -15
  56. cognite_neat-0.121.1/cognite/neat/core/_data_model/models/dms/_rules.py → cognite_neat-0.122.0/cognite/neat/core/_data_model/models/physical/_verified.py +68 -60
  57. cognite_neat-0.122.0/cognite/neat/core/_data_model/transformers/__init__.py +68 -0
  58. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/transformers/_base.py +27 -20
  59. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/transformers/_converters.py +707 -622
  60. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/transformers/_mapping.py +74 -55
  61. cognite_neat-0.122.0/cognite/neat/core/_data_model/transformers/_verification.py +120 -0
  62. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_base.py +2 -2
  63. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_classic.py +9 -9
  64. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_dms_graph.py +42 -34
  65. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_mock_graph_generator.py +107 -103
  66. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/loaders/_base.py +3 -3
  67. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/loaders/_rdf2dms.py +22 -22
  68. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/_base.py +7 -4
  69. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/_rdfpath.py +1 -1
  70. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/_value_type.py +2 -6
  71. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/_base.py +4 -4
  72. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/_factory.py +1 -1
  73. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/__init__.py +2 -2
  74. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/_resources.py +1 -1
  75. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/_wrapper.py +2 -2
  76. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/_models.py +4 -4
  77. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/_properties.py +1 -1
  78. cognite_neat-0.122.0/cognite/neat/core/_store/__init__.py +4 -0
  79. cognite_neat-0.121.1/cognite/neat/core/_store/_rules_store.py → cognite_neat-0.122.0/cognite/neat/core/_store/_data_model.py +119 -112
  80. cognite_neat-0.121.1/cognite/neat/core/_store/_graph_store.py → cognite_neat-0.122.0/cognite/neat/core/_store/_instance.py +3 -4
  81. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_store/_provenance.py +2 -2
  82. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_store/exceptions.py +2 -2
  83. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/rdf_.py +14 -0
  84. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/text.py +1 -1
  85. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_base.py +42 -36
  86. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_drop.py +2 -2
  87. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_experimental.py +1 -1
  88. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_inspect.py +13 -13
  89. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_mapping.py +15 -9
  90. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_read.py +39 -37
  91. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_set.py +6 -6
  92. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_show.py +24 -21
  93. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_state/README.md +1 -1
  94. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_state.py +27 -27
  95. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_subset.py +14 -11
  96. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_template.py +23 -21
  97. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_to.py +42 -42
  98. cognite_neat-0.122.0/docs/excel_data_modeling/conceptual/overview.md +10 -0
  99. {cognite_neat-0.121.1/docs/excel_data_modeling/logical → cognite_neat-0.122.0/docs/excel_data_modeling/conceptual}/reference.md +18 -20
  100. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/physical/enum.md +2 -2
  101. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/physical/overview.md +1 -1
  102. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/physical/properties.md +11 -11
  103. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/physical/reference.md +9 -8
  104. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/physical/views.md +5 -5
  105. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/gettingstarted/installation.md +32 -12
  106. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/gettingstarted/why-neat.md +17 -17
  107. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/index.md +12 -5
  108. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/overview.md +2 -2
  109. cognite_neat-0.122.0/docs/tutorials/data-modeling/cold_start.ipynb +483 -0
  110. cognite_neat-0.122.0/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
  111. cognite_neat-0.122.0/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
  112. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +37 -45
  113. cognite_neat-0.122.0/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +456 -0
  114. cognite_neat-0.122.0/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
  115. cognite_neat-0.122.0/last_changelog_entry.md +6 -0
  116. cognite_neat-0.122.0/last_git_message.txt +32 -0
  117. cognite_neat-0.122.0/last_version.txt +1 -0
  118. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/mkdocs.yml +4 -5
  119. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/pyproject.toml +1 -1
  120. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/create_classic_core_mapping_yaml.py +3 -3
  121. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/docs_generate_reference.py +10 -4
  122. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/manual_test_dms_importer.py +5 -5
  123. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/conftest.py +24 -19
  124. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/car.py +25 -19
  125. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conversion/single_concept.conceptual.yaml +4 -4
  126. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conversion/single_concept.physical.yaml +4 -4
  127. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/windturbine.py +27 -27
  128. cognite_neat-0.122.0/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
  129. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +161 -161
  130. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_api/test_conversion.py +11 -9
  131. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_api/test_validate_rules.py +4 -4
  132. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_graph/test_loaders/test_dms_loader.py +22 -15
  133. cognite_neat-0.122.0/tests/tests_integration/test_neat_client/test_statistics.py +32 -0
  134. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_rules/test_exporters/test_dms_exporters.py +36 -32
  135. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +79 -79
  136. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_prepare_fix.py +3 -3
  137. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_to.py +10 -7
  138. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +97 -97
  139. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +81 -81
  140. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +649 -649
  141. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +157 -157
  142. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +312 -312
  143. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +339 -339
  144. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_graph_flow.py +7 -7
  145. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_read.py +3 -3
  146. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_asset_extractor.py +3 -3
  147. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +4 -4
  148. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_graph_read.py +2 -2
  149. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_loaders/test_dms_loader.py +43 -35
  150. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +13 -9
  151. cognite_neat-0.122.0/tests/tests_unit/test_graph/test_provenance.py +8 -0
  152. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +4 -4
  153. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +3 -3
  154. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +3 -3
  155. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +3 -3
  156. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +3 -3
  157. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +3 -3
  158. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +3 -3
  159. cognite_neat-0.122.0/tests/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +37 -0
  160. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_prune_graph.py +2 -2
  161. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +5 -5
  162. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_analysis.py +18 -18
  163. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/test_exporters_meta.py +2 -2
  164. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/test_rules2dms.py +10 -7
  165. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/test_rules2excel.py +9 -9
  166. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/test_rules2ontology.py +1 -1
  167. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/test_rules2yaml.py +7 -7
  168. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_dms_importer.py +22 -19
  169. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_dtdl_importer.py +12 -9
  170. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_excel_importer.py +22 -16
  171. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_imf_importer.py +4 -4
  172. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_inference_importer.py +24 -24
  173. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_owl_importer.py +12 -12
  174. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/test_subinference_importer.py +1 -1
  175. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_asset_rules.py +16 -16
  176. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_base_rules.py +6 -6
  177. cognite_neat-0.121.1/tests/tests_unit/test_rules/test_models/test_information_rules.py → cognite_neat-0.122.0/tests/tests_unit/test_rules/test_models/test_conceptual_model.py +75 -66
  178. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_data_types.py +4 -4
  179. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_dms_schema.py +2 -2
  180. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_entities.py +12 -12
  181. cognite_neat-0.121.1/tests/tests_unit/test_rules/test_models/test_dms_rules.py → cognite_neat-0.122.0/tests/tests_unit/test_rules/test_models/test_physical_data_model.py +254 -242
  182. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_wrapped_entities.py +3 -3
  183. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_transformers/test_converters.py +58 -55
  184. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_transformers/test_mapping.py +20 -20
  185. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_transformers/test_transformer_meta.py +18 -15
  186. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_session/test_to_yaml.py +5 -5
  187. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_store/tests_rules_store.py +12 -12
  188. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/test_auxiliary.py +2 -2
  189. cognite_neat-0.122.0/tests/tests_unit/test_utils/test_rdf.py +30 -0
  190. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/utils.py +8 -8
  191. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/uv.lock +527 -542
  192. cognite_neat-0.121.1/cognite/neat/_version.py +0 -2
  193. cognite_neat-0.121.1/cognite/neat/core/_data_model/_shared.py +0 -43
  194. cognite_neat-0.121.1/cognite/neat/core/_data_model/analysis/__init__.py +0 -3
  195. cognite_neat-0.121.1/cognite/neat/core/_data_model/exporters/_validation.py +0 -14
  196. cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -5
  197. cognite_neat-0.121.1/cognite/neat/core/_data_model/models/dms/__init__.py +0 -32
  198. cognite_neat-0.121.1/cognite/neat/core/_data_model/transformers/__init__.py +0 -64
  199. cognite_neat-0.121.1/cognite/neat/core/_data_model/transformers/_verification.py +0 -111
  200. cognite_neat-0.121.1/cognite/neat/core/_store/__init__.py +0 -4
  201. cognite_neat-0.121.1/docs/excel_data_modeling/logical/overview.md +0 -8
  202. cognite_neat-0.121.1/docs/excel_data_modeling/logical/properties.md +0 -281
  203. cognite_neat-0.121.1/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
  204. cognite_neat-0.121.1/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
  205. cognite_neat-0.121.1/last_changelog_entry.md +0 -7
  206. cognite_neat-0.121.1/last_git_message.txt +0 -23
  207. cognite_neat-0.121.1/last_version.txt +0 -1
  208. cognite_neat-0.121.1/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
  209. cognite_neat-0.121.1/tests/tests_unit/test_graph/test_provenance.py +0 -8
  210. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.coveragerc +0 -0
  211. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/CODEOWNERS +0 -0
  212. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  213. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  214. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/pull_request_template.md +0 -0
  215. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/renovate.json +0 -0
  216. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/workflows/code-quality.yaml +0 -0
  217. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.github/workflows/release.yaml +0 -0
  218. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.gitignore +0 -0
  219. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.pre-commit-config.yaml +0 -0
  220. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/.readthedocs.yaml +0 -0
  221. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/CODE_OF_CONDUCT.md +0 -0
  222. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/CONTRIBUTING.md +0 -0
  223. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/LICENSE +0 -0
  224. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cdf.toml +0 -0
  225. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/codecov.yml +0 -0
  226. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/__init__.py +0 -0
  227. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/__init__.py +0 -0
  228. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/__init__.py +0 -0
  229. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/_api/__init__.py +0 -0
  230. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/_api/data_modeling_loaders.py +0 -0
  231. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/_api/neat_instances.py +0 -0
  232. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/_api/schema.py +0 -0
  233. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/data_classes/__init__.py +0 -0
  234. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/data_classes/data_modeling.py +0 -0
  235. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/data_classes/neat_sequence.py +0 -0
  236. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_client/data_classes/schema.py +0 -0
  237. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_config.py +0 -0
  238. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/__init__.py +0 -0
  239. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/catalog/classic_model.xlsx +0 -0
  240. /cognite_neat-0.121.1/cognite/neat/core/_data_model/catalog/info-rules-imf.xlsx → /cognite_neat-0.122.0/cognite/neat/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  241. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  242. {cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dtdl2rules → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dtdl2data_model}/__init__.py +0 -0
  243. {cognite_neat-0.121.1/cognite/neat/core/_data_model/importers/_dtdl2rules → cognite_neat-0.122.0/cognite/neat/core/_data_model/importers/_dtdl2data_model}/_unit_lookup.py +0 -0
  244. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/entities/_constants.py +0 -0
  245. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/mapping/__init__.py +0 -0
  246. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  247. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/__init__.py +0 -0
  248. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/_shared.py +0 -0
  249. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/_tracking/__init__.py +0 -0
  250. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/_tracking/base.py +0 -0
  251. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/_tracking/log.py +0 -0
  252. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  253. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  254. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/examples/__init__.py +0 -0
  255. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  256. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/__init__.py +0 -0
  257. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  258. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  259. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_base.py +0 -0
  260. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  261. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  262. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  263. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  264. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
  265. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
  266. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  267. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_dict.py +0 -0
  268. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_dms.py +0 -0
  269. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_raw.py +0 -0
  270. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/extractors/_rdf_file.py +0 -0
  271. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/loaders/__init__.py +0 -0
  272. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/queries/__init__.py +0 -0
  273. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/queries/_base.py +0 -0
  274. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/queries/_queries.py +0 -0
  275. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/queries/_select.py +0 -0
  276. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/queries/_update.py +0 -0
  277. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/__init__.py +0 -0
  278. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/_classic_cdf.py +0 -0
  279. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_instances/transformers/_prune_graph.py +0 -0
  280. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/__init__.py +0 -0
  281. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/_contextmanagers.py +0 -0
  282. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/_external.py +0 -0
  283. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/_general.py +0 -0
  284. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/errors/_properties.py +0 -0
  285. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/formatters.py +0 -0
  286. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/__init__.py +0 -0
  287. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/_external.py +0 -0
  288. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/_general.py +0 -0
  289. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/_resources.py +0 -0
  290. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_issues/warnings/user_modeling.py +0 -0
  291. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_shared.py +0 -0
  292. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/__init__.py +0 -0
  293. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/auth.py +0 -0
  294. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/auxiliary.py +0 -0
  295. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/collection_.py +0 -0
  296. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/graph_transformations_report.py +0 -0
  297. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/io_.py +0 -0
  298. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/reader/__init__.py +0 -0
  299. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/reader/_base.py +0 -0
  300. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/spreadsheet.py +0 -0
  301. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/time_.py +0 -0
  302. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/upload.py +0 -0
  303. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/core/_utils/xml_.py +0 -0
  304. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/py.typed +0 -0
  305. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/__init__.py +0 -0
  306. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_collector.py +0 -0
  307. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_explore.py +0 -0
  308. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_fix.py +0 -0
  309. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_prepare.py +0 -0
  310. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/_wizard.py +0 -0
  311. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/engine/__init__.py +0 -0
  312. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/engine/_import.py +0 -0
  313. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/engine/_interface.py +0 -0
  314. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/engine/_load.py +0 -0
  315. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/cognite/neat/session/exceptions.py +0 -0
  316. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/dev.py +0 -0
  317. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
  318. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
  319. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
  320. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
  321. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/aml-dm.png +0 -0
  322. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
  323. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/aml-instances-full.png +0 -0
  324. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
  325. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
  326. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
  327. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
  328. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
  329. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/authorship.png +0 -0
  330. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/base-components.png +0 -0
  331. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
  332. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/change_validate_step.png +0 -0
  333. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
  334. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
  335. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
  336. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/container_spec.png +0 -0
  337. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/core_extension.png +0 -0
  338. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/core_extension_excel.png +0 -0
  339. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
  340. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
  341. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/data-exploration.gif +0 -0
  342. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/data-model-nordic44.png +0 -0
  343. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/data-modeling-flow.png +0 -0
  344. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
  345. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
  346. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
  347. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
  348. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
  349. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm-classes.png +0 -0
  350. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm-object-shapes.png +0 -0
  351. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm-prefixes.png +0 -0
  352. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
  353. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
  354. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
  355. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/execution-history.gif +0 -0
  356. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/export_dms_config.png +0 -0
  357. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/export_dms_executed.png +0 -0
  358. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/export_dms_workflow.png +0 -0
  359. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/features.png +0 -0
  360. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/graph-etl-flow.png +0 -0
  361. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/high-level-io.png +0 -0
  362. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/instances-nordic44.png +0 -0
  363. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/instances-sheet.png +0 -0
  364. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
  365. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
  366. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
  367. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
  368. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
  369. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
  370. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
  371. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/logo.png +0 -0
  372. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/metadata-sheet.png +0 -0
  373. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/multi-hop.png +0 -0
  374. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/neat-high-level.png +0 -0
  375. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/neat-two_flows.png +0 -0
  376. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/neat_shift_tab.png +0 -0
  377. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/neat_tab.png +0 -0
  378. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/prefixes-sheet.png +0 -0
  379. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
  380. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
  381. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
  382. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
  383. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
  384. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
  385. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
  386. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
  387. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
  388. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/run_workflow.png +0 -0
  389. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
  390. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
  391. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
  392. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
  393. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
  394. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
  395. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
  396. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/step-configurables.png +0 -0
  397. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/step-metrics.png +0 -0
  398. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
  399. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/validate_workflow.png +0 -0
  400. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
  401. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wf-overview.gif +0 -0
  402. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
  403. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
  404. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
  405. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
  406. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
  407. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/work-in-progress.png +0 -0
  408. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/workflow-context.jpg +0 -0
  409. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
  410. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
  411. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
  412. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
  413. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
  414. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
  415. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
  416. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
  417. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
  418. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
  419. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
  420. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
  421. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
  422. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
  423. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
  424. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
  425. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
  426. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
  427. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
  428. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
  429. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
  430. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
  431. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
  432. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
  433. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
  434. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/data-modeling-principles.md +0 -0
  435. /cognite_neat-0.121.1/docs/excel_data_modeling/rules.md → /cognite_neat-0.122.0/docs/excel_data_modeling/data_model.md +0 -0
  436. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/excel_data_modeling/units.md +0 -0
  437. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/base.md +0 -0
  438. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/drop.md +0 -0
  439. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/fix.md +0 -0
  440. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/inspect.md +0 -0
  441. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/mapping.md +0 -0
  442. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/prepare.md +0 -0
  443. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/read.md +0 -0
  444. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/set.md +0 -0
  445. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/show.md +0 -0
  446. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/subset.md +0 -0
  447. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/template.md +0 -0
  448. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/NeatSession/to.md +0 -0
  449. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/issues/base.md +0 -0
  450. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/issues/errors.md +0 -0
  451. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/issues/user_model_warnings.md +0 -0
  452. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/reference/issues/warnings.md +0 -0
  453. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
  454. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
  455. /cognite_neat-0.121.1/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_logical_wind_energy_WindFarmProspecting_v1.html → /cognite_neat-0.122.0/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
  456. /cognite_neat-0.121.1/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_logical_wind_energy_WindFarmProspecting_v1_implements.html → /cognite_neat-0.122.0/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
  457. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
  458. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/docs/tutorials/introduction/introduction.ipynb +0 -0
  459. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/clean_space.py +0 -0
  460. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/core_classic_mapping.xlsx +0 -0
  461. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/dependency_profiler.py +0 -0
  462. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/docs_generate_unit.py +0 -0
  463. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/generate_steps_md.py +0 -0
  464. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/.gitignore +0 -0
  465. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/README.md +0 -0
  466. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/config.dev.yaml +0 -0
  467. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
  468. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
  469. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
  470. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
  471. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
  472. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
  473. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
  474. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
  475. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
  476. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
  477. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
  478. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
  479. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
  480. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
  481. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
  482. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
  483. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
  484. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
  485. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
  486. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
  487. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
  488. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
  489. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
  490. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
  491. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
  492. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
  493. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
  494. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
  495. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/migration.py +0 -0
  496. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/oxi_remote/README.md +0 -0
  497. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/oxi_remote/docker-compose.yaml +0 -0
  498. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/test_lookup_table.csv +0 -0
  499. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/scripts/windfarm_to_toolkit.py +0 -0
  500. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/__init__.py +0 -0
  501. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/config.py +0 -0
  502. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/__init__.py +0 -0
  503. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/IMF_TempTransmitterComplete.ttl +0 -0
  504. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/aml-raw-graph.ttl +0 -0
  505. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/aml_example.aml +0 -0
  506. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/dexpi-raw-graph.ttl +0 -0
  507. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/dexpi_example.xml +0 -0
  508. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/iodd_Piab-piCOMPACT10X-20230509-IODD1.1.xml +0 -0
  509. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_graph/low-quality-graph.ttl +0 -0
  510. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/assets.yaml +0 -0
  511. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/events.yaml +0 -0
  512. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/files.yaml +0 -0
  513. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/labels.yaml +0 -0
  514. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/relationships.yaml +0 -0
  515. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/sequence_rows.yaml +0 -0
  516. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/sequences.yaml +0 -0
  517. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/asset_centric_cdf/timeseries.yaml +0 -0
  518. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_instances/classic_windfarm.py +0 -0
  519. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conceptual/broken_concepts.xlsx +0 -0
  520. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conceptual/info-arch-car-rules.xlsx +0 -0
  521. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conceptual/info_with_cdm_ref.xlsx +0 -0
  522. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conceptual/information-unknown-value-type.xlsx +0 -0
  523. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/conceptual/only_concepts.xlsx +0 -0
  524. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/cognite_core_v1.zip +0 -0
  525. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/TemperatureController.zip +0 -0
  526. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseConsumer.json +0 -0
  527. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/BasePlant.json +0 -0
  528. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseReceiver.json +0 -0
  529. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/CityPlant.json +0 -0
  530. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/CoalPlant.json +0 -0
  531. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/DeliverySubStation.json +0 -0
  532. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/DomesticConsumer.json +0 -0
  533. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/FarmConsumer.json +0 -0
  534. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/Floor.json +0 -0
  535. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/GasPlant.json +0 -0
  536. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/GeneratorSubStation.json +0 -0
  537. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/HydroPlant.json +0 -0
  538. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialConsumer.json +0 -0
  539. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialPlant.json +0 -0
  540. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/NuclearPlant.json +0 -0
  541. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/PowerLine.json +0 -0
  542. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/Room.json +0 -0
  543. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/SolarPlant.json +0 -0
  544. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/Transformer.json +0 -0
  545. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/dtdl/energy-grid/WindPlant.json +0 -0
  546. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/referencing_core/MyDescribable.container.yaml +0 -0
  547. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/referencing_core/MyDescribable.view.yaml +0 -0
  548. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/non_neat/referencing_core/enterprise.datamodel.yaml +0 -0
  549. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/partial-model/complete.xlsx +0 -0
  550. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/partial-model/part1.xlsx +0 -0
  551. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/partial-model/part2.ttl +0 -0
  552. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/partial-model/part3.yaml +0 -0
  553. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/car_dms_rules_deprecated.xlsx +0 -0
  554. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/dm_raw_filter.xlsx +0 -0
  555. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/dm_view_space_different.xlsx +0 -0
  556. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/dms-unknown-value-type.xlsx +0 -0
  557. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/isa_plus_cdm.xlsx +0 -0
  558. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/missing-in-model-value.xlsx +0 -0
  559. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/mixed-up-version.xlsx +0 -0
  560. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/pump_example_duplicated_resources.xlsx +0 -0
  561. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/pump_example_with_missing_cells.xlsx +0 -0
  562. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical/pump_example_with_missing_cells_raise_issues.xlsx +0 -0
  563. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_invalid/inconsistent_container_dms_rules.xlsx +0 -0
  564. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_invalid/invalid_metadata.xlsx +0 -0
  565. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_invalid/invalid_property_dms_rules.xlsx +0 -0
  566. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_invalid/missing_view_container_dms_rules.xlsx +0 -0
  567. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_invalid/too_many_containers_per_view.xlsx +0 -0
  568. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_yamls/invalid_yaml.expected_issues.yaml +0 -0
  569. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_yamls/invalid_yaml.yaml +0 -0
  570. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.expected_issues.yaml +0 -0
  571. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.yaml +0 -0
  572. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/__init__.py +0 -0
  573. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
  574. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
  575. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
  576. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_end_to_end/test_rules_flow.py +0 -0
  577. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/__init__.py +0 -0
  578. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/conftest.py +0 -0
  579. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_api/__init__.py +0 -0
  580. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_client_available.py +0 -0
  581. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_graph/__init__.py +0 -0
  582. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_graph/test_loaders/__init__.py +0 -0
  583. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_neat_client/__init__.py +0 -0
  584. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
  585. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_rules/__init__.py +0 -0
  586. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_rules/test_exporters/__init__.py +0 -0
  587. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_rules/test_importers/__init__.py +0 -0
  588. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/__init__.py +0 -0
  589. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_create_enterprise.py +0 -0
  590. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
  591. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
  592. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
  593. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
  594. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_utils/__init__.py +0 -0
  595. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_integration/test_utils/test_reader.py +0 -0
  596. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/__init__.py +0 -0
  597. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/__init__.py +0 -0
  598. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/__init__.py +0 -0
  599. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
  600. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
  601. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
  602. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
  603. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
  604. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
  605. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
  606. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
  607. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_loaders/__init__.py +0 -0
  608. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/__init__.py +0 -0
  609. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
  610. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_issues/__init__.py +0 -0
  611. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_issues/test_formatters.py +0 -0
  612. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_issues/test_issue_behavior.py +0 -0
  613. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_issues/test_issues_metatests.py +0 -0
  614. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_neat_client/__init__.py +0 -0
  615. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_neat_client/test_instances.py +0 -0
  616. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_neat_client/test_loaders.py +0 -0
  617. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_neat_client/test_schema.py +0 -0
  618. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_neat_package_metadata.py +0 -0
  619. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/__init__.py +0 -0
  620. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_exporters/__init__.py +0 -0
  621. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/__init__.py +0 -0
  622. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_importers/constants.py +0 -0
  623. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/__init__.py +0 -0
  624. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
  625. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_models/utils.py +0 -0
  626. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_rules/test_transformers/__init__.py +0 -0
  627. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_session/__init__.py +0 -0
  628. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_session/test_meta.py +0 -0
  629. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_session/test_read.py +0 -0
  630. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_store/__init__.py +0 -0
  631. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
  632. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/__init__.py +0 -0
  633. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/test_cdf_classes.py +0 -0
  634. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/test_reader.py +0 -0
  635. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/test_text.py +0 -0
  636. {cognite_neat-0.121.1 → cognite_neat-0.122.0}/tests/tests_unit/test_utils/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite-neat
3
- Version: 0.121.1
3
+ Version: 0.122.0
4
4
  Summary: Knowledge graph transformation
5
5
  Project-URL: Documentation, https://cognite-neat.readthedocs-hosted.com/
6
6
  Project-URL: Homepage, https://cognite-neat.readthedocs-hosted.com/
@@ -67,9 +67,9 @@ Description-Content-Type: text/markdown
67
67
 
68
68
  NEAT is a domain expert centric and developer friendly solution for rapid:
69
69
 
70
- - semantic data modeling
71
- - creation, transformation and enrichment of knowledge graphs
72
- - and ingestion of the models and graphs into [Cognite Data Fusion](https://www.cognite.com/en/product/cognite_data_fusion_industrial_dataops_platform)
70
+ - data modeling
71
+ - extraction, transformation and loading of instances
72
+ - and ingestion of the models and instances (i.e. knowledge graphs) into [Cognite Data Fusion](https://www.cognite.com/en/product/cognite_data_fusion_industrial_dataops_platform)
73
73
 
74
74
  NEAT is using open and globally recognized standards maintained by the [World Wide Web Consortium (W3C)](https://www.w3.org/RDF/).
75
75
  NEAT represents an essential tool for creation of standardized, machine-actionable, linked and semantic (meta)data.
@@ -85,13 +85,12 @@ By mid of 2022, sheet2rdf was used in several POCs in Cognite. As Cognite's Data
85
85
 
86
86
  Presented in various forums in 2022, this approach paved the way for NEAT’s formal development in November 2022 to enable cost-saving and empowerment of Cognite customers to self-sufficiently maintain and onboard knowledge graphs to Cognite Data Fusion.
87
87
 
88
-
89
88
  ## Authorship
90
89
 
91
90
  ### Authors
92
91
  The plot below shows the NEAT authorship from the start until present day.
93
92
 
94
- ![NEAT authorship](./docs/artifacts/figs/authorship.png)
93
+ ![NEAT authorship](./artifacts/figs/authorship.png)
95
94
 
96
95
  #### Current authors
97
96
  - [Nikola Vasiljević](www.linkedin.com/in/thisisnikola)
@@ -108,9 +107,17 @@ We are very grateful for the contributions made by:
108
107
 
109
108
  - [Marie Solvik Lepoutre](https://www.linkedin.com/in/mslepoutre/), who improved RDF triples projections to Cognite Data Fusion
110
109
  - [Bård Henning Tvedt](https://www.linkedin.com/in/bhtvedt/), who implemented IMF importer
110
+ - [Hassan Gomaa](https://www.linkedin.com/in/dr-hassan-gomaa-232638121/), who extended the DEXPI extractor
111
111
  - [Kristina Tomičić](https://www.linkedin.com/in/kristina-tomicic-6bb443108/), who implemented Data Model and Instances visualization
112
112
 
113
113
 
114
+ ## Sponsors
115
+ NEAT is developed and maintained by Cognite. We are grateful for the past support of our sponsors, who funded us to develop NEAT and to make it open source.
116
+
117
+ - [Statnett](https://www.statnett.no/) - the MIMIR team ([Ola Hagen Øyan](https://www.linkedin.com/in/ola-%C3%B8yan-b0205b19/), [Olav Westeng Alstad](https://www.linkedin.com/in/olav-w-alstad-52329191/),[Andreas Kimsås](https://www.linkedin.com/in/andreas-kims%C3%A5s-964a0b2/) and [Anders Willersrud](https://www.linkedin.com/in/anders-willersrud-13a20220/)) – who supported the development of NEAT from end of 2022 to mid of 2023 and its integration with Statnett's infrastructure, where NEAT was battle-tested as a tool for non-sematic experts to define data models and transform large knowledge graphs representing the entire Norwegian power grid system. Without Statnett's support NEAT would not exist in the first place, and would not be open-source.
118
+ - [Aker Solutions](https://www.akersolutions.com/) – the IMod Team (currently lead by [Maria Kenderkova](https://www.linkedin.com/in/maria-kenderkova/)), who funded development of NEAT from mid of 2023 till end of 2024 (multi-level and role-based data modeling, support for ontologies, IMF, DEXPI, AML,...) , as well who were early adopters and embraced NEAT and who were patient with us when things did not work so well. Aker Solutions was instrumental to elevating NEAT to a product level, and who selflessly advocate for NEAT globally.
119
+
120
+
114
121
  ## Installation
115
122
 
116
123
  ```bash
@@ -134,4 +141,4 @@ neat.read.cdf.data_model(("my_space", "MyDataModel", "v1"))
134
141
 
135
142
  ## Documentation
136
143
 
137
- For more information, see the [documentation](https://cognite-neat.readthedocs-hosted.com/en/latest/)
144
+ For more information, see the [documentation](https://cognite-neat.readthedocs-hosted.com/en/latest/)
@@ -13,9 +13,9 @@
13
13
 
14
14
  NEAT is a domain expert centric and developer friendly solution for rapid:
15
15
 
16
- - semantic data modeling
17
- - creation, transformation and enrichment of knowledge graphs
18
- - and ingestion of the models and graphs into [Cognite Data Fusion](https://www.cognite.com/en/product/cognite_data_fusion_industrial_dataops_platform)
16
+ - data modeling
17
+ - extraction, transformation and loading of instances
18
+ - and ingestion of the models and instances (i.e. knowledge graphs) into [Cognite Data Fusion](https://www.cognite.com/en/product/cognite_data_fusion_industrial_dataops_platform)
19
19
 
20
20
  NEAT is using open and globally recognized standards maintained by the [World Wide Web Consortium (W3C)](https://www.w3.org/RDF/).
21
21
  NEAT represents an essential tool for creation of standardized, machine-actionable, linked and semantic (meta)data.
@@ -31,13 +31,12 @@ By mid of 2022, sheet2rdf was used in several POCs in Cognite. As Cognite's Data
31
31
 
32
32
  Presented in various forums in 2022, this approach paved the way for NEAT’s formal development in November 2022 to enable cost-saving and empowerment of Cognite customers to self-sufficiently maintain and onboard knowledge graphs to Cognite Data Fusion.
33
33
 
34
-
35
34
  ## Authorship
36
35
 
37
36
  ### Authors
38
37
  The plot below shows the NEAT authorship from the start until present day.
39
38
 
40
- ![NEAT authorship](./docs/artifacts/figs/authorship.png)
39
+ ![NEAT authorship](./artifacts/figs/authorship.png)
41
40
 
42
41
  #### Current authors
43
42
  - [Nikola Vasiljević](www.linkedin.com/in/thisisnikola)
@@ -54,9 +53,17 @@ We are very grateful for the contributions made by:
54
53
 
55
54
  - [Marie Solvik Lepoutre](https://www.linkedin.com/in/mslepoutre/), who improved RDF triples projections to Cognite Data Fusion
56
55
  - [Bård Henning Tvedt](https://www.linkedin.com/in/bhtvedt/), who implemented IMF importer
56
+ - [Hassan Gomaa](https://www.linkedin.com/in/dr-hassan-gomaa-232638121/), who extended the DEXPI extractor
57
57
  - [Kristina Tomičić](https://www.linkedin.com/in/kristina-tomicic-6bb443108/), who implemented Data Model and Instances visualization
58
58
 
59
59
 
60
+ ## Sponsors
61
+ NEAT is developed and maintained by Cognite. We are grateful for the past support of our sponsors, who funded us to develop NEAT and to make it open source.
62
+
63
+ - [Statnett](https://www.statnett.no/) - the MIMIR team ([Ola Hagen Øyan](https://www.linkedin.com/in/ola-%C3%B8yan-b0205b19/), [Olav Westeng Alstad](https://www.linkedin.com/in/olav-w-alstad-52329191/),[Andreas Kimsås](https://www.linkedin.com/in/andreas-kims%C3%A5s-964a0b2/) and [Anders Willersrud](https://www.linkedin.com/in/anders-willersrud-13a20220/)) – who supported the development of NEAT from end of 2022 to mid of 2023 and its integration with Statnett's infrastructure, where NEAT was battle-tested as a tool for non-sematic experts to define data models and transform large knowledge graphs representing the entire Norwegian power grid system. Without Statnett's support NEAT would not exist in the first place, and would not be open-source.
64
+ - [Aker Solutions](https://www.akersolutions.com/) – the IMod Team (currently lead by [Maria Kenderkova](https://www.linkedin.com/in/maria-kenderkova/)), who funded development of NEAT from mid of 2023 till end of 2024 (multi-level and role-based data modeling, support for ontologies, IMF, DEXPI, AML,...) , as well who were early adopters and embraced NEAT and who were patient with us when things did not work so well. Aker Solutions was instrumental to elevating NEAT to a product level, and who selflessly advocate for NEAT globally.
65
+
66
+
60
67
  ## Installation
61
68
 
62
69
  ```bash
@@ -80,4 +87,4 @@ neat.read.cdf.data_model(("my_space", "MyDataModel", "v1"))
80
87
 
81
88
  ## Documentation
82
89
 
83
- For more information, see the [documentation](https://cognite-neat.readthedocs-hosted.com/en/latest/)
90
+ For more information, see the [documentation](https://cognite-neat.readthedocs-hosted.com/en/latest/)
@@ -0,0 +1,2 @@
1
+ __version__ = "0.122.0"
2
+ __engine__ = "^2.0.4"
@@ -0,0 +1,91 @@
1
+ import itertools
2
+ from typing import overload
3
+
4
+ from cognite.client._api_client import APIClient
5
+ from cognite.client._cognite_client import CogniteClient
6
+ from cognite.client.config import ClientConfig
7
+ from cognite.client.data_classes.data_modeling.ids import _load_space_identifier
8
+ from cognite.client.utils.useful_types import SequenceNotStr
9
+
10
+ from cognite.neat.core._client.data_classes.statistics import (
11
+ ProjectStatsAndLimits,
12
+ SpaceInstanceCounts,
13
+ SpaceInstanceCountsList,
14
+ )
15
+
16
+
17
+ class StatisticsAPI(APIClient):
18
+ _RESOURCE_PATH = "/models/statistics"
19
+
20
+ def __init__(self, config: ClientConfig, api_version: str | None, cognite_client: CogniteClient) -> None:
21
+ # This is an alpha API, which requires a specific version.
22
+ super().__init__(config, "v1", cognite_client)
23
+ self._RETRIEVE_LIMIT = 100
24
+
25
+ def project(self) -> ProjectStatsAndLimits:
26
+ """`Retrieve project-wide usage data and limits
27
+
28
+ Returns the usage data and limits for a project's data modelling usage, including data model schemas
29
+ and graph instances
30
+
31
+ Returns:
32
+ ProjectStatsAndLimits: The requested statistics and limits
33
+
34
+ Examples:
35
+ Fetch project statistics (and limits) and check the current number of data models vs.
36
+ and how many more can be created:
37
+ >>> from cognite.neat.core._client import NeatClient
38
+ >>> client = NeatClient()
39
+ >>> stats = client.instance_statistics.project()
40
+ >>> num_dm = stats.data_models.current
41
+ >>> num_dm_left = stats.data_models.limit - num_dm
42
+ """
43
+ response_data = self._get(self._RESOURCE_PATH).json()
44
+ if "project" not in response_data:
45
+ response_data["project"] = self._cognite_client._config.project
46
+ return ProjectStatsAndLimits._load(response_data)
47
+
48
+ @overload
49
+ def list(self, space: str) -> SpaceInstanceCounts: ...
50
+
51
+ @overload
52
+ def list(self, space: SequenceNotStr[str] | None = None) -> SpaceInstanceCountsList: ...
53
+
54
+ def list(self, space: str | SequenceNotStr[str] | None = None) -> SpaceInstanceCounts | SpaceInstanceCountsList:
55
+ """`Retrieve usage data and limits per space
56
+
57
+ Args:
58
+ space (str | SequenceNotStr[str] | None): The space or spaces to retrieve statistics for.
59
+ If None, all spaces will be retrieved.
60
+
61
+ Returns:
62
+ SpaceInstanceCounts | SpaceInstanceCountsList: InstanceStatsPerSpace if a single space is given, else
63
+ InstanceStatsList (which is a list of InstanceStatsPerSpace)
64
+
65
+ Examples:
66
+ Fetch statistics for a single space:
67
+ >>> from cognite.neat.core._client import NeatClient
68
+ >>> client = NeatClient()
69
+ >>> res = client.instance_statistics.list("my-space")
70
+ Fetch statistics for multiple spaces:
71
+ >>> res = client.instance_statistics.list(
72
+ ... ["my-space1", "my-space2"]
73
+ ... )
74
+ Fetch statistics for all spaces (ignores the 'space' argument):
75
+ >>> res = client.instance_statistics.list(return_all=True)
76
+ """
77
+ if space is None:
78
+ return SpaceInstanceCountsList._load(self._get(self._RESOURCE_PATH + "/spaces").json()["items"])
79
+
80
+ is_single = isinstance(space, str)
81
+
82
+ ids = _load_space_identifier(space)
83
+ result = SpaceInstanceCountsList._load(
84
+ itertools.chain.from_iterable(
85
+ self._post(self._RESOURCE_PATH + "/spaces/byids", json={"items": chunk.as_dicts()}).json()["items"]
86
+ for chunk in ids.chunked(self._RETRIEVE_LIMIT)
87
+ )
88
+ )
89
+ if is_single:
90
+ return result[0]
91
+ return result
@@ -5,6 +5,7 @@ from cognite.neat.core._utils.auth import _CLIENT_NAME
5
5
  from ._api.data_modeling_loaders import DataModelLoaderAPI
6
6
  from ._api.neat_instances import NeatInstancesAPI
7
7
  from ._api.schema import SchemaAPI
8
+ from ._api.statistics import StatisticsAPI
8
9
 
9
10
 
10
11
  class NeatClient(CogniteClient):
@@ -17,3 +18,4 @@ class NeatClient(CogniteClient):
17
18
  self.loaders = DataModelLoaderAPI(self)
18
19
  self.schema = SchemaAPI(self)
19
20
  self.instances = NeatInstancesAPI(self)
21
+ self.instance_statistics = StatisticsAPI(self._config, self._config.api_subversion, self)
@@ -0,0 +1,125 @@
1
+ from dataclasses import dataclass
2
+ from typing import Any
3
+
4
+ from cognite.client import CogniteClient
5
+ from cognite.client.data_classes._base import CogniteObject, CogniteResource, CogniteResourceList
6
+ from typing_extensions import Self
7
+
8
+
9
+ @dataclass
10
+ class InstanceCounts(CogniteResource):
11
+ nodes: int
12
+ edges: int
13
+ soft_deleted_nodes: int
14
+ soft_deleted_edges: int
15
+
16
+ @classmethod
17
+ def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
18
+ return cls(
19
+ nodes=resource["nodes"],
20
+ edges=resource["edges"],
21
+ soft_deleted_nodes=resource["softDeletedNodes"],
22
+ soft_deleted_edges=resource["softDeletedEdges"],
23
+ )
24
+
25
+
26
+ @dataclass
27
+ class SpaceInstanceCounts(InstanceCounts):
28
+ space: str
29
+
30
+ @classmethod
31
+ def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
32
+ return cls(
33
+ space=resource["space"],
34
+ nodes=resource["nodes"],
35
+ edges=resource["edges"],
36
+ soft_deleted_nodes=resource["softDeletedNodes"],
37
+ soft_deleted_edges=resource["softDeletedEdges"],
38
+ )
39
+
40
+
41
+ class SpaceInstanceCountsList(CogniteResourceList):
42
+ _RESOURCE = SpaceInstanceCounts
43
+
44
+
45
+ @dataclass
46
+ class CountLimitPair(CogniteObject):
47
+ count: int
48
+ limit: int
49
+
50
+ @classmethod
51
+ def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
52
+ return cls(
53
+ count=resource["count"],
54
+ limit=resource["limit"],
55
+ )
56
+
57
+
58
+ @dataclass
59
+ class InstanceCountsLimits(InstanceCounts):
60
+ instances_limit: int
61
+ soft_deleted_instances_limit: int
62
+
63
+ @property
64
+ def instances(self) -> int:
65
+ return self.nodes + self.edges
66
+
67
+ @property
68
+ def soft_deleted_instances(self) -> int:
69
+ return self.soft_deleted_nodes + self.soft_deleted_edges
70
+
71
+ @classmethod
72
+ def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
73
+ return cls(
74
+ nodes=resource["nodes"],
75
+ edges=resource["edges"],
76
+ soft_deleted_nodes=resource["softDeletedNodes"],
77
+ soft_deleted_edges=resource["softDeletedEdges"],
78
+ instances_limit=resource["instancesLimit"],
79
+ soft_deleted_instances_limit=resource["softDeletedInstancesLimit"],
80
+ )
81
+
82
+
83
+ @dataclass
84
+ class ProjectStatsAndLimits(CogniteResource):
85
+ project: str
86
+ spaces: CountLimitPair
87
+ containers: CountLimitPair
88
+ views: CountLimitPair
89
+ data_models: CountLimitPair
90
+ container_properties: CountLimitPair
91
+ instances: InstanceCountsLimits
92
+ concurrent_read_limit: int
93
+ concurrent_write_limit: int
94
+ concurrent_delete_limit: int
95
+
96
+ @classmethod
97
+ def _load(cls, data: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
98
+ return cls(
99
+ project=data["project"],
100
+ spaces=CountLimitPair._load(data["spaces"]),
101
+ containers=CountLimitPair._load(data["containers"]),
102
+ views=CountLimitPair._load(data["views"]),
103
+ data_models=CountLimitPair._load(data["dataModels"]),
104
+ container_properties=CountLimitPair._load(data["containerProperties"]),
105
+ instances=InstanceCountsLimits._load(data["instances"]),
106
+ concurrent_read_limit=data["concurrentReadLimit"],
107
+ concurrent_write_limit=data["concurrentWriteLimit"],
108
+ concurrent_delete_limit=data["concurrentDeleteLimit"],
109
+ )
110
+
111
+ def dump(self, camel_case: bool = True) -> dict[str, Any]:
112
+ return {
113
+ "project": self.project,
114
+ "spaces": self.spaces.dump(camel_case=camel_case),
115
+ "containers": self.containers.dump(camel_case=camel_case),
116
+ "views": self.views.dump(camel_case=camel_case),
117
+ "dataModels" if camel_case else "data_models": self.data_models.dump(camel_case=camel_case),
118
+ "containerProperties" if camel_case else "container_properties": self.container_properties.dump(
119
+ camel_case=camel_case
120
+ ),
121
+ "instances": self.instances.dump(camel_case=camel_case),
122
+ "concurrentReadLimit" if camel_case else "concurrent_read_limit": self.concurrent_read_limit,
123
+ "concurrentWriteLimit" if camel_case else "concurrent_write_limit": self.concurrent_write_limit,
124
+ "concurrentDeleteLimit" if camel_case else "concurrent_delete_limit": self.concurrent_delete_limit,
125
+ }
@@ -1,6 +1,7 @@
1
1
  from collections.abc import Iterator
2
2
  from contextlib import contextmanager
3
3
  from typing import Any
4
+ from unittest.mock import MagicMock
4
5
 
5
6
  from cognite.client.testing import CogniteClientMock
6
7
 
@@ -9,6 +10,7 @@ from cognite.neat.core._client._api_client import NeatClient
9
10
  from ._api.data_modeling_loaders import DataModelLoaderAPI
10
11
  from ._api.neat_instances import NeatInstancesAPI
11
12
  from ._api.schema import SchemaAPI
13
+ from ._api.statistics import StatisticsAPI
12
14
 
13
15
 
14
16
  class NeatClientMock(CogniteClientMock):
@@ -22,6 +24,8 @@ class NeatClientMock(CogniteClientMock):
22
24
  super().__init__(*args, **kwargs)
23
25
  return
24
26
  super().__init__(*args, **kwargs)
27
+ self.instance_statistics = MagicMock(spec_set=StatisticsAPI)
28
+
25
29
  self.schema = SchemaAPI(self)
26
30
  self.loaders = DataModelLoaderAPI(self)
27
31
  self.instances = NeatInstancesAPI(self)
@@ -12,7 +12,7 @@ from cognite import neat
12
12
  from cognite.neat.core._issues.errors._general import NeatValueError
13
13
 
14
14
  if TYPE_CHECKING:
15
- from cognite.neat.core._data_model.models.dms import DMSProperty
15
+ from cognite.neat.core._data_model.models.physical import PhysicalProperty
16
16
 
17
17
 
18
18
  def _is_in_notebook() -> bool:
@@ -104,9 +104,8 @@ COGNITE_CONCEPTS = (
104
104
 
105
105
  DMS_LISTABLE_PROPERTY_LIMIT = 1000
106
106
 
107
- EXAMPLE_RULES = PACKAGE_DIRECTORY / "_rules" / "examples"
108
- EXAMPLE_GRAPHS = PACKAGE_DIRECTORY / "_graph" / "examples"
109
- EXAMPLE_WORKFLOWS = PACKAGE_DIRECTORY / "_workflows" / "examples"
107
+ EXAMPLE_DATA_MODELS = PACKAGE_DIRECTORY / "core" / "_data_model" / "examples"
108
+ EXAMPLE_GRAPHS = PACKAGE_DIRECTORY / "core" / "_instances" / "examples"
110
109
 
111
110
  DEFAULT_SPACE_URI = "http://purl.org/cognite/space/{space}#"
112
111
  SPACE_URI_PATTERN = re.compile(r"http://purl.org/cognite/space/(?P<space>[^#]+)#$")
@@ -196,11 +195,11 @@ _ASSET_PATH_PROPERTY = {
196
195
  BASE_MODEL = Literal["CogniteCore"]
197
196
 
198
197
 
199
- def get_asset_read_only_properties_with_connection() -> "list[DMSProperty]":
198
+ def get_asset_read_only_properties_with_connection() -> "list[PhysicalProperty]":
200
199
  """Gets the asset read-only properties with connection, i.e. Root and Path."""
201
- from cognite.neat.core._data_model.models.dms import DMSProperty
200
+ from cognite.neat.core._data_model.models.physical import PhysicalProperty
202
201
 
203
- return [DMSProperty.model_validate(item) for item in (_ASSET_ROOT_PROPERTY, _ASSET_PATH_PROPERTY)]
202
+ return [PhysicalProperty.model_validate(item) for item in (_ASSET_ROOT_PROPERTY, _ASSET_PATH_PROPERTY)]
204
203
 
205
204
 
206
205
  def get_base_concepts(
@@ -15,9 +15,10 @@ class EntityTypes(StrEnum):
15
15
  predicate = "predicate"
16
16
  object = "object"
17
17
  class_ = "class"
18
+ concept = "concept"
18
19
  parent_class = "parent_class"
19
20
  property_ = "property"
20
- dms_property = "dms_property"
21
+ physical_property = "physical_property"
21
22
  conceptual_property = "conceptual_property"
22
23
  object_property = "ObjectProperty"
23
24
  data_property = "DatatypeProperty"
@@ -43,9 +44,11 @@ class EntityTypes(StrEnum):
43
44
  space = "space"
44
45
 
45
46
 
46
- def get_reserved_words(key: Literal["class", "view", "property", "space"]) -> list[str]:
47
+ def get_reserved_words(
48
+ key: Literal["concept", "view", "property", "space"],
49
+ ) -> list[str]:
47
50
  return {
48
- "class": ["Class", "class"],
51
+ "concept": ["Concept", "concept"],
49
52
  "view": [
50
53
  "Query",
51
54
  "Mutation",
@@ -103,10 +106,14 @@ DATA_MODEL_COMPLIANCE_REGEX = r"^[a-zA-Z]([a-zA-Z0-9_]{0,253}[a-zA-Z0-9])?$"
103
106
  VIEW_ID_COMPLIANCE_REGEX = (
104
107
  rf"(?!^({'|'.join(get_reserved_words('view'))})$)" r"(^[a-zA-Z][a-zA-Z0-9_]{0,253}[a-zA-Z0-9]?$)"
105
108
  )
106
- DMS_PROPERTY_ID_COMPLIANCE_REGEX = (
107
- rf"(?!^({'|'.join(get_reserved_words('property'))})$)" r"(^[a-zA-Z][a-zA-Z0-9_]{0,253}[a-zA-Z0-9]?$)"
109
+ PHYSICAL_PROPERTY_ID_COMPLIANCE_REGEX = (
110
+ rf"(?!^({'|'.join(get_reserved_words('property'))})$)"
111
+ r"(^[a-zA-Z][a-zA-Z0-9_]{0,253}[a-zA-Z0-9]?$)"
112
+ )
113
+ CONCEPT_ID_COMPLIANCE_REGEX = (
114
+ rf"(?!^({'|'.join(get_reserved_words('concept'))})$)"
115
+ r"(^[a-zA-Z0-9._-]{0,253}[a-zA-Z0-9]?$)"
108
116
  )
109
- CLASS_ID_COMPLIANCE_REGEX = rf"(?!^({'|'.join(get_reserved_words('class'))})$)" r"(^[a-zA-Z0-9._-]{0,253}[a-zA-Z0-9]?$)"
110
117
 
111
118
  INFORMATION_PROPERTY_ID_COMPLIANCE_REGEX = r"^(\*)|(?!^(Property|property)$)(^[a-zA-Z0-9._-]{0,253}[a-zA-Z0-9]?$)"
112
119
  VERSION_COMPLIANCE_REGEX = r"^[a-zA-Z0-9]([.a-zA-Z0-9_-]{0,41}[a-zA-Z0-9])?$"
@@ -139,15 +146,15 @@ class _Patterns:
139
146
  return re.compile(VIEW_ID_COMPLIANCE_REGEX)
140
147
 
141
148
  @cached_property
142
- def dms_property_id_compliance(self) -> re.Pattern[str]:
143
- return re.compile(DMS_PROPERTY_ID_COMPLIANCE_REGEX)
149
+ def physical_property_id_compliance(self) -> re.Pattern[str]:
150
+ return re.compile(PHYSICAL_PROPERTY_ID_COMPLIANCE_REGEX)
144
151
 
145
152
  @cached_property
146
- def class_id_compliance(self) -> re.Pattern[str]:
147
- return re.compile(CLASS_ID_COMPLIANCE_REGEX)
153
+ def concept_id_compliance(self) -> re.Pattern[str]:
154
+ return re.compile(CONCEPT_ID_COMPLIANCE_REGEX)
148
155
 
149
156
  @cached_property
150
- def information_property_id_compliance(self) -> re.Pattern[str]:
157
+ def conceptual_property_id_compliance(self) -> re.Pattern[str]:
151
158
  return re.compile(INFORMATION_PROPERTY_ID_COMPLIANCE_REGEX)
152
159
 
153
160
  @cached_property
@@ -158,11 +165,11 @@ class _Patterns:
158
165
  self,
159
166
  entity: EntityTypes,
160
167
  ) -> re.Pattern:
161
- if entity == EntityTypes.class_:
162
- return self.class_id_compliance
168
+ if entity == EntityTypes.concept:
169
+ return self.concept_id_compliance
163
170
 
164
171
  elif entity == EntityTypes.conceptual_property:
165
- return self.information_property_id_compliance
172
+ return self.conceptual_property_id_compliance
166
173
 
167
174
  elif entity == EntityTypes.view:
168
175
  return self.view_id_compliance
@@ -171,8 +178,8 @@ class _Patterns:
171
178
  elif entity == EntityTypes.container:
172
179
  return self.view_id_compliance
173
180
 
174
- elif entity == EntityTypes.dms_property:
175
- return self.dms_property_id_compliance
181
+ elif entity == EntityTypes.physical_property:
182
+ return self.physical_property_id_compliance
176
183
 
177
184
  elif entity == EntityTypes.version:
178
185
  return self.version_compliance
@@ -0,0 +1,59 @@
1
+ from dataclasses import dataclass
2
+ from typing import Generic, TypeAlias, TypeVar
3
+
4
+ from cognite.neat.core._data_model.models import (
5
+ ConceptualDataModel,
6
+ PhysicalDataModel,
7
+ )
8
+ from cognite.neat.core._data_model.models.conceptual._unverified import (
9
+ UnverifiedConceptualDataModel,
10
+ )
11
+ from cognite.neat.core._data_model.models.physical._unverified import (
12
+ UnverifiedPhysicalDataModel,
13
+ )
14
+ from cognite.neat.core._utils.spreadsheet import SpreadsheetRead
15
+
16
+ VerifiedDataModel: TypeAlias = ConceptualDataModel | PhysicalDataModel
17
+
18
+ T_VerifiedDataModel = TypeVar("T_VerifiedDataModel", bound=VerifiedDataModel)
19
+ UnverifiedDataModel: TypeAlias = UnverifiedPhysicalDataModel | UnverifiedConceptualDataModel
20
+ T_UnverifiedDataModel = TypeVar("T_UnverifiedDataModel", bound=UnverifiedDataModel)
21
+
22
+
23
+ @dataclass
24
+ class ImportedDataModel(Generic[T_UnverifiedDataModel]):
25
+ """This class is used to store results of data model import from a source prior to
26
+ verification and validation.
27
+
28
+ Attributes:
29
+ unverified_data_model: The unverified data model.
30
+ context: The context of the import, including warnings, errors and any other
31
+ relevant information.
32
+ """
33
+
34
+ unverified_data_model: T_UnverifiedDataModel | None
35
+ context: dict[str, SpreadsheetRead]
36
+
37
+ @classmethod
38
+ def display_type_name(cls) -> str:
39
+ return "UnverifiedModel"
40
+
41
+ @property
42
+ def display_name(self) -> str:
43
+ if self.unverified_data_model is None:
44
+ return "Failed to load data model"
45
+ return self.unverified_data_model.display_name
46
+
47
+
48
+ ImportedUnverifiedDataModel: TypeAlias = (
49
+ ImportedDataModel[UnverifiedPhysicalDataModel] | ImportedDataModel[UnverifiedConceptualDataModel]
50
+ )
51
+ T_ImportedUnverifiedDataModel = TypeVar("T_ImportedUnverifiedDataModel", bound=ImportedUnverifiedDataModel)
52
+
53
+ DataModel: TypeAlias = (
54
+ ConceptualDataModel
55
+ | PhysicalDataModel
56
+ | ImportedDataModel[UnverifiedPhysicalDataModel]
57
+ | ImportedDataModel[UnverifiedConceptualDataModel]
58
+ )
59
+ T_DataModel = TypeVar("T_DataModel", bound=DataModel)
@@ -0,0 +1,3 @@
1
+ from ._base import DataModelAnalysis
2
+
3
+ __all__ = ["DataModelAnalysis"]