cognite-neat 0.122.1__tar.gz → 0.122.3__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 (625) hide show
  1. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/PKG-INFO +1 -1
  2. cognite_neat-0.122.3/cognite/neat/_version.py +2 -0
  3. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dms2data_model.py +4 -3
  4. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/transformers/_converters.py +1 -1
  5. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/transformers/_mapping.py +1 -1
  6. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/transformers/_verification.py +1 -1
  7. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/loaders/__init__.py +2 -1
  8. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/loaders/_base.py +4 -10
  9. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/loaders/_rdf2dms.py +18 -131
  10. cognite_neat-0.122.3/cognite/neat/core/_instances/loaders/_rdf_to_instance_space.py +249 -0
  11. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/queries/_select.py +12 -0
  12. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_base.py +2 -2
  13. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_drop.py +1 -1
  14. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_fix.py +1 -1
  15. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_mapping.py +1 -1
  16. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_prepare.py +3 -3
  17. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_read.py +10 -10
  18. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_set.py +1 -1
  19. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_state.py +2 -2
  20. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_subset.py +2 -2
  21. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_template.py +3 -3
  22. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_to.py +21 -14
  23. cognite_neat-0.122.3/last_changelog_entry.md +4 -0
  24. cognite_neat-0.122.3/last_git_message.txt +22 -0
  25. cognite_neat-0.122.3/last_version.txt +1 -0
  26. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/pyproject.toml +1 -1
  27. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_to.py +3 -3
  28. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow.py +10 -5
  29. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_loaders/test_dms_loader.py +8 -4
  30. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +7 -2
  31. cognite_neat-0.122.3/tests/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +133 -0
  32. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_inference_importer.py +4 -2
  33. cognite_neat-0.122.3/tests/tests_unit/test_store/test_select_queries.py +25 -0
  34. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/uv.lock +1 -1
  35. cognite_neat-0.122.1/cognite/neat/_version.py +0 -2
  36. cognite_neat-0.122.1/last_changelog_entry.md +0 -5
  37. cognite_neat-0.122.1/last_git_message.txt +0 -21
  38. cognite_neat-0.122.1/last_version.txt +0 -1
  39. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.coveragerc +0 -0
  40. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/CODEOWNERS +0 -0
  41. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  42. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  43. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/pull_request_template.md +0 -0
  44. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/renovate.json +0 -0
  45. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/workflows/code-quality.yaml +0 -0
  46. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.github/workflows/release.yaml +0 -0
  47. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.gitignore +0 -0
  48. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.pre-commit-config.yaml +0 -0
  49. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/.readthedocs.yaml +0 -0
  50. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/CODE_OF_CONDUCT.md +0 -0
  51. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/CONTRIBUTING.md +0 -0
  52. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/LICENSE +0 -0
  53. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/README.md +0 -0
  54. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cdf.toml +0 -0
  55. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/codecov.yml +0 -0
  56. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/__init__.py +0 -0
  57. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/__init__.py +0 -0
  58. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/__init__.py +0 -0
  59. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api/__init__.py +0 -0
  60. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api/data_modeling_loaders.py +0 -0
  61. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api/neat_instances.py +0 -0
  62. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api/schema.py +0 -0
  63. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api/statistics.py +0 -0
  64. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/_api_client.py +0 -0
  65. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/data_classes/__init__.py +0 -0
  66. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/data_classes/data_modeling.py +0 -0
  67. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/data_classes/neat_sequence.py +0 -0
  68. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/data_classes/schema.py +0 -0
  69. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/data_classes/statistics.py +0 -0
  70. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_client/testing.py +0 -0
  71. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_config.py +0 -0
  72. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_constants.py +0 -0
  73. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/__init__.py +0 -0
  74. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/_constants.py +0 -0
  75. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/_shared.py +0 -0
  76. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/analysis/__init__.py +0 -0
  77. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/analysis/_base.py +0 -0
  78. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/catalog/__init__.py +0 -0
  79. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/catalog/classic_model.xlsx +0 -0
  80. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  81. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  82. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/__init__.py +0 -0
  83. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_base.py +0 -0
  84. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_data_model2dms.py +0 -0
  85. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_data_model2excel.py +0 -0
  86. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_data_model2instance_template.py +0 -0
  87. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_data_model2ontology.py +0 -0
  88. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/exporters/_data_model2yaml.py +0 -0
  89. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/__init__.py +0 -0
  90. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_base.py +0 -0
  91. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_base_file_reader.py +0 -0
  92. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dict2data_model.py +0 -0
  93. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dtdl2data_model/__init__.py +0 -0
  94. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dtdl2data_model/_unit_lookup.py +0 -0
  95. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_converter.py +0 -0
  96. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_importer.py +0 -0
  97. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_dtdl2data_model/spec.py +0 -0
  98. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -0
  99. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/_base.py +0 -0
  100. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/_imf2data_model.py +0 -0
  101. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
  102. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
  103. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_rdf/_shared.py +0 -0
  104. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
  105. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/__init__.py +0 -0
  106. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/_base_unverified.py +0 -0
  107. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/_base_verified.py +0 -0
  108. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/_types.py +0 -0
  109. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/conceptual/__init__.py +0 -0
  110. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/conceptual/_unverified.py +0 -0
  111. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/conceptual/_validation.py +0 -0
  112. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/conceptual/_verified.py +0 -0
  113. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/data_types.py +0 -0
  114. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/__init__.py +0 -0
  115. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_constants.py +0 -0
  116. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_loaders.py +0 -0
  117. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_multi_value.py +0 -0
  118. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_single_value.py +0 -0
  119. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_types.py +0 -0
  120. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/entities/_wrapped.py +0 -0
  121. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/mapping/__init__.py +0 -0
  122. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/mapping/_classic2core.py +0 -0
  123. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  124. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/physical/__init__.py +0 -0
  125. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/physical/_exporter.py +0 -0
  126. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/physical/_unverified.py +0 -0
  127. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/physical/_validation.py +0 -0
  128. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/models/physical/_verified.py +0 -0
  129. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/transformers/__init__.py +0 -0
  130. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_data_model/transformers/_base.py +0 -0
  131. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/__init__.py +0 -0
  132. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/_shared.py +0 -0
  133. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/_tracking/__init__.py +0 -0
  134. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/_tracking/base.py +0 -0
  135. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/_tracking/log.py +0 -0
  136. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  137. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  138. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/examples/__init__.py +0 -0
  139. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  140. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/__init__.py +0 -0
  141. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_base.py +0 -0
  142. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  143. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  144. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_base.py +0 -0
  145. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
  146. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  147. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  148. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  149. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  150. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
  151. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
  152. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  153. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_dict.py +0 -0
  154. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_dms.py +0 -0
  155. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_dms_graph.py +0 -0
  156. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_mock_graph_generator.py +0 -0
  157. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_raw.py +0 -0
  158. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/extractors/_rdf_file.py +0 -0
  159. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/queries/__init__.py +0 -0
  160. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/queries/_base.py +0 -0
  161. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/queries/_queries.py +0 -0
  162. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/queries/_update.py +0 -0
  163. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/__init__.py +0 -0
  164. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/_base.py +0 -0
  165. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/_classic_cdf.py +0 -0
  166. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/_prune_graph.py +0 -0
  167. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/_rdfpath.py +0 -0
  168. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_instances/transformers/_value_type.py +0 -0
  169. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/__init__.py +0 -0
  170. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/_base.py +0 -0
  171. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/_contextmanagers.py +0 -0
  172. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/_factory.py +0 -0
  173. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/__init__.py +0 -0
  174. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/_external.py +0 -0
  175. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/_general.py +0 -0
  176. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/_properties.py +0 -0
  177. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/_resources.py +0 -0
  178. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/errors/_wrapper.py +0 -0
  179. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/formatters.py +0 -0
  180. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/__init__.py +0 -0
  181. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/_external.py +0 -0
  182. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/_general.py +0 -0
  183. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/_models.py +0 -0
  184. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/_properties.py +0 -0
  185. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/_resources.py +0 -0
  186. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_issues/warnings/user_modeling.py +0 -0
  187. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_shared.py +0 -0
  188. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_store/__init__.py +0 -0
  189. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_store/_data_model.py +0 -0
  190. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_store/_instance.py +0 -0
  191. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_store/_provenance.py +0 -0
  192. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_store/exceptions.py +0 -0
  193. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/__init__.py +0 -0
  194. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/auth.py +0 -0
  195. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/auxiliary.py +0 -0
  196. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/collection_.py +0 -0
  197. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/graph_transformations_report.py +0 -0
  198. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/io_.py +0 -0
  199. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/rdf_.py +0 -0
  200. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/reader/__init__.py +0 -0
  201. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/reader/_base.py +0 -0
  202. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/spreadsheet.py +0 -0
  203. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/text.py +0 -0
  204. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/time_.py +0 -0
  205. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/upload.py +0 -0
  206. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/core/_utils/xml_.py +0 -0
  207. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/py.typed +0 -0
  208. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/__init__.py +0 -0
  209. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_collector.py +0 -0
  210. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_experimental.py +0 -0
  211. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_explore.py +0 -0
  212. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_inspect.py +0 -0
  213. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_show.py +0 -0
  214. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_state/README.md +0 -0
  215. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/_wizard.py +0 -0
  216. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/engine/__init__.py +0 -0
  217. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/engine/_import.py +0 -0
  218. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/engine/_interface.py +0 -0
  219. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/engine/_load.py +0 -0
  220. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/cognite/neat/session/exceptions.py +0 -0
  221. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/dev.py +0 -0
  222. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
  223. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
  224. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
  225. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
  226. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/aml-dm.png +0 -0
  227. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
  228. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/aml-instances-full.png +0 -0
  229. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
  230. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
  231. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
  232. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
  233. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
  234. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/authorship.png +0 -0
  235. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/base-components.png +0 -0
  236. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
  237. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/change_validate_step.png +0 -0
  238. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
  239. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
  240. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
  241. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/container_spec.png +0 -0
  242. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/core_extension.png +0 -0
  243. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/core_extension_excel.png +0 -0
  244. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
  245. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
  246. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/data-exploration.gif +0 -0
  247. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/data-model-nordic44.png +0 -0
  248. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/data-modeling-flow.png +0 -0
  249. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
  250. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
  251. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
  252. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
  253. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
  254. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm-classes.png +0 -0
  255. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm-object-shapes.png +0 -0
  256. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm-prefixes.png +0 -0
  257. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
  258. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
  259. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
  260. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/execution-history.gif +0 -0
  261. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/export_dms_config.png +0 -0
  262. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/export_dms_executed.png +0 -0
  263. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/export_dms_workflow.png +0 -0
  264. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/features.png +0 -0
  265. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/graph-etl-flow.png +0 -0
  266. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/high-level-io.png +0 -0
  267. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/instances-nordic44.png +0 -0
  268. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/instances-sheet.png +0 -0
  269. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
  270. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
  271. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
  272. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
  273. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
  274. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
  275. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
  276. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/logo.png +0 -0
  277. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/metadata-sheet.png +0 -0
  278. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/multi-hop.png +0 -0
  279. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/neat-high-level.png +0 -0
  280. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/neat-two_flows.png +0 -0
  281. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/neat_shift_tab.png +0 -0
  282. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/neat_tab.png +0 -0
  283. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/prefixes-sheet.png +0 -0
  284. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
  285. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
  286. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
  287. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
  288. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
  289. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
  290. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
  291. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
  292. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
  293. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/run_workflow.png +0 -0
  294. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
  295. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
  296. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
  297. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
  298. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
  299. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
  300. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
  301. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/step-configurables.png +0 -0
  302. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/step-metrics.png +0 -0
  303. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
  304. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/validate_workflow.png +0 -0
  305. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
  306. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wf-overview.gif +0 -0
  307. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
  308. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
  309. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
  310. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
  311. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
  312. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/work-in-progress.png +0 -0
  313. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/workflow-context.jpg +0 -0
  314. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
  315. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
  316. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
  317. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
  318. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
  319. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
  320. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
  321. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
  322. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
  323. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
  324. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
  325. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
  326. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
  327. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
  328. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
  329. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
  330. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
  331. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
  332. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
  333. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
  334. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
  335. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
  336. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
  337. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
  338. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
  339. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/data-modeling-principles.md +0 -0
  340. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/conceptual/overview.md +0 -0
  341. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/conceptual/reference.md +0 -0
  342. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/data_model.md +0 -0
  343. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/physical/enum.md +0 -0
  344. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/physical/overview.md +0 -0
  345. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/physical/properties.md +0 -0
  346. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/physical/reference.md +0 -0
  347. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/physical/views.md +0 -0
  348. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/excel_data_modeling/units.md +0 -0
  349. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/gettingstarted/installation.md +0 -0
  350. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/gettingstarted/why-neat.md +0 -0
  351. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/index.md +0 -0
  352. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/base.md +0 -0
  353. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/drop.md +0 -0
  354. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/fix.md +0 -0
  355. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/inspect.md +0 -0
  356. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/mapping.md +0 -0
  357. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/prepare.md +0 -0
  358. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/read.md +0 -0
  359. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/set.md +0 -0
  360. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/show.md +0 -0
  361. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/subset.md +0 -0
  362. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/template.md +0 -0
  363. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/NeatSession/to.md +0 -0
  364. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/issues/base.md +0 -0
  365. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/issues/errors.md +0 -0
  366. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/issues/user_model_warnings.md +0 -0
  367. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/issues/warnings.md +0 -0
  368. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/reference/overview.md +0 -0
  369. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
  370. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
  371. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
  372. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
  373. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
  374. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
  375. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
  376. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
  377. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
  378. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
  379. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
  380. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/docs/tutorials/introduction/introduction.ipynb +0 -0
  381. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/mkdocs.yml +0 -0
  382. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/clean_space.py +0 -0
  383. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/core_classic_mapping.xlsx +0 -0
  384. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/create_classic_core_mapping_yaml.py +0 -0
  385. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/dependency_profiler.py +0 -0
  386. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/docs_generate_reference.py +0 -0
  387. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/docs_generate_unit.py +0 -0
  388. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/generate_steps_md.py +0 -0
  389. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/.gitignore +0 -0
  390. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/README.md +0 -0
  391. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/config.dev.yaml +0 -0
  392. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
  393. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
  394. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
  395. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
  396. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
  397. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
  398. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
  399. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
  400. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
  401. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
  402. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
  403. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
  404. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
  405. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
  406. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
  407. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
  408. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
  409. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
  410. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
  411. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
  412. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
  413. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
  414. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
  415. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
  416. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
  417. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
  418. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
  419. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
  420. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/manual_test_dms_importer.py +0 -0
  421. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/migration.py +0 -0
  422. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/oxi_remote/README.md +0 -0
  423. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/oxi_remote/docker-compose.yaml +0 -0
  424. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/test_lookup_table.csv +0 -0
  425. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/scripts/windfarm_to_toolkit.py +0 -0
  426. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/__init__.py +0 -0
  427. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/config.py +0 -0
  428. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/conftest.py +0 -0
  429. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/__init__.py +0 -0
  430. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/IMF_TempTransmitterComplete.ttl +0 -0
  431. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/aml-raw-graph.ttl +0 -0
  432. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/aml_example.aml +0 -0
  433. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/car.py +0 -0
  434. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/dexpi-raw-graph.ttl +0 -0
  435. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/dexpi_example.xml +0 -0
  436. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/iodd_Piab-piCOMPACT10X-20230509-IODD1.1.xml +0 -0
  437. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_graph/low-quality-graph.ttl +0 -0
  438. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/assets.yaml +0 -0
  439. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/events.yaml +0 -0
  440. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/files.yaml +0 -0
  441. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/labels.yaml +0 -0
  442. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/relationships.yaml +0 -0
  443. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/sequence_rows.yaml +0 -0
  444. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/sequences.yaml +0 -0
  445. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/asset_centric_cdf/timeseries.yaml +0 -0
  446. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_instances/classic_windfarm.py +0 -0
  447. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conceptual/broken_concepts.xlsx +0 -0
  448. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conceptual/info-arch-car-rules.xlsx +0 -0
  449. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conceptual/info_with_cdm_ref.xlsx +0 -0
  450. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conceptual/information-unknown-value-type.xlsx +0 -0
  451. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conceptual/only_concepts.xlsx +0 -0
  452. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conversion/single_concept.conceptual.yaml +0 -0
  453. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/conversion/single_concept.physical.yaml +0 -0
  454. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/cognite_core_v1.zip +0 -0
  455. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/TemperatureController.zip +0 -0
  456. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseConsumer.json +0 -0
  457. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/BasePlant.json +0 -0
  458. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseReceiver.json +0 -0
  459. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/CityPlant.json +0 -0
  460. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/CoalPlant.json +0 -0
  461. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/DeliverySubStation.json +0 -0
  462. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/DomesticConsumer.json +0 -0
  463. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/FarmConsumer.json +0 -0
  464. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/Floor.json +0 -0
  465. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/GasPlant.json +0 -0
  466. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/GeneratorSubStation.json +0 -0
  467. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/HydroPlant.json +0 -0
  468. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialConsumer.json +0 -0
  469. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialPlant.json +0 -0
  470. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/NuclearPlant.json +0 -0
  471. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/PowerLine.json +0 -0
  472. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/Room.json +0 -0
  473. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/SolarPlant.json +0 -0
  474. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/Transformer.json +0 -0
  475. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/dtdl/energy-grid/WindPlant.json +0 -0
  476. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/referencing_core/MyDescribable.container.yaml +0 -0
  477. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/referencing_core/MyDescribable.view.yaml +0 -0
  478. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/referencing_core/enterprise.datamodel.yaml +0 -0
  479. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/non_neat/windturbine.py +0 -0
  480. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/partial-model/complete.xlsx +0 -0
  481. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/partial-model/part1.xlsx +0 -0
  482. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/partial-model/part2.ttl +0 -0
  483. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/partial-model/part3.yaml +0 -0
  484. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
  485. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/car_dms_rules_deprecated.xlsx +0 -0
  486. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/dm_raw_filter.xlsx +0 -0
  487. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/dm_view_space_different.xlsx +0 -0
  488. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/dms-unknown-value-type.xlsx +0 -0
  489. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/isa_plus_cdm.xlsx +0 -0
  490. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/missing-in-model-value.xlsx +0 -0
  491. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/mixed-up-version.xlsx +0 -0
  492. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/pump_example_duplicated_resources.xlsx +0 -0
  493. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/pump_example_with_missing_cells.xlsx +0 -0
  494. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical/pump_example_with_missing_cells_raise_issues.xlsx +0 -0
  495. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_invalid/inconsistent_container_dms_rules.xlsx +0 -0
  496. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_invalid/invalid_metadata.xlsx +0 -0
  497. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_invalid/invalid_property_dms_rules.xlsx +0 -0
  498. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_invalid/missing_view_container_dms_rules.xlsx +0 -0
  499. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_invalid/too_many_containers_per_view.xlsx +0 -0
  500. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_yamls/invalid_yaml.expected_issues.yaml +0 -0
  501. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_yamls/invalid_yaml.yaml +0 -0
  502. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.expected_issues.yaml +0 -0
  503. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.yaml +0 -0
  504. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/__init__.py +0 -0
  505. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
  506. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
  507. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
  508. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
  509. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_end_to_end/test_rules_flow.py +0 -0
  510. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/__init__.py +0 -0
  511. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/conftest.py +0 -0
  512. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_api/__init__.py +0 -0
  513. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_api/test_conversion.py +0 -0
  514. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_api/test_validate_rules.py +0 -0
  515. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_client_available.py +0 -0
  516. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_graph/__init__.py +0 -0
  517. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_graph/test_loaders/__init__.py +0 -0
  518. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
  519. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_neat_client/__init__.py +0 -0
  520. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
  521. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_neat_client/test_statistics.py +0 -0
  522. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_rules/__init__.py +0 -0
  523. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_rules/test_exporters/__init__.py +0 -0
  524. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
  525. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_rules/test_importers/__init__.py +0 -0
  526. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/__init__.py +0 -0
  527. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_create_enterprise.py +0 -0
  528. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
  529. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
  530. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
  531. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
  532. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
  533. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
  534. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
  535. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
  536. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
  537. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
  538. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
  539. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
  540. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_session/test_read.py +0 -0
  541. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_utils/__init__.py +0 -0
  542. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_integration/test_utils/test_reader.py +0 -0
  543. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/__init__.py +0 -0
  544. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/__init__.py +0 -0
  545. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/__init__.py +0 -0
  546. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
  547. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
  548. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
  549. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
  550. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
  551. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
  552. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
  553. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
  554. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
  555. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
  556. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_graph_read.py +0 -0
  557. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_loaders/__init__.py +0 -0
  558. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_provenance.py +0 -0
  559. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/__init__.py +0 -0
  560. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
  561. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
  562. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
  563. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
  564. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
  565. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
  566. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
  567. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
  568. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
  569. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
  570. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
  571. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_issues/__init__.py +0 -0
  572. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_issues/test_formatters.py +0 -0
  573. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_issues/test_issue_behavior.py +0 -0
  574. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_issues/test_issues_metatests.py +0 -0
  575. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_neat_client/__init__.py +0 -0
  576. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_neat_client/test_instances.py +0 -0
  577. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_neat_client/test_loaders.py +0 -0
  578. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_neat_client/test_schema.py +0 -0
  579. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_neat_package_metadata.py +0 -0
  580. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/__init__.py +0 -0
  581. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_analysis.py +0 -0
  582. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/__init__.py +0 -0
  583. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
  584. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
  585. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
  586. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -0
  587. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
  588. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/__init__.py +0 -0
  589. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/constants.py +0 -0
  590. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
  591. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_dtdl_importer.py +0 -0
  592. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
  593. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_imf_importer.py +0 -0
  594. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
  595. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
  596. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/__init__.py +0 -0
  597. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
  598. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
  599. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
  600. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_data_types.py +0 -0
  601. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
  602. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_entities.py +0 -0
  603. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
  604. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
  605. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
  606. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_models/utils.py +0 -0
  607. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_transformers/__init__.py +0 -0
  608. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
  609. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
  610. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
  611. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_session/__init__.py +0 -0
  612. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_session/test_meta.py +0 -0
  613. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_session/test_read.py +0 -0
  614. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_session/test_to_yaml.py +0 -0
  615. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_store/__init__.py +0 -0
  616. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
  617. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_store/tests_rules_store.py +0 -0
  618. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/__init__.py +0 -0
  619. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
  620. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_cdf_classes.py +0 -0
  621. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_rdf.py +0 -0
  622. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_reader.py +0 -0
  623. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_text.py +0 -0
  624. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/tests_unit/test_utils/test_utils.py +0 -0
  625. {cognite_neat-0.122.1 → cognite_neat-0.122.3}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite-neat
