cognite-neat 0.81.1__tar.gz → 0.81.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.
Files changed (301) hide show
  1. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/PKG-INFO +1 -1
  2. cognite_neat-0.81.3/cognite/neat/_version.py +1 -0
  3. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/loaders/_rdf2dms.py +3 -1
  4. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +3 -2
  5. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/dms.py +25 -0
  6. cognite_neat-0.81.3/cognite/neat/rules/models/_constants.py +1 -0
  7. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_validation.py +18 -4
  8. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/_converter.py +10 -3
  9. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/pyproject.toml +1 -1
  10. cognite_neat-0.81.1/cognite/neat/_version.py +0 -1
  11. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/LICENSE +0 -0
  12. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/README.md +0 -0
  13. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/__init__.py +0 -0
  14. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/__init__.py +0 -0
  15. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/asgi/metrics.py +0 -0
  16. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/configuration.py +0 -0
  17. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/context_manager/__init__.py +0 -0
  18. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/context_manager/manager.py +0 -0
  19. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/data_classes/__init__.py +0 -0
  20. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/data_classes/rest.py +0 -0
  21. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/explorer.py +0 -0
  22. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/configuration.py +0 -0
  23. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/core.py +0 -0
  24. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/crud.py +0 -0
  25. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/data_exploration.py +0 -0
  26. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/metrics.py +0 -0
  27. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/rules.py +0 -0
  28. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/routers/workflows.py +0 -0
  29. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/utils/__init__.py +0 -0
  30. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/utils/data_mapping.py +0 -0
  31. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/utils/logging.py +0 -0
  32. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/api/utils/query_templates.py +0 -0
  33. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/main.py +0 -0
  34. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/monitoring/__init__.py +0 -0
  35. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/monitoring/metrics.py +0 -0
  36. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/index.html +0 -0
  37. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
  38. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/README.md +0 -0
  39. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
  40. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
  41. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/img/architect-icon.svg +0 -0
  42. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/img/developer-icon.svg +0 -0
  43. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/img/sme-icon.svg +0 -0
  44. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
  45. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
  46. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
  47. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
  48. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
  49. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
  50. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js +0 -0
  51. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.LICENSE.txt +0 -0
  52. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.map +0 -0
  53. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  54. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/config.py +0 -0
  55. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/constants.py +0 -0
  56. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/exceptions.py +0 -0
  57. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/__init__.py +0 -0
  58. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/_shared.py +0 -0
  59. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/_tracking/__init__.py +0 -0
  60. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/_tracking/base.py +0 -0
  61. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/_tracking/log.py +0 -0
  62. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  63. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  64. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/examples/__init__.py +0 -0
  65. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  66. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/exceptions.py +0 -0
  67. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/__init__.py +0 -0
  68. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_base.py +0 -0
  69. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/__init__.py +0 -0
  70. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_assets.py +0 -0
  71. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_events.py +0 -0
  72. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_files.py +0 -0
  73. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_labels.py +0 -0
  74. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_relationships.py +0 -0
  75. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +0 -0
  76. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_classic_cdf/_timeseries.py +0 -0
  77. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_dexpi.py +0 -0
  78. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_mock_graph_generator.py +0 -0
  79. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/extractors/_rdf_file.py +0 -0
  80. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/issues/__init__.py +0 -0
  81. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/issues/loader.py +0 -0
  82. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/loaders/__init__.py +0 -0
  83. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/loaders/_base.py +0 -0
  84. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/models.py +0 -0
  85. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/stores/__init__.py +0 -0
  86. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/stores/_base.py +0 -0
  87. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
  88. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/graph/stores/_provenance.py +0 -0
  89. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/issues.py +0 -0
  90. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/__init__.py +0 -0
  91. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/__init__.py +0 -0
  92. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  93. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  94. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/examples/__init__.py +0 -0
  95. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  96. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/exceptions.py +0 -0
  97. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/extractors/__init__.py +0 -0
  98. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/extractors/_base.py +0 -0
  99. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/extractors/_dexpi.py +0 -0
  100. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -0
  101. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +0 -0
  102. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/__init__.py +0 -0
  103. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/_asset_loader.py +0 -0
  104. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/_base.py +0 -0
  105. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/_exceptions.py +0 -0
  106. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
  107. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/core/labels.py +0 -0
  108. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/core/models.py +0 -0
  109. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +0 -0
  110. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +0 -0
  111. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/rdf_to_dms.py +0 -0
  112. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/loaders/validator.py +0 -0
  113. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/models.py +0 -0
  114. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/__init__.py +0 -0
  115. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_base.py +0 -0
  116. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_graphdb_store.py +0 -0
  117. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_memory_store.py +0 -0
  118. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_oxigraph_store.py +0 -0
  119. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -0
  120. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/stores/_rdf_to_graph.py +0 -0
  121. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/transformations/__init__.py +0 -0
  122. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -0
  123. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -0
  124. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/transformations/query_generator/sparql.py +0 -0
  125. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/graph/transformations/transformer.py +0 -0
  126. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/__init__.py +0 -0
  127. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/analysis.py +0 -0
  128. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-TNT.xlsx +0 -0
  129. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  130. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/__init__.py +0 -0
  131. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -0
  132. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
  133. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -0
  134. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
  135. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  136. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
  137. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  138. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/examples/wind-energy.owl +0 -0
  139. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exceptions.py +0 -0
  140. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/__init__.py +0 -0
  141. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_base.py +0 -0
  142. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -0
  143. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -0
  144. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2dms.py +0 -0
  145. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -0
  146. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2graphql.py +0 -0
  147. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2ontology.py +0 -0
  148. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -0
  149. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -0
  150. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/exporters/_validation.py +0 -0
  151. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/__init__.py +0 -0
  152. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_base.py +0 -0
  153. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_dict2rules.py +0 -0
  154. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_dms2rules.py +0 -0
  155. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_graph2rules.py +0 -0
  156. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_json2rules.py +0 -0
  157. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -0
  158. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +0 -0
  159. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  160. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +0 -0
  161. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -0
  162. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -0
  163. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -0
  164. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -0
  165. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/__init__.py +0 -0
  166. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/_base.py +0 -0
  167. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/raw_rules.py +0 -0
  168. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/rdfpath.py +0 -0
  169. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/rules.py +0 -0
  170. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/tables.py +0 -0
  171. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/rules/models/value_types.py +0 -0
  172. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -0
  173. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  174. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  175. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  176. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -0
  177. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  178. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  179. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  180. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  181. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  182. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/py.typed +0 -0
  183. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/__init__.py +0 -0
  184. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/_shared.py +0 -0
  185. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/analysis/__init__.py +0 -0
  186. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/analysis/_base.py +0 -0
  187. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/analysis/_information_rules.py +0 -0
  188. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/examples/__init__.py +0 -0
  189. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/examples/wind-energy.owl +0 -0
  190. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exceptions.py +0 -0
  191. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/__init__.py +0 -0
  192. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_base.py +0 -0
  193. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_rules2dms.py +0 -0
  194. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
  195. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_rules2ontology.py +0 -0
  196. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
  197. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/exporters/_validation.py +0 -0
  198. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/__init__.py +0 -0
  199. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_base.py +0 -0
  200. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dms2rules.py +0 -0
  201. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
  202. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  203. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
  204. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  205. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
  206. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_inference2rules.py +0 -0
  207. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
  208. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +0 -0
  209. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  210. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +0 -0
  211. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
  212. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
  213. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
  214. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/__init__.py +0 -0
  215. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/base.py +0 -0
  216. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/fileread.py +0 -0
  217. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/formatters.py +0 -0
  218. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/importing.py +0 -0
  219. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/spreadsheet.py +0 -0
  220. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
  221. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/__init__.py +0 -0
  222. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/_base.py +0 -0
  223. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/_rdfpath.py +0 -0
  224. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/_types/__init__.py +0 -0
  225. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/_types/_base.py +0 -0
  226. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/_types/_field.py +0 -0
  227. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/data_types.py +0 -0
  228. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/__init__.py +0 -0
  229. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_converter.py +0 -0
  230. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_exporter.py +0 -0
  231. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_rules.py +0 -0
  232. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_rules_input.py +0 -0
  233. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_schema.py +0 -0
  234. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/dms/_serializer.py +0 -0
  235. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/domain.py +0 -0
  236. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/entities.py +0 -0
  237. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/__init__.py +0 -0
  238. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/_rules.py +0 -0
  239. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/_rules_input.py +0 -0
  240. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/_serializer.py +0 -0
  241. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/information/_validation.py +0 -0
  242. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/rules/models/wrapped_entities.py +0 -0
  243. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/__init__.py +0 -0
  244. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/auxiliary.py +0 -0
  245. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf.py +0 -0
  246. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_classes.py +0 -0
  247. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_loaders/__init__.py +0 -0
  248. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_loaders/_base.py +0 -0
  249. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_loaders/_data_modeling.py +0 -0
  250. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_loaders/_ingestion.py +0 -0
  251. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/cdf_loaders/data_classes.py +0 -0
  252. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/exceptions.py +0 -0
  253. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/spreadsheet.py +0 -0
  254. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/text.py +0 -0
  255. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/upload.py +0 -0
  256. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/utils.py +0 -0
  257. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/utils/xml.py +0 -0
  258. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/__init__.py +0 -0
  259. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/_exceptions.py +0 -0
  260. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/base.py +0 -0
  261. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/cdf_store.py +0 -0
  262. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Export_DMS/workflow.yaml +0 -0
  263. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  264. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  265. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  266. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Import_DMS/workflow.yaml +0 -0
  267. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  268. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  269. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  270. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  271. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  272. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/manager.py +0 -0
  273. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/migration/__init__.py +0 -0
  274. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/migration/steps.py +0 -0
  275. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
  276. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/model.py +0 -0
  277. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/__init__.py +0 -0
  278. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/data_contracts.py +0 -0
  279. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/__init__.py +0 -0
  280. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/__init__.py +0 -0
  281. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/graph_extractor.py +0 -0
  282. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/graph_loader.py +0 -0
  283. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/graph_store.py +0 -0
  284. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/rules_exporter.py +0 -0
  285. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/rules_importer.py +0 -0
  286. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/current/rules_validator.py +0 -0
  287. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/io/__init__.py +0 -0
  288. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/io/io_steps.py +0 -0
  289. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -0
  290. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -0
  291. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +0 -0
  292. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/graph_loader.py +0 -0
  293. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/graph_store.py +0 -0
  294. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -0
  295. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +0 -0
  296. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/lib/legacy/rules_importer.py +0 -0
  297. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps/step_model.py +0 -0
  298. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/steps_registry.py +0 -0
  299. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/tasks.py +0 -0
  300. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/cognite/neat/workflows/triggers.py +0 -0
  301. {cognite_neat-0.81.1 → cognite_neat-0.81.3}/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.81.1
