cognite-neat 0.70.0__tar.gz → 0.70.2__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 (234) hide show
  1. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/PKG-INFO +1 -1
  2. cognite_neat-0.70.2/cognite/neat/_version.py +1 -0
  3. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_rules2dms.py +51 -9
  4. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/dms_architect_rules.py +5 -3
  5. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/dms_schema.py +3 -0
  6. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/information_rules.py +13 -9
  7. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/pyproject.toml +1 -1
  8. cognite_neat-0.70.0/cognite/neat/_version.py +0 -1
  9. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/LICENSE +0 -0
  10. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/README.md +0 -0
  11. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/__init__.py +0 -0
  12. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/__init__.py +0 -0
  13. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/asgi/metrics.py +0 -0
  14. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/configuration.py +0 -0
  15. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/context_manager/__init__.py +0 -0
  16. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/context_manager/manager.py +0 -0
  17. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/data_classes/__init__.py +0 -0
  18. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/data_classes/configuration.py +0 -0
  19. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/data_classes/rest.py +0 -0
  20. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/explorer.py +0 -0
  21. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/configuration.py +0 -0
  22. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/core.py +0 -0
  23. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/crud.py +0 -0
  24. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/data_exploration.py +0 -0
  25. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/metrics.py +0 -0
  26. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/rules.py +0 -0
  27. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/routers/workflows.py +0 -0
  28. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/utils/__init__.py +0 -0
  29. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/utils/data_mapping.py +0 -0
  30. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/utils/logging.py +0 -0
  31. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/api/utils/query_templates.py +0 -0
  32. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/main.py +0 -0
  33. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/monitoring/__init__.py +0 -0
  34. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/monitoring/metrics.py +0 -0
  35. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/index.html +0 -0
  36. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
  37. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/README.md +0 -0
  38. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
  39. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
  40. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
  41. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
  42. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
  43. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
  44. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
  45. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
  46. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/js/main.ed960141.js +0 -0
  47. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/js/main.ed960141.js.LICENSE.txt +0 -0
  48. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/js/main.ed960141.js.map +0 -0
  49. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  50. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/config.py +0 -0
  51. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/constants.py +0 -0
  52. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/exceptions.py +0 -0
  53. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/__init__.py +0 -0
  54. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  55. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  56. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/examples/__init__.py +0 -0
  57. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  58. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/exceptions.py +0 -0
  59. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractor/__init__.py +0 -0
  60. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractor/_base.py +0 -0
  61. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractor/_dexpi.py +0 -0
  62. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractor/_graph_capturing_sheet.py +0 -0
  63. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractor/_mock_graph_generator.py +0 -0
  64. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractors/__init__.py +0 -0
  65. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractors/_base.py +0 -0
  66. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/extractors/_mock_graph_generator.py +0 -0
  67. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/__init__.py +0 -0
  68. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/_asset_loader.py +0 -0
  69. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/_base.py +0 -0
  70. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/_exceptions.py +0 -0
  71. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/core/__init__.py +0 -0
  72. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/core/labels.py +0 -0
  73. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/core/models.py +0 -0
  74. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/core/rdf_to_assets.py +0 -0
  75. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/core/rdf_to_relationships.py +0 -0
  76. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/rdf_to_dms.py +0 -0
  77. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/loader/validator.py +0 -0
  78. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/models.py +0 -0
  79. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/__init__.py +0 -0
  80. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_base.py +0 -0
  81. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_graphdb_store.py +0 -0
  82. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_memory_store.py +0 -0
  83. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_oxigraph_store.py +0 -0
  84. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
  85. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/stores/_rdf_to_graph.py +0 -0
  86. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/transformation/__init__.py +0 -0
  87. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/transformation/entity_matcher.py +0 -0
  88. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/transformation/query_generator/__init__.py +0 -0
  89. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/transformation/query_generator/sparql.py +0 -0
  90. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/graph/transformation/transformer.py +0 -0
  91. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/py.typed +0 -0
  92. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/__init__.py +0 -0
  93. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/_analysis/__init__.py +0 -0
  94. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/_analysis/_base.py +0 -0
  95. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/_analysis/_information_rules.py +0 -0
  96. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/_shared.py +0 -0
  97. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/analysis.py +0 -0
  98. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/Rules-Nordic44-to-TNT.xlsx +0 -0
  99. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  100. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/__init__.py +0 -0
  101. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/power-grid-containers.yaml +0 -0
  102. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/power-grid-example.xlsx +0 -0
  103. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/power-grid-model.yaml +0 -0
  104. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/rules-template.xlsx +0 -0
  105. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  106. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/skos-rules.xlsx +0 -0
  107. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  108. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/examples/wind-energy.owl +0 -0
  109. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exceptions.py +0 -0
  110. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/__init__.py +0 -0
  111. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_base.py +0 -0
  112. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_core/__init__.py +0 -0
  113. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_core/rules2labels.py +0 -0
  114. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2dms.py +0 -0
  115. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2excel.py +0 -0
  116. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2graphql.py +0 -0
  117. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2ontology.py +0 -0
  118. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2pydantic_models.py +0 -0
  119. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2rules.py +0 -0
  120. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_rules2triples.py +0 -0
  121. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporter/_validation.py +0 -0
  122. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/__init__.py +0 -0
  123. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_base.py +0 -0
  124. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_models.py +0 -0
  125. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
  126. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_rules2ontology.py +0 -0
  127. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
  128. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/exporters/_validation.py +0 -0
  129. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/__init__.py +0 -0
  130. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_base.py +0 -0
  131. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_dict2rules.py +0 -0
  132. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_dms2rules.py +0 -0
  133. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_graph2rules.py +0 -0
  134. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_json2rules.py +0 -0
  135. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_owl2rules/__init__.py +0 -0
  136. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_owl2rules/_owl2classes.py +0 -0
  137. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_owl2rules/_owl2metadata.py +0 -0
  138. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_owl2rules/_owl2properties.py +0 -0
  139. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_owl2rules/_owl2rules.py +0 -0
  140. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_spreadsheet2rules.py +0 -0
  141. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_xsd2rules.py +0 -0
  142. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importer/_yaml2rules.py +0 -0
  143. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/__init__.py +0 -0
  144. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_base.py +0 -0
  145. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dms2rules.py +0 -0
  146. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
  147. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  148. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
  149. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  150. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
  151. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
  152. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +0 -0
  153. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  154. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +0 -0
  155. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
  156. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
  157. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
  158. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/__init__.py +0 -0
  159. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/base.py +0 -0
  160. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/dms.py +0 -0
  161. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/fileread.py +0 -0
  162. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/formatters.py +0 -0
  163. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/importing.py +0 -0
  164. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/spreadsheet.py +0 -0
  165. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
  166. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/__init__.py +0 -0
  167. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_base.py +0 -0
  168. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/__init__.py +0 -0
  169. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/_types/__init__.py +0 -0
  170. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/_types/_base.py +0 -0
  171. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/_types/_field.py +0 -0
  172. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/_types/_value.py +0 -0
  173. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/base.py +0 -0
  174. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/_rules/domain_rules.py +0 -0
  175. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/raw_rules.py +0 -0
  176. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/rdfpath.py +0 -0
  177. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/rules.py +0 -0
  178. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/tables.py +0 -0
  179. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/rules/models/value_types.py +0 -0
  180. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/__init__.py +0 -0
  181. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/auxiliary.py +0 -0
  182. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf.py +0 -0
  183. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf_loaders/__init__.py +0 -0
  184. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf_loaders/_base.py +0 -0
  185. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf_loaders/_data_modeling.py +0 -0
  186. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf_loaders/_ingestion.py +0 -0
  187. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/cdf_loaders/data_classes.py +0 -0
  188. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/exceptions.py +0 -0
  189. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/spreadsheet.py +0 -0
  190. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/text.py +0 -0
  191. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/utils.py +0 -0
  192. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/utils/xml.py +0 -0
  193. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/__init__.py +0 -0
  194. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/_exceptions.py +0 -0
  195. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/base.py +0 -0
  196. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/cdf_store.py +0 -0
  197. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Export DMS/workflow.yaml +0 -0
  198. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Export Rules to Ontology/workflow.yaml +0 -0
  199. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Extract DEXPI Graph and Export Rules/workflow.yaml +0 -0
  200. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Extract RDF Graph and Generate Assets/workflow.yaml +0 -0
  201. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Import DMS/workflow.yaml +0 -0
  202. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Ontology to Data Model/workflow.yaml +0 -0
  203. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Validate Rules/workflow.yaml +0 -0
  204. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Validate Solution Model/workflow.yaml +0 -0
  205. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Visualize Data Model Using Mock Graph/workflow.yaml +0 -0
  206. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/examples/Visualize Semantic Data Model/workflow.yaml +0 -0
  207. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/manager.py +0 -0
  208. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/migration/__init__.py +0 -0
  209. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/migration/steps.py +0 -0
  210. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
  211. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/model.py +0 -0
  212. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/__init__.py +0 -0
  213. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/data_contracts.py +0 -0
  214. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/__init__.py +0 -0
  215. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/graph_extractor.py +0 -0
  216. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/graph_loader.py +0 -0
  217. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/graph_store.py +0 -0
  218. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/io_steps.py +0 -0
  219. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/rules_exporter.py +0 -0
  220. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/rules_importer.py +0 -0
  221. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/rules_validator.py +0 -0
  222. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/__init__.py +0 -0
  223. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/graph_contextualization.py +0 -0
  224. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/graph_extractor.py +0 -0
  225. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/graph_loader.py +0 -0
  226. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/graph_store.py +0 -0
  227. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/graph_transformer.py +0 -0
  228. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/rules_exporter.py +0 -0
  229. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/lib/v1/rules_importer.py +0 -0
  230. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps/step_model.py +0 -0
  231. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/steps_registry.py +0 -0
  232. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/tasks.py +0 -0
  233. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/triggers.py +0 -0
  234. {cognite_neat-0.70.0 → cognite_neat-0.70.2}/cognite/neat/workflows/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cognite-neat