3
- Version: 0.122.1
3
+ Version: 0.122.3
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/
@@ -0,0 +1,2 @@
1
+ __version__ = "0.122.3"
2
+ __engine__ = "^2.0.4"
@@ -68,6 +68,7 @@ from cognite.neat.core._issues import (
68
68
  catch_issues,
69
69
  )
70
70
  from cognite.neat.core._issues.errors import (
71
+ FileNotFoundNeatError,
71
72
  FileTypeUnexpectedError,
72
73
  NeatValueError,
73
74
  PropertyTypeNotSupportedError,
@@ -254,7 +255,7 @@ class DMSImporter(BaseImporter[UnverifiedPhysicalDataModel]):
254
255
  elif path.is_dir():
255
256
  return cls.from_directory(path, client)
256
257
  else:
257
- raise NeatValueError(f"Unsupported YAML format: {format}")
258
+ raise FileNotFoundNeatError(path)
258
259
 
259
260
  def to_data_model(self) -> ImportedDataModel[UnverifiedPhysicalDataModel]:
260
261
  if self.issue_list.has_errors:
@@ -269,14 +270,14 @@ class DMSImporter(BaseImporter[UnverifiedPhysicalDataModel]):
269
270
 
270
271
  model = self.schema.data_model
271
272
 
272
- user_data_model = self._create_rule_components(model, self.schema, self.metadata)
273
+ user_data_model = self._create_data_model_components(model, self.schema, self.metadata)
273
274
 
274
275
  self.issue_list.trigger_warnings()
275
276
  if self.issue_list.has_errors:
276
277
  raise MultiValueError(self.issue_list.errors)
277
278
  return ImportedDataModel(user_data_model, {})
278
279
 
279
- def _create_rule_components(
280
+ def _create_data_model_components(
280
281
  self,
281
282
  data_model: dm.DataModelApply,
282
283
  schema: DMSSchema,
@@ -2346,7 +2346,7 @@ class AddCogniteProperties(
2346
2346
  ) -> ImportedDataModel[UnverifiedConceptualDataModel]:
2347
2347
  input_ = data_model.unverified_data_model
2348
2348
  if input_ is None:
2349
- raise NeatValueError("Rule read failed. Cannot add cognite properties to None data_model.")
2349
+ raise NeatValueError("Data model read failed. Cannot add cognite properties to None data_model.")
2350
2350
 
2351
2351
  default_space = input_.metadata.space
2352
2352
  default_version = input_.metadata.version
@@ -29,7 +29,7 @@ from ._base import VerifiedDataModelTransformer
29
29
 
30
30
 
31
31
  class MapOntoTransformers(VerifiedDataModelTransformer[PhysicalDataModel, PhysicalDataModel], ABC):
32
- """Base class for transformers that map one rule onto another."""
32
+ """Base class for transformers that map one data model onto another."""
33
33
 
34
34
  ...
35
35
 
@@ -54,7 +54,7 @@ class VerificationTransformer(DataModelTransformer[T_ImportedUnverifiedDataModel
54
54
  elif issubclass(validation_cls, ConceptualValidation):
55
55
  validation_issues = ConceptualValidation(verified_data_model, data_model.context).validate() # type: ignore[arg-type]
56
56
  else:
57
- raise NeatValueError("Unsupported rule type")
57
+ raise NeatValueError("Unsupported data model type")
58
58
  issues.extend(validation_issues)
59
59
 
60
60
  # Raise issues which is expected to be handled outside of this method
@@ -1,7 +1,8 @@
1
1
  from ._base import BaseLoader, CDFLoader
2
2
  from ._rdf2dms import DMSLoader
3
+ from ._rdf_to_instance_space import InstanceSpaceLoader
3
4
 
4
- __all__ = ["BaseLoader", "CDFLoader", "DMSLoader"]
5
+ __all__ = ["BaseLoader", "CDFLoader", "DMSLoader", "InstanceSpaceLoader"]
5
6
 
6
7
 
7
8
  def _repr_html_() -> str:
@@ -3,12 +3,11 @@ from collections.abc import Hashable, Iterable
3
3
  from pathlib import Path
4
4
  from typing import ClassVar, Generic, TypeVar
5
5
 
6
- from cognite.client import CogniteClient
7
6
  from cognite.client.data_classes.capabilities import Capability
8
7
 
8
+ from cognite.neat.core._client import NeatClient
9
9
  from cognite.neat.core._issues import IssueList, NeatIssue
10
10
  from cognite.neat.core._issues.errors import AuthorizationError
11
- from cognite.neat.core._store import NeatInstanceStore
12
11
  from cognite.neat.core._utils.auxiliary import class_html_doc
13
12
  from cognite.neat.core._utils.upload import UploadResult, UploadResultList
14
13
 
@@ -29,9 +28,6 @@ class BaseLoader(ABC, Generic[T_Output]):
29
28
  _new_line = "\n"
30
29
  _encoding = "utf-8"
31
30
 
32
- def __init__(self, instance_store: NeatInstanceStore):
33
- self.instance_store = instance_store
34
-
35
31
  @abstractmethod
36
32
  def write_to_file(self, filepath: Path) -> None:
37
33
  raise NotImplementedError
@@ -59,9 +55,7 @@ class BaseLoader(ABC, Generic[T_Output]):
59
55
  class CDFLoader(BaseLoader[T_Output]):
60
56
  _UPLOAD_BATCH_SIZE: ClassVar[int] = 1000
61
57
 
62
- def load_into_cdf(
63
- self, client: CogniteClient, dry_run: bool = False, check_client: bool = True
64
- ) -> UploadResultList:
58
+ def load_into_cdf(self, client: NeatClient, dry_run: bool = False, check_client: bool = True) -> UploadResultList:
65
59
  upload_result_by_name: dict[str, UploadResult] = {}
66
60
  for upload_result in self.load_into_cdf_iterable(client, dry_run, check_client):
67
61
  if last_result := upload_result_by_name.get(upload_result.name):
@@ -72,7 +66,7 @@ class CDFLoader(BaseLoader[T_Output]):
72
66
  return UploadResultList(upload_result_by_name.values())
73
67
 
74
68
  def load_into_cdf_iterable(
75
- self, client: CogniteClient, dry_run: bool = False, check_client: bool = True
69
+ self, client: NeatClient, dry_run: bool = False, check_client: bool = True
76
70
  ) -> Iterable[UploadResult]:
77
71
  if check_client:
78
72
  missing_capabilities = client.iam.verify_capabilities(self._get_required_capabilities())
@@ -113,7 +107,7 @@ class CDFLoader(BaseLoader[T_Output]):
113
107
  @abstractmethod
114
108
  def _upload_to_cdf(
115
109
  self,
116
- client: CogniteClient,
110
+ client: NeatClient,
117
111
  items: list[T_Output],
118
112
  dry_run: bool,
119
113
  read_issues: IssueList,
@@ -6,7 +6,7 @@ from collections import defaultdict
6
6
  from collections.abc import Iterable, Sequence
7
7
  from dataclasses import dataclass
8
8
  from pathlib import Path
9
- from typing import Any, Literal, cast, get_args, overload
9
+ from typing import Any, Literal, cast, get_args
10
10
 
11
11
  import yaml
12
12
  from cognite.client import CogniteClient
@@ -39,13 +39,11 @@ from cognite.neat.core._data_model.models.data_types import (
39
39
  )
40
40
  from cognite.neat.core._issues import IssueList, NeatError, NeatIssue, catch_issues
41
41
  from cognite.neat.core._issues.errors import (
42
- AuthorizationError,
43
42
  ResourceCreationError,
44
43
  ResourceDuplicatedError,
45
44
  ResourceNotFoundError,
46
45
  )
47
46
  from cognite.neat.core._issues.warnings import (
48
- NeatValueWarning,
49
47
  PropertyDirectRelationLimitWarning,
50
48
  PropertyMultipleValueWarning,
51
49
  PropertyTypeNotSupportedWarning,
@@ -58,11 +56,8 @@ from cognite.neat.core._utils.collection_ import (
58
56
  iterate_progress_bar_if_above_config_threshold,
59
57
  )
60
58
  from cognite.neat.core._utils.rdf_ import (
61
- namespace_as_space,
62
59
  remove_namespace_from_uri,
63
- split_uri,
64
60
  )
65
- from cognite.neat.core._utils.text import NamingStandardization
66
61
  from cognite.neat.core._utils.upload import UploadResult
67
62
 
68
63
  from ._base import _END_OF_CLASS, _START_OF_CLASS, CDFLoader
@@ -104,14 +99,10 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
104
99
  conceptual_data_model (ConceptualDataModel): Conceptual data model,
105
100
  used to look+up the instances in the store.
106
101
  instance_store (NeatInstanceStore): The instance store to load the instances from.
107
- instance_space (str): The instance space to load the data into.
108
102
  create_issues (Sequence[NeatIssue] | None): A list of issues that occurred during reading. Defaults to None.
109
103
  client (NeatClient | None): This is used to lookup containers such that the loader
110
104
  creates instances in accordance with required constraints. Defaults to None.
111
105
  unquote_external_ids (bool): If True, the loader will unquote external ids before creating the instances.
112
- neat_prefix_by_predicate_uri (dict[URIRef, str] | None): A dictionary that maps a predicate URIRef to a
113
- prefix that Neat added to the object upon extraction. This is used to remove the prefix from the
114
- object before creating the instance.
115
106
  """
116
107
 
117
108
  def __init__(
@@ -119,24 +110,17 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
119
110
  physical_data_model: PhysicalDataModel,
120
111
  conceptual_data_model: ConceptualDataModel,
121
112
  instance_store: NeatInstanceStore,
122
- instance_space: str,
123
- space_property: str | None = None,
124
- use_source_space: bool = False,
113
+ space_by_instance_uri: dict[URIRef, str],
125
114
  client: NeatClient | None = None,
126
115
  create_issues: Sequence[NeatIssue] | None = None,
127
116
  unquote_external_ids: bool = False,
128
- neat_prefix_by_predicate_uri: dict[URIRef, str] | None = None,
129
117
  neat_prefix_by_type_uri: dict[URIRef, str] | None = None,
130
118
  ):
131
- super().__init__(instance_store)
119
+ self.instance_store = instance_store
132
120
  self.physical_data_model = physical_data_model
133
121
  self.conceptual_data_model = conceptual_data_model
134
- self.neat_prefix_by_predicate_uri = neat_prefix_by_predicate_uri or {}
135
122
  self.neat_prefix_by_type_uri = neat_prefix_by_type_uri or {}
136
- self._instance_space = instance_space
137
- self._space_property = space_property
138
- self._use_source_space = use_source_space
139
- self._space_by_instance_uri: dict[URIRef, str] = defaultdict(lambda: instance_space)
123
+ self._space_by_instance_uri = space_by_instance_uri
140
124
  self._external_id_by_uri: dict[URIRef, str] = {}
141
125
  self._issues = IssueList(create_issues or [])
142
126
  self._client = client
@@ -172,16 +156,6 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
172
156
  return
173
157
  view_iterations, issues = self._create_view_iterations()
174
158
  yield from issues
175
- if self._space_property:
176
- yield from self._lookup_space_by_uri(view_iterations, stop_on_exception)
177
-
178
- if self._client:
179
- space_creation = self._create_instance_space_if_not_exists()
180
- yield from space_creation.warnings
181
- if space_creation.has_errors and stop_on_exception:
182
- raise space_creation.as_exception()
183
- yield from space_creation.errors
184
-
185
159
  if self.neat_prefix_by_type_uri:
186
160
  self._lookup_identifier_by_uri()
187
161
 
@@ -280,46 +254,6 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
280
254
  view_iterations[view_id] = _ViewIterator(view_id, count, query)
281
255
  return view_iterations
282
256
 
283
- def _lookup_space_by_uri(self, view_iterations: list[_ViewIterator], stop_on_exception: bool = False) -> IssueList:
284
- issues = IssueList()
285
- if self._space_property is None:
286
- return issues
287
- total = sum(it.instance_count for it in view_iterations)
288
- properties_by_uriref = self.instance_store.queries.select.properties()
289
- space_property_uri = next((k for k, v in properties_by_uriref.items() if v == self._space_property), None)
290
- if space_property_uri is None:
291
- error: ResourceNotFoundError[str, str] = ResourceNotFoundError(
292
- self._space_property,
293
- "property",
294
- more=f"Could not find the {self._space_property} in the graph.",
295
- )
296
- if stop_on_exception:
297
- raise error
298
- issues.append(error)
299
- return issues
300
-
301
- instance_iterable = self.instance_store.queries.select.list_instances_ids_by_space(space_property_uri)
302
- instance_iterable = iterate_progress_bar_if_above_config_threshold(
303
- instance_iterable, total, f"Looking up spaces for {total} instances..."
304
- )
305
- neat_prefix = self.neat_prefix_by_predicate_uri.get(space_property_uri)
306
- warned_spaces: set[str] = set()
307
- for instance, space in instance_iterable:
308
- if neat_prefix:
309
- space = space.removeprefix(neat_prefix)
310
-
311
- clean_space = NamingStandardization.standardize_space_str(space)
312
- if clean_space != space and space not in warned_spaces:
313
- issues.append(
314
- NeatValueWarning(
315
- f"Invalid space in property {self._space_property}: {space}. Fixed to {clean_space}"
316
- )
317
- )
318
- warned_spaces.add(space)
319
-
320
- self._space_by_instance_uri[instance] = clean_space
321
- return issues
322
-
323
257
  def _lookup_identifier_by_uri(self) -> None:
324
258
  if not self.neat_prefix_by_type_uri:
325
259
  return
@@ -343,20 +277,6 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
343
277
  if len(uris) == 1:
344
278
  self._external_id_by_uri[uris[0]] = identifier
345
279
 
346
- def _create_instance_space_if_not_exists(self) -> IssueList:
347
- issues = IssueList()
348
- if not self._client:
349
- return issues
350
-
351
- instance_spaces = set(self._space_by_instance_uri.values()) - {self._instance_space}
352
- existing_spaces = {space.space for space in self._client.data_modeling.spaces.retrieve(list(instance_spaces))}
353
- if missing_spaces := (instance_spaces - existing_spaces):
354
- try:
355
- self._client.data_modeling.spaces.apply([dm.SpaceApply(space=space) for space in missing_spaces])
356
- except CogniteAPIError as e:
357
- issues.append(AuthorizationError(f"Creating {len(missing_spaces)} instance spaces.", str(e)))
358
- return issues
359
-
360
280
  def _create_projection(self, view: dm.View) -> tuple[_Projection, IssueList]:
361
281
  issues = IssueList()
362
282
  field_definitions: dict[str, tuple[type, Any]] = {}
@@ -473,12 +393,10 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
473
393
  )
474
394
  value = value[:limit]
475
395
 
476
- ids = (self._create_instance_id(v, "node", stop_on_exception=True) for v in value)
396
+ ids = (self._create_instance_id(v) for v in value)
477
397
  return [id_.dump(camel_case=True, include_instance_type=False) for id_ in ids]
478
398
  elif value:
479
- return self._create_instance_id(value[0], "node", stop_on_exception=True).dump(
480
- camel_case=True, include_instance_type=False
481
- )
399
+ return self._create_instance_id(value[0]).dump(camel_case=True, include_instance_type=False)
482
400
  return {}
483
401
 
484
402
  validators["parse_direct_relation"] = field_validator(*direct_relation_by_property.keys(), mode="before")( # type: ignore[assignment]
@@ -518,7 +436,7 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
518
436
  projection: _Projection,
519
437
  stop_on_exception: Literal[True, False] = False,
520
438
  ) -> Iterable[dm.InstanceApply | NeatIssue]:
521
- instance_id = self._create_instance_id(instance_uri, "node", stop_on_exception)
439
+ instance_id = self._create_instance_id(instance_uri)
522
440
  if not isinstance(instance_id, InstanceId):
523
441
  yield instance_id
524
442
  return
@@ -567,8 +485,8 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
567
485
  return
568
486
 
569
487
  if start_node and end_node:
570
- start = self._create_instance_id(start_node, "edge", stop_on_exception)
571
- end = self._create_instance_id(end_node, "edge", stop_on_exception)
488
+ start = self._create_instance_id(start_node)
489
+ end = self._create_instance_id(end_node)
572
490
  if isinstance(start, NeatError):
573
491
  yield start
574
492
  if isinstance(end, NeatError):
@@ -594,7 +512,7 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
594
512
  ),
595
513
  sources=sources,
596
514
  )
597
- yield from self._create_edges_without_properties(space, external_id, properties, projection, stop_on_exception)
515
+ yield from self._create_edges_without_properties(space, external_id, properties, projection)
598
516
 
599
517
  def _create_edges_without_properties(
600
518
  self,
@@ -602,7 +520,6 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
602
520
  identifier: str,
603
521
  properties: dict[str | InstanceType, list[str] | list[URIRef]],
604
522
  projection: _Projection,
605
- stop_on_exception: Literal[True, False],
606
523
  ) -> Iterable[dm.EdgeApply | NeatIssue]:
607
524
  for predicate, values in properties.items():
608
525
  if predicate in projection.edge_by_type:
@@ -620,10 +537,7 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
620
537
  yield error
621
538
  continue
622
539
  for target in values:
623
- target_id = self._create_instance_id(target, "edge", stop_on_exception) # type: ignore[call-overload]
624
- if not isinstance(target_id, InstanceId):
625
- yield target_id
626
- continue
540
+ target_id = self._create_instance_id(cast(URIRef, target))
627
541
  if isinstance(target, URIRef):
628
542
  target = remove_namespace_from_uri(target)
629
543
  external_id = f"{identifier}.{prop_id}.{target}"
@@ -656,43 +570,16 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
656
570
  return start_node, end_node # type: ignore[return-value]
657
571
  return None, None
658
572
 
659
- @overload
660
- def _create_instance_id(
661
- self, uri: URIRef, instance_type: str, stop_on_exception: Literal[False] = False
662
- ) -> InstanceId | NeatError: ...
663
-
664
- @overload
665
- def _create_instance_id(
666
- self, uri: URIRef, instance_type: str, stop_on_exception: Literal[True] = True
667
- ) -> InstanceId: ...
668
-
669
- def _create_instance_id(
670
- self, uri: URIRef, instance_type: str, stop_on_exception: bool = False
671
- ) -> InstanceId | NeatError:
672
- space: str | None = None
673
- external_id: str | None = None
674
- error: NeatError | None = None
675
- if self._use_source_space:
676
- namespace, external_id = split_uri(uri)
677
- space = namespace_as_space(namespace)
678
- if space is None:
679
- error = ResourceCreationError(uri, instance_type, f"Could not find space for {uri!s}.")
573
+ def _create_instance_id(self, uri: URIRef) -> InstanceId:
574
+ space = self._space_by_instance_uri[uri]
575
+ if uri in self._external_id_by_uri:
576
+ external_id = self._external_id_by_uri[uri]
680
577
  else:
681
- space = self._space_by_instance_uri[uri]
682
- if uri in self._external_id_by_uri:
683
- external_id = self._external_id_by_uri[uri]
684
- else:
685
- external_id = remove_namespace_from_uri(uri)
578
+ external_id = remove_namespace_from_uri(uri)
686
579
 
687
580
  if external_id and self._unquote_external_ids:
688
581
  external_id = urllib.parse.unquote(external_id)
689
- if space and external_id:
690
- return InstanceId(space, external_id)
691
- if error is None:
692
- raise ValueError(f"Bug in neat. Failed to create instance ID and determine error for {uri!r}")
693
- if stop_on_exception:
694
- raise error
695
- return error
582
+ return InstanceId(space, external_id)
696
583
 
697
584
  def _get_required_capabilities(self) -> list[Capability]:
698
585
  return [
@@ -702,7 +589,7 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
702
589
  DataModelInstancesAcl.Action.Write_Properties,
703
590
  DataModelInstancesAcl.Action.Read,
704
591
  ],
705
- scope=DataModelInstancesAcl.Scope.SpaceID([self._instance_space]),
592
+ scope=DataModelInstancesAcl.Scope.SpaceID(sorted(set(self._space_by_instance_uri.values()))),
706
593
  )
707
594
  ]
708
595
 
@@ -0,0 +1,249 @@
1
+ import itertools
2
+ import json
3
+ from collections import defaultdict
4
+ from collections.abc import Iterable
5
+ from pathlib import Path
6
+ from typing import cast
7
+
8
+ import yaml
9
+ from cognite.client import data_modeling as dm
10
+ from cognite.client.data_classes.capabilities import Capability, DataModelsAcl
11
+ from rdflib import URIRef
12
+
13
+ from cognite.neat.core._client import NeatClient
14
+ from cognite.neat.core._client._api.data_modeling_loaders import MultiCogniteAPIError
15
+ from cognite.neat.core._constants import COGNITE_SPACES
16
+ from cognite.neat.core._issues import IssueList, NeatIssue
17
+ from cognite.neat.core._issues.errors import ResourceCreationError, ResourceNotFoundError
18
+ from cognite.neat.core._issues.warnings import NeatValueWarning
19
+ from cognite.neat.core._store import NeatInstanceStore
20
+ from cognite.neat.core._utils.collection_ import iterate_progress_bar_if_above_config_threshold
21
+ from cognite.neat.core._utils.rdf_ import namespace_as_space, split_uri
22
+ from cognite.neat.core._utils.text import NamingStandardization
23
+ from cognite.neat.core._utils.upload import UploadResult
24
+
25
+ from ._base import _END_OF_CLASS, _START_OF_CLASS, CDFLoader
26
+
27
+
28
+ class InstanceSpaceLoader(CDFLoader[dm.SpaceApply]):
29
+ """Loads Instance Space into Cognite Data Fusion (CDF).
30
+
31
+ There are three ways to determine the space for each instance:
32
+ 1. If `instance_space` is provided, all instances will be assigned to that space, i.e., the space
33
+ is constant for all instances.
34
+ (If not it is set based on the triples (subject, predicate, object) in the graph store.)
35
+ 2. If `space_property` is provided, this is the predicate and the space is set to the object. The `instance_space`
36
+ is used as a fallback if the object is not a valid space.
37
+ 3. If `use_source_space` is set to True, the instances are assumed to be extracted from CDF and the space is part
38
+ of the subject.
39
+
40
+ This class exposes the `space_by_instance_uri` property used by the DMSLoader to lookup space for each instance URI.
41
+
42
+ Args:
43
+ graph_store (NeatInstanceStore): The graph store to load the data from.
44
+ instance_space (str): The instance space to load the data into.
45
+ space_property (str): The property to use to determine the space for each instance.
46
+ use_source_space (bool): If True, use the source space of the instances when extracted from CDF.
47
+ neat_prefix_by_predicate_uri (dict[URIRef, str] | None): A dictionary that maps a predicate URIRef to a
48
+ prefix that Neat added to the object upon extraction. This is used to remove the prefix from the
49
+ object before creating the instance.
50
+ """
51
+
52
+ def __init__(
53
+ self,
54
+ graph_store: NeatInstanceStore | None = None,
55
+ instance_space: str | None = None,
56
+ space_property: str | None = None,
57
+ use_source_space: bool = False,
58
+ neat_prefix_by_predicate_uri: dict[URIRef, str] | None = None,
59
+ ) -> None:
60
+ self.graph_store = graph_store
61
+ self.instance_space = instance_space
62
+ self.space_property = space_property
63
+ self.use_source_space = use_source_space
64
+ self.neat_prefix_by_predicate_uri = neat_prefix_by_predicate_uri or {}
65
+
66
+ self._lookup_issues = IssueList()
67
+
68
+ self._has_looked_up = False
69
+ # This is a dictionary mapping instance URIs to their respective spaces
70
+ # This is exposed through the property space_by_instance_uri. If the instance_space or space_property is
71
+ # set (1. and 2.) this is changed to a defaultdict with the instance_space as the default value.
72
+ self._space_by_instance_uri: dict[URIRef, str] = {}
73
+
74
+ @property
75
+ def space_by_instance_uri(self) -> dict[URIRef, str]:
76
+ """Returns a dictionary mapping instance URIs to their respective spaces."""
77
+ if not self._has_looked_up:
78
+ self._lookup_spaces()
79
+ self._has_looked_up = True
80
+ return self._space_by_instance_uri
81
+
82
+ def _get_required_capabilities(self) -> list[Capability]:
83
+ return [
84
+ DataModelsAcl(
85
+ actions=[
86
+ DataModelsAcl.Action.Write,
87
+ DataModelsAcl.Action.Read,
88
+ ],
89
+ scope=DataModelsAcl.Scope.All(),
90
+ )
91
+ ]
92
+
93
+ def _upload_to_cdf(
94
+ self,
95
+ client: NeatClient,
96
+ spaces: list[dm.SpaceApply],
97
+ dry_run: bool,
98
+ read_issues: IssueList,
99
+ class_name: str | None = None,
100
+ ) -> Iterable[UploadResult]:
101
+ cdf_spaces = client.data_modeling.spaces.retrieve([space.space for space in spaces])
102
+ cdf_space_by_id = {item.space: item for item in cdf_spaces}
103
+
104
+ to_create = dm.SpaceApplyList([])
105
+ to_update = dm.SpaceApplyList([])
106
+ unchanged = dm.SpaceApplyList([])
107
+
108
+ for local_space in spaces:
109
+ cdf_space = cdf_space_by_id.get(local_space.space)
110
+ if cdf_space is None:
111
+ to_create.append(local_space)
112
+ elif cdf_space != local_space.as_write():
113
+ to_update.append(local_space)
114
+ else:
115
+ unchanged.append(local_space)
116
+ loader = client.loaders.spaces
117
+ results: UploadResult[str] = UploadResult("instance spaces")
118
+ results.unchanged.update(unchanged.as_ids())
119
+ if dry_run:
120
+ results.created.update(to_create.as_ids())
121
+ results.changed.update(to_update.as_ids())
122
+ yield results
123
+ if to_create:
124
+ try:
125
+ client.loaders.spaces.create(to_create)
126
+ except MultiCogniteAPIError as e:
127
+ results.failed_created.update(to_create.as_ids())
128
+ for error in e.errors:
129
+ results.error_messages.append(f"Failed to create {loader.resource_name}: {error!s}")
130
+ else:
131
+ results.created.update(to_create.as_ids())
132
+
133
+ if to_update:
134
+ try:
135
+ client.loaders.spaces.update(to_update)
136
+ except MultiCogniteAPIError as e:
137
+ results.failed_changed.update(to_update.as_ids())
138
+ for error in e.errors:
139
+ results.error_messages.append(f"Failed to update {loader.resource_name}: {error!s}")
140
+ else:
141
+ results.changed.update(to_update.as_ids())
142
+
143
+ yield results
144
+
145
+ def write_to_file(self, filepath: Path) -> None:
146
+ """Dumps the instance spaces to file."""
147
+ if filepath.suffix not in [".json", ".yaml", ".yml"]:
148
+ raise ValueError(f"File format {filepath.suffix} is not supported")
149
+ dumped: dict[str, list] = {"spaces": [], "issues": []}
150
+ for item in self.load(stop_on_exception=False):
151
+ key = {
152
+ dm.SpaceApply: "spaces",
153
+ NeatIssue: "issues",
154
+ }.get(type(item))
155
+ if key is None:
156
+ # This should never happen, and is a bug in neat
157
+ raise ValueError(f"Item {item} is not supported. This is a bug in neat please report it.")
158
+ dumped[key].append(item.dump())
159
+ with filepath.open("w", encoding=self._encoding, newline=self._new_line) as f:
160
+ if filepath.suffix == ".json":
161
+ json.dump(dumped, f, indent=2)
162
+ else:
163
+ yaml.safe_dump(dumped, f, sort_keys=False)
164
+
165
+ def _load(
166
+ self, stop_on_exception: bool = False
167
+ ) -> Iterable[dm.SpaceApply | NeatIssue | type[_END_OF_CLASS] | _START_OF_CLASS]:
168
+ self._lookup_spaces()
169
+ if self._lookup_issues.has_errors and stop_on_exception:
170
+ raise self._lookup_issues.as_errors()
171
+ yield from self._lookup_issues
172
+ seen: set[str] = set()
173
+ for space_str in set(self.space_by_instance_uri.values()):
174
+ if space_str in seen or space_str in COGNITE_SPACES:
175
+ continue
176
+ yield dm.SpaceApply(space=space_str)
177
+ seen.add(space_str)
178
+
179
+ def _lookup_spaces(self) -> None:
180
+ # Case 1: Same instance space for all instances:
181
+ if isinstance(self.instance_space, str) and self.space_property is None and self.use_source_space is False:
182
+ self._space_by_instance_uri = defaultdict(lambda: cast(str, self.instance_space))
183
+ # Adding a dummy entry to ensure that the instance space is included
184
+ self._space_by_instance_uri[URIRef(self.instance_space)] = self.instance_space
185
+ return
186
+ if self.graph_store is None:
187
+ raise ValueError("Graph store must be provided to lookup spaces")
188
+ # Case 3: Use the source space, i.e., the space of the instances when extracted from CDF
189
+ if self.use_source_space and self.instance_space is None and self.space_property is None:
190
+ self._lookup_space_via_instance_uris(self.graph_store)
191
+ # Case 2: Use a property on each instance to determine the space.
192
+ elif self.space_property is not None and self.use_source_space is False:
193
+ if self.instance_space is None:
194
+ raise ValueError(
195
+ "Missing fallback instance space. This is required when "
196
+ f"using space_property='{self.space_property}'"
197
+ )
198
+ self._space_by_instance_uri = defaultdict(lambda: cast(str, self.instance_space))
199
+ self._lookup_space_via_property(self.graph_store, self.space_property)
200
+ else:
201
+ raise ValueError("Either 'instance_space', 'space_property', or 'use_source_space' must be provided.")
202
+
203
+ def _lookup_space_via_instance_uris(self, graph_store: NeatInstanceStore) -> None:
204
+ instance_iterable = itertools.chain(
205
+ (res[0] for res in graph_store.queries.select.list_instances_ids()),
206
+ graph_store.queries.select.list_instance_object_ids(),
207
+ )
208
+
209
+ for instance_uri in instance_iterable:
210
+ namespace, external_id = split_uri(instance_uri)
211
+ space = namespace_as_space(namespace)
212
+ if space is None:
213
+ error = ResourceCreationError(instance_uri, "instance", "This instance was not extracted from CDF.")
214
+ self._lookup_issues.append(error)
215
+ else:
216
+ self._space_by_instance_uri[instance_uri] = space
217
+
218
+ def _lookup_space_via_property(self, graph_store: NeatInstanceStore, space_property: str) -> None:
219
+ properties_by_uriref = graph_store.queries.select.properties()
220
+ space_property_uri = next((k for k, v in properties_by_uriref.items() if v == space_property), None)
221
+ if space_property_uri is None:
222
+ error: ResourceNotFoundError[str, str] = ResourceNotFoundError(
223
+ self.space_property,
224
+ "property",
225
+ more=f"Could not find the {space_property} in the graph.",
226
+ )
227
+ self._lookup_issues.append(error)
228
+ return
229
+
230
+ class_with_total_pair = graph_store.queries.select.summarize_instances()
231
+ total = sum([count for _, count in class_with_total_pair])
232
+ instance_iterable = graph_store.queries.select.list_instances_ids_by_space(space_property_uri)
233
+ instance_iterable = iterate_progress_bar_if_above_config_threshold(
234
+ instance_iterable, total, f"Looking up spaces for {total} instances..."
235
+ )
236
+ neat_prefix = self.neat_prefix_by_predicate_uri.get(space_property_uri)
237
+ warned_spaces: set[str] = set()
238
+ for instance, space in instance_iterable:
239
+ if neat_prefix:
240
+ space = space.removeprefix(neat_prefix)
241
+
242
+ clean_space = NamingStandardization.standardize_space_str(space)
243
+ if clean_space != space and space not in warned_spaces:
244
+ self._lookup_issues.append(
245
+ NeatValueWarning(f"Invalid space in property {space_property}: {space}. Fixed to {clean_space}")
246
+ )
247
+ warned_spaces.add(space)
248
+
249
+ self._space_by_instance_uri[instance] = clean_space