3
+ Version: 0.81.3
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.81.3"
@@ -22,6 +22,7 @@ from cognite.neat.issues import NeatIssue, NeatIssueList
22
22
  from cognite.neat.rules.models import DMSRules
23
23
  from cognite.neat.rules.models.data_types import _DATA_TYPE_BY_DMS_TYPE
24
24
  from cognite.neat.utils.upload import UploadDiffsID
25
+ from cognite.neat.utils.utils import create_sha256_hash
25
26
 
26
27
  from ._base import CDFLoader
27
28
 
@@ -217,9 +218,10 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
217
218
  tracker.issue(error)
218
219
  yield error
219
220
  for target in values:
221
+ external_id = f"{identifier}.{prop}.{target}"
220
222
  yield dm.EdgeApply(
221
223
  space=self.instance_space,
222
- external_id=f"{identifier}.{prop}.{target}",
224
+ external_id=external_id if len(external_id) < 256 else create_sha256_hash(external_id),
223
225
  type=edge.type,
224
226
  start_node=dm.DirectRelationReference(self.instance_space, identifier),
225
227
  end_node=dm.DirectRelationReference(self.instance_space, target),
@@ -21,7 +21,7 @@ from cognite.neat.legacy.rules.exporters._rules2dms import DMSSchemaComponents
21
21
  from cognite.neat.legacy.rules.exporters._validation import are_entity_names_dms_compliant
22
22
  from cognite.neat.legacy.rules.models.rules import Property, Rules
23
23
  from cognite.neat.legacy.rules.models.value_types import ValueTypeMapping
24
- from cognite.neat.utils.utils import generate_exception_report
24
+ from cognite.neat.utils.utils import create_sha256_hash, generate_exception_report
25
25
 
26
26
  if sys.version_info >= (3, 11):
27
27
  from datetime import UTC
@@ -683,9 +683,10 @@ def to_edge(self, data_model: DMSSchemaComponents, add_class_prefix: bool = Fals
683
683
  stacklevel=2,
684
684
  )
685
685
 
686
+ external_id = f"{self.external_id}.{edge_one_to_many}.{end_node_external_id}"
686
687
  edge = EdgeApply(
687
688
  space=data_model.views[view_id].space,
688
- external_id=f"{self.external_id}-{edge_one_to_many}-{end_node_external_id}",
689
+ external_id=external_id if len(external_id) < 256 else create_sha256_hash(external_id),
689
690
  type=(data_model.views[view_id].space, edge_type_id),
690
691
  start_node=(data_model.views[view_id].space, self.external_id),
691
692
  end_node=(data_model.views[view_id].space, end_node_external_id),
@@ -31,6 +31,7 @@ __all__ = [
31
31
  "ReverseRelationMissingOtherSideWarning",
32
32
  "NodeTypeFilterOnParentViewWarning",
33
33
  "MissingViewInModelWarning",
34
+ "ViewSizeWarning",
34
35
  "ChangingContainerError",
35
36
  "ChangingViewError",
36
37
  ]
@@ -44,6 +45,30 @@ class DMSSchemaError(NeatValidationError, ABC): ...
44
45
  class DMSSchemaWarning(ValidationWarning, ABC): ...
45
46
 
46
47
 
48
+ @dataclass(frozen=True)
49
+ class ViewSizeWarning(DMSSchemaWarning):
50
+ description = (
51
+ "The number of properties in the {view} view is {count} which is more than "
52
+ "the recommended limit of {limit} properties. This can lead to performance issues."
53
+ )
54
+ fix = "Reduce the size of the view"
55
+ error_name: ClassVar[str] = "ViewSizeWarning"
56
+
57
+ view_id: dm.ViewId
58
+ limit: int
59
+ count: int
60
+
61
+ def message(self) -> str:
62
+ return self.description.format(view=repr(self.view_id), count=self.count, limit=self.limit)
63
+
64
+ def dump(self) -> dict[str, Any]:
65
+ output = super().dump()
66
+ output["view_id"] = self.view_id.dump()
67
+ output["limit"] = self.limit
68
+ output["count"] = self.count
69
+ return output
70
+
71
+
47
72
  @dataclass(frozen=True)
48
73
  class IncompleteSchemaError(DMSSchemaError):
49
74
  description = "This error is raised when the schema is claimed to be complete but missing some components"
@@ -0,0 +1 @@
1
+ DMS_CONTAINER_SIZE_LIMIT = 100
@@ -6,6 +6,7 @@ from cognite.client import data_modeling as dm
6
6
  from cognite.neat.rules import issues
7
7
  from cognite.neat.rules.issues import IssueList
8
8
  from cognite.neat.rules.models._base import DataModelType, ExtensionCategory, SchemaCompleteness
9
+ from cognite.neat.rules.models._constants import DMS_CONTAINER_SIZE_LIMIT
9
10
  from cognite.neat.rules.models.data_types import DataType
10
11
  from cognite.neat.rules.models.entities import ContainerEntity
11
12
  from cognite.neat.rules.models.wrapped_entities import RawFilter
@@ -34,7 +35,7 @@ class DMSPostValidation:
34
35
  self._validate_raw_filter()
35
36
  self._consistent_container_properties()
36
37
 
37
- self._referenced_views_and_containers_are_existing()
38
+ self._referenced_views_and_containers_are_existing_and_proper_size()
38
39
  if self.metadata.schema_ is SchemaCompleteness.extended:
39
40
  self._validate_extension()
40
41
  if self.metadata.schema_ is SchemaCompleteness.partial:
@@ -118,14 +119,16 @@ class DMSPostValidation:
118
119
  prop.constraint = prop.constraint or constraint_definition
119
120
  self.issue_list.extend(errors)
120
121
 
121
- def _referenced_views_and_containers_are_existing(self) -> None:
122
+ def _referenced_views_and_containers_are_existing_and_proper_size(self) -> None:
122
123
  defined_views = {view.view.as_id() for view in self.views}
123
124
  if self.metadata.schema_ is SchemaCompleteness.extended and self.rules.last:
124
125
  defined_views |= {view.view.as_id() for view in self.rules.last.views}
125
126
 
126
- errors: list[issues.NeatValidationError] = []
127
+ property_count_by_view: dict[dm.ViewId, int] = defaultdict(int)
128
+ errors: list[issues.ValidationIssue] = []
127
129
  for prop_no, prop in enumerate(self.properties):
128
- if prop.view and (view_id := prop.view.as_id()) not in defined_views:
130
+ view_id = prop.view.as_id()
131
+ if view_id not in defined_views:
129
132
  errors.append(
130
133
  issues.spreadsheet.NonExistingViewError(
131
134
  column="View",
@@ -137,6 +140,17 @@ class DMSPostValidation:
137
140
  url=None,
138
141
  )
139
142
  )
143
+ else:
144
+ property_count_by_view[view_id] += 1
145
+ for view_id, count in property_count_by_view.items():
146
+ if count > DMS_CONTAINER_SIZE_LIMIT:
147
+ errors.append(
148
+ issues.dms.ViewSizeWarning(
149
+ view_id=view_id,
150
+ limit=DMS_CONTAINER_SIZE_LIMIT,
151
+ count=count,
152
+ )
153
+ )
140
154
  if self.metadata.schema_ is SchemaCompleteness.complete:
141
155
  defined_containers = {container.container.as_id() for container in self.containers or []}
142
156
  if self.metadata.data_model_type == DataModelType.solution and self.rules.reference:
@@ -8,6 +8,7 @@ from cognite.neat.rules.models._base import (
8
8
  SchemaCompleteness,
9
9
  SheetList,
10
10
  )
11
+ from cognite.neat.rules.models._constants import DMS_CONTAINER_SIZE_LIMIT
11
12
  from cognite.neat.rules.models.data_types import DataType
12
13
  from cognite.neat.rules.models.domain import DomainRules
13
14
  from cognite.neat.rules.models.entities import (
@@ -41,6 +42,7 @@ class _InformationRulesConverter:
41
42
  self.last_classes = {class_.class_: class_ for class_ in self.rules.last.classes}
42
43
  else:
43
44
  self.last_classes = {}
45
+ self.property_count_by_container: dict[ContainerEntity, int] = defaultdict(int)
44
46
 
45
47
  def as_domain_rules(self) -> DomainRules:
46
48
  raise NotImplementedError("DomainRules not implemented yet")
@@ -81,7 +83,6 @@ class _InformationRulesConverter:
81
83
  last_dms_rules = self.rules.last.as_dms_architect_rules() if self.rules.last else None
82
84
  ref_dms_rules = self.rules.reference.as_dms_architect_rules() if self.rules.reference else None
83
85
 
84
- containers: list[DMSContainer] = []
85
86
  class_by_entity = {cls_.class_: cls_ for cls_ in self.rules.classes}
86
87
  if self.rules.last:
87
88
  for cls_ in self.rules.last.classes:
@@ -93,6 +94,7 @@ class _InformationRulesConverter:
93
94
  if rule_set:
94
95
  existing_containers.update({c.container for c in rule_set.containers or []})
95
96
 
97
+ containers: list[DMSContainer] = []
96
98
  for container_entity, class_entities in referenced_containers.items():
97
99
  if container_entity in existing_containers:
98
100
  continue
@@ -227,9 +229,14 @@ class _InformationRulesConverter:
227
229
  # the existing container in the last schema
228
230
  container_entity = prop.class_.as_container_entity(default_space)
229
231
  container_entity.suffix = self._bump_suffix(container_entity.suffix)
230
- return container_entity, prop.property_
231
232
  else:
232
- return prop.class_.as_container_entity(default_space), prop.property_
233
+ container_entity = prop.class_.as_container_entity(default_space)
234
+
235
+ while self.property_count_by_container[container_entity] >= DMS_CONTAINER_SIZE_LIMIT:
236
+ container_entity.suffix = self._bump_suffix(container_entity.suffix)
237
+
238
+ self.property_count_by_container[container_entity] += 1
239
+ return container_entity, prop.property_
233
240
 
234
241
  def _get_view_implements(self, cls_: InformationClass, metadata: InformationMetadata) -> list[ViewEntity]:
235
242
  if isinstance(cls_.reference, ReferenceEntity) and cls_.reference.prefix != metadata.prefix:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cognite-neat"
3
- version = "0.81.1"
3
+ version = "0.81.3"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -1 +0,0 @@
1
- __version__ = "0.81.1"
File without changes
File without changes