3
- Version: 0.70.0
3
+ Version: 0.70.2
4
4
  Summary: Knowledge graph transformation
5
5
  Home-page: https://cognite-neat.readthedocs-hosted.com/
6
6
  License: Apache-2.0
@@ -0,0 +1 @@
1
+ __version__ = "0.70.2"
@@ -1,7 +1,7 @@
1
1
  import warnings
2
2
  from collections.abc import Collection, Iterable
3
3
  from pathlib import Path
4
- from typing import Literal, TypeAlias
4
+ from typing import Literal, TypeAlias, cast
5
5
 
6
6
  from cognite.client import CogniteClient
7
7
  from cognite.client.data_classes._base import CogniteResourceList
@@ -9,7 +9,8 @@ from cognite.client.exceptions import CogniteAPIError
9
9
 
10
10
  from cognite.neat.rules._shared import Rules
11
11
  from cognite.neat.rules.models._rules import InformationRules
12
- from cognite.neat.rules.models._rules.dms_architect_rules import DMSRules
12
+ from cognite.neat.rules.models._rules.base import ExtensionCategory, SheetList
13
+ from cognite.neat.rules.models._rules.dms_architect_rules import DMSContainer, DMSRules
13
14
  from cognite.neat.rules.models._rules.dms_schema import DMSSchema, PipelineSchema
14
15
  from cognite.neat.utils.cdf_loaders import (
15
16
  ContainerLoader,
@@ -107,14 +108,53 @@ class DMSExporter(CDFExporter[DMSSchema]):
107
108
 
108
109
  def export(self, rules: Rules) -> DMSSchema:
109
110
  if isinstance(rules, DMSRules):
110
- return rules.as_schema(self.standardize_casing, self.export_pipeline, self.instance_space)
111
+ dms_rules = rules
111
112
  elif isinstance(rules, InformationRules):
112
- return rules.as_dms_architect_rules().as_schema(
113
- self.standardize_casing, self.export_pipeline, self.instance_space
114
- )
113
+ dms_rules = rules.as_dms_architect_rules()
115
114
  else:
116
115
  raise ValueError(f"{type(rules).__name__} cannot be exported to DMS")
117
116
 
117
+ is_solution_model = (
118
+ dms_rules.reference and dms_rules.metadata.external_id != dms_rules.reference.metadata.external_id
119
+ )
120
+ is_new_model = dms_rules.reference is None
121
+ if is_new_model or is_solution_model:
122
+ return dms_rules.as_schema(self.standardize_casing, self.export_pipeline, self.instance_space)
123
+
124
+ # This is an extension of an existing model.
125
+ reference_rules = cast(DMSRules, dms_rules.reference).copy(deep=True)
126
+ reference_schema = reference_rules.as_schema(self.standardize_casing, self.export_pipeline)
127
+
128
+ # Todo Move this to an appropriate location
129
+ # Merging Reference with User Rules
130
+ combined_rules = dms_rules.copy(deep=True)
131
+ existing_containers = {container.class_ for container in combined_rules.containers or []}
132
+ if combined_rules.containers is None:
133
+ combined_rules.containers = SheetList[DMSContainer](data=[])
134
+ for container in reference_rules.containers or []:
135
+ if container.class_ not in existing_containers:
136
+ container.reference = None
137
+ combined_rules.containers.append(container)
138
+ existing_views = {view.class_ for view in combined_rules.views}
139
+ for view in reference_rules.views:
140
+ if view.class_ not in existing_views:
141
+ view.reference = None
142
+ combined_rules.views.append(view)
143
+ existing_properties = {(property_.class_, property_.property_) for property_ in combined_rules.properties}
144
+ for property_ in reference_rules.properties:
145
+ if (property_.class_, property_.property_) not in existing_properties:
146
+ property_.reference = None
147
+ combined_rules.properties.append(property_)
148
+
149
+ schema = combined_rules.as_schema(self.standardize_casing, self.export_pipeline, self.instance_space)
150
+
151
+ if dms_rules.metadata.extension in (ExtensionCategory.addition, ExtensionCategory.reshape):
152
+ # We do not freeze views as they might be changed, even for addition,
153
+ # in case, for example, new properties are added. The validation will catch this.
154
+ schema.frozen_ids.update(set(reference_schema.containers.as_ids()))
155
+ schema.frozen_ids.update(set(reference_schema.node_types.as_ids()))
156
+ return schema
157
+
118
158
  def export_to_cdf(self, rules: Rules, client: CogniteClient, dry_run: bool = False) -> Iterable[UploadResult]:
119
159
  schema = self.export(rules)
120
160
  to_export: list[tuple[CogniteResourceList, ResourceLoader]] = []
@@ -135,10 +175,13 @@ class DMSExporter(CDFExporter[DMSSchema]):
135
175
  # are changed. This is a workaround to force the conversion.
136
176
  redeploy_data_model = False
137
177
 
138
- for items, loader in to_export:
139
- item_ids = loader.get_ids(items)
178
+ for all_items, loader in to_export:
179
+ all_item_ids = loader.get_ids(all_items)
180
+ skipped = sum(1 for item_id in all_item_ids if item_id in schema.frozen_ids)
181
+ item_ids = [item_id for item_id in all_item_ids if item_id not in schema.frozen_ids]
140
182
  cdf_items = loader.retrieve(item_ids)
141
183
  cdf_item_by_id = {loader.get_id(item): item for item in cdf_items}
184
+ items = [item for item in all_items if loader.get_id(item) in item_ids]
142
185
  to_create, to_update, unchanged, to_delete = [], [], [], []
143
186
  is_redeploying = loader.resource_name == "data_models" and redeploy_data_model
144
187
  for item in items:
@@ -163,7 +206,6 @@ class DMSExporter(CDFExporter[DMSSchema]):
163
206
  created = len(to_create)
164
207
  failed_created = 0
165
208
 
166
- skipped = 0
167
209
  if self.existing_handling in ["update", "force"]:
168
210
  changed = len(to_update)
169
211
  failed_changed = 0
@@ -211,7 +211,7 @@ class DMSContainer(SheetEntity):
211
211
  container_id = self.container.as_id(default_space, standardize_casing)
212
212
  constraints: dict[str, dm.Constraint] = {}
213
213
  for constraint in self.constraint or []:
214
- requires = dm.RequiresConstraint(constraint.as_id(default_space))
214
+ requires = dm.RequiresConstraint(constraint.as_id(default_space, standardize_casing))
215
215
  constraints[f"{constraint.space}_{constraint.external_id}"] = requires
216
216
 
217
217
  return dm.ContainerApply(
@@ -632,7 +632,9 @@ class _DMSExporter:
632
632
  if not view.in_model
633
633
  }
634
634
  data_model = rules.metadata.as_data_model()
635
- data_model.views = [view_id for view_id in views.as_ids() if view_id not in views_not_in_model]
635
+ data_model.views = sorted(
636
+ [view_id for view_id in views.as_ids() if view_id not in views_not_in_model], key=lambda v: v.as_tuple() # type: ignore[union-attr]
637
+ )
636
638
 
637
639
  spaces = self._create_spaces(rules.metadata, containers, views, data_model)
638
640
 
@@ -796,7 +798,7 @@ class _DMSExporter:
796
798
  parent_views = {parent for view in views for parent in view.implements or []}
797
799
  node_type_flag = False
798
800
  for view in views:
799
- ref_containers = view.referenced_containers()
801
+ ref_containers = sorted(view.referenced_containers(), key=lambda c: c.as_tuple())
800
802
  has_data = dm.filters.HasData(containers=list(ref_containers)) if ref_containers else None
801
803
  node_type = dm.filters.Equals(["node", "type"], {"space": view.space, "externalId": view.external_id})
802
804
  if view.as_id() in parent_views:
@@ -45,6 +45,9 @@ class DMSSchema:
45
45
  views: dm.ViewApplyList = field(default_factory=lambda: dm.ViewApplyList([]))
46
46
  containers: dm.ContainerApplyList = field(default_factory=lambda: dm.ContainerApplyList([]))
47
47
  node_types: dm.NodeApplyList = field(default_factory=lambda: dm.NodeApplyList([]))
48
+ # The frozen ids are parts of the schema that should not be modified or deleted.
49
+ # This is used the exporting the schema.
50
+ frozen_ids: set[dm.ViewId | dm.ContainerId | dm.NodeId] = field(default_factory=set)
48
51
 
49
52
  _FIELD_NAME_BY_RESOURCE_TYPE: ClassVar[dict[str, str]] = {
50
53
  "container": "containers",
@@ -304,7 +304,7 @@ class InformationRules(RuleModel):
304
304
  kwargs = vars(info)
305
305
  default_prefix = f"{self.metadata.prefix}:" if self.metadata.prefix else ""
306
306
 
307
- field_names = ["Class"] if info.by_alias else ["class_"]
307
+ field_names = ["Class", "Value Type"] if info.by_alias else ["class_", "value_type"]
308
308
  properties = []
309
309
  for prop in self.properties:
310
310
  dumped = prop.model_dump(**kwargs)
@@ -392,7 +392,7 @@ class _InformationRulesConverter:
392
392
  class_=cls_.class_,
393
393
  view=ViewPropEntity(prefix=cls_.class_.prefix, suffix=cls_.class_.suffix, version=cls_.class_.version),
394
394
  description=cls_.description,
395
- implements=self._get_view_implements(cls_),
395
+ implements=self._get_view_implements(cls_, info_metadata),
396
396
  )
397
397
  for cls_ in self.information.classes
398
398
  ]
@@ -507,15 +507,19 @@ class _InformationRulesConverter:
507
507
  return ContainerEntity(prefix=prop.class_.prefix, suffix=prop.class_.suffix), prop.property_
508
508
 
509
509
  @classmethod
510
- def _get_view_implements(cls, cls_: InformationClass) -> list[ViewEntity]:
511
- if isinstance(cls_.reference, ReferenceEntity):
512
- return [
513
- ViewPropEntity(
514
- prefix=cls_.reference.prefix, suffix=cls_.reference.suffix, version=cls_.reference.version
515
- )
510
+ def _get_view_implements(cls, cls_: InformationClass, metadata: InformationMetadata) -> list[ViewEntity]:
511
+ if isinstance(cls_.reference, ReferenceEntity) and cls_.reference.prefix != metadata.prefix:
512
+ # We use the reference for implements if it is in a different namespace
513
+ implements = [
514
+ ViewEntity(prefix=cls_.reference.prefix, suffix=cls_.reference.suffix, version=cls_.reference.version)
516
515
  ]
517
516
  else:
518
- return [
517
+ implements = []
518
+
519
+ implements.extend(
520
+ [
519
521
  ViewEntity(prefix=parent.prefix, suffix=parent.suffix, version=parent.version)
520
522
  for parent in cls_.parent or []
521
523
  ]
524
+ )
525
+ return implements
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cognite-neat"
3
- version = "0.70.0"
3
+ version = "0.70.2"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -1 +0,0 @@
1
- __version__ = "0.70.0"
File without changes
File without changes