cognite-neat 0.85.5__tar.gz → 0.85.6__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 (318) hide show
  1. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/PKG-INFO +1 -1
  2. cognite_neat-0.85.6/cognite/neat/_version.py +1 -0
  3. cognite_neat-0.85.6/cognite/neat/rules/analysis/__init__.py +6 -0
  4. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/analysis/_base.py +0 -12
  5. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/analysis/_information_rules.py +116 -27
  6. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_base.py +8 -2
  7. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/pyproject.toml +1 -1
  8. cognite_neat-0.85.5/cognite/neat/_version.py +0 -1
  9. cognite_neat-0.85.5/cognite/neat/rules/analysis/__init__.py +0 -3
  10. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/LICENSE +0 -0
  11. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/README.md +0 -0
  12. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/__init__.py +0 -0
  13. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/_shared.py +0 -0
  14. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/__init__.py +0 -0
  15. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/asgi/metrics.py +0 -0
  16. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/configuration.py +0 -0
  17. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/context_manager/__init__.py +0 -0
  18. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/context_manager/manager.py +0 -0
  19. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/data_classes/__init__.py +0 -0
  20. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/data_classes/rest.py +0 -0
  21. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/explorer.py +0 -0
  22. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/configuration.py +0 -0
  23. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/core.py +0 -0
  24. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/crud.py +0 -0
  25. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/data_exploration.py +0 -0
  26. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/metrics.py +0 -0
  27. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/rules.py +0 -0
  28. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/routers/workflows.py +0 -0
  29. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/utils/__init__.py +0 -0
  30. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/utils/data_mapping.py +0 -0
  31. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/utils/logging.py +0 -0
  32. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/api/utils/query_templates.py +0 -0
  33. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/main.py +0 -0
  34. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/monitoring/__init__.py +0 -0
  35. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/monitoring/metrics.py +0 -0
  36. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/index.html +0 -0
  37. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
  38. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/README.md +0 -0
  39. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
  40. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
  41. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/img/architect-icon.svg +0 -0
  42. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/img/developer-icon.svg +0 -0
  43. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/img/sme-icon.svg +0 -0
  44. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
  45. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
  46. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
  47. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
  48. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
  49. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
  50. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js +0 -0
  51. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.LICENSE.txt +0 -0
  52. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.map +0 -0
  53. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  54. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/config.py +0 -0
  55. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/constants.py +0 -0
  56. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/exceptions.py +0 -0
  57. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/__init__.py +0 -0
  58. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/_shared.py +0 -0
  59. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/_tracking/__init__.py +0 -0
  60. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/_tracking/base.py +0 -0
  61. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/_tracking/log.py +0 -0
  62. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  63. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  64. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/examples/__init__.py +0 -0
  65. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  66. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/exceptions.py +0 -0
  67. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/__init__.py +0 -0
  68. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_base.py +0 -0
  69. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/__init__.py +0 -0
  70. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_assets.py +0 -0
  71. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_events.py +0 -0
  72. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_files.py +0 -0
  73. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_labels.py +0 -0
  74. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_relationships.py +0 -0
  75. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +0 -0
  76. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_classic_cdf/_timeseries.py +0 -0
  77. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_dexpi.py +0 -0
  78. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_mock_graph_generator.py +0 -0
  79. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/extractors/_rdf_file.py +0 -0
  80. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/issues/__init__.py +0 -0
  81. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/issues/loader.py +0 -0
  82. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/loaders/__init__.py +0 -0
  83. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/loaders/_base.py +0 -0
  84. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/loaders/_rdf2asset.py +0 -0
  85. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/loaders/_rdf2dms.py +0 -0
  86. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/models.py +0 -0
  87. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/queries/__init__.py +0 -0
  88. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/queries/_base.py +0 -0
  89. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/queries/_construct.py +0 -0
  90. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/queries/_shared.py +0 -0
  91. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/stores/__init__.py +0 -0
  92. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/stores/_base.py +0 -0
  93. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
  94. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/stores/_provenance.py +0 -0
  95. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/transformers/__init__.py +0 -0
  96. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/transformers/_base.py +0 -0
  97. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/graph/transformers/_classic_cdf.py +0 -0
  98. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/issues.py +0 -0
  99. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/__init__.py +0 -0
  100. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/__init__.py +0 -0
  101. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  102. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  103. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/examples/__init__.py +0 -0
  104. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  105. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/exceptions.py +0 -0
  106. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/extractors/__init__.py +0 -0
  107. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/extractors/_base.py +0 -0
  108. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/extractors/_dexpi.py +0 -0
  109. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -0
  110. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +0 -0
  111. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/__init__.py +0 -0
  112. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/_asset_loader.py +0 -0
  113. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/_base.py +0 -0
  114. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/_exceptions.py +0 -0
  115. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
  116. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/core/labels.py +0 -0
  117. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/core/models.py +0 -0
  118. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +0 -0
  119. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +0 -0
  120. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/rdf_to_dms.py +0 -0
  121. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/loaders/validator.py +0 -0
  122. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/models.py +0 -0
  123. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/__init__.py +0 -0
  124. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_base.py +0 -0
  125. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_graphdb_store.py +0 -0
  126. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_memory_store.py +0 -0
  127. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_oxigraph_store.py +0 -0
  128. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -0
  129. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/stores/_rdf_to_graph.py +0 -0
  130. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/transformations/__init__.py +0 -0
  131. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -0
  132. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -0
  133. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/transformations/query_generator/sparql.py +0 -0
  134. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/graph/transformations/transformer.py +0 -0
  135. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/__init__.py +0 -0
  136. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/analysis.py +0 -0
  137. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  138. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
  139. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/__init__.py +0 -0
  140. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -0
  141. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
  142. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -0
  143. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
  144. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  145. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
  146. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  147. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/examples/wind-energy.owl +0 -0
  148. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exceptions.py +0 -0
  149. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/__init__.py +0 -0
  150. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_base.py +0 -0
  151. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -0
  152. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -0
  153. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2dms.py +0 -0
  154. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -0
  155. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2graphql.py +0 -0
  156. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2ontology.py +0 -0
  157. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +0 -0
  158. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -0
  159. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -0
  160. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/exporters/_validation.py +0 -0
  161. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/__init__.py +0 -0
  162. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_base.py +0 -0
  163. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_dict2rules.py +0 -0
  164. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_dms2rules.py +0 -0
  165. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_graph2rules.py +0 -0
  166. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_json2rules.py +0 -0
  167. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -0
  168. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +0 -0
  169. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  170. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +0 -0
  171. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -0
  172. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -0
  173. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -0
  174. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -0
  175. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/__init__.py +0 -0
  176. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/_base.py +0 -0
  177. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/raw_rules.py +0 -0
  178. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/rdfpath.py +0 -0
  179. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/rules.py +0 -0
  180. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/tables.py +0 -0
  181. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/rules/models/value_types.py +0 -0
  182. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -0
  183. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  184. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  185. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  186. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -0
  187. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  188. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  189. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  190. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  191. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  192. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/py.typed +0 -0
  193. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/__init__.py +0 -0
  194. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/_shared.py +0 -0
  195. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/examples/__init__.py +0 -0
  196. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/examples/wind-energy.owl +0 -0
  197. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exceptions.py +0 -0
  198. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/__init__.py +0 -0
  199. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_base.py +0 -0
  200. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_rules2dms.py +0 -0
  201. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
  202. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_rules2ontology.py +0 -0
  203. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
  204. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/exporters/_validation.py +0 -0
  205. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/__init__.py +0 -0
  206. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dms2rules.py +0 -0
  207. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
  208. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  209. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
  210. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  211. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
  212. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_inference2rules.py +0 -0
  213. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
  214. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +0 -0
  215. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  216. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +0 -0
  217. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
  218. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
  219. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
  220. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/__init__.py +0 -0
  221. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/base.py +0 -0
  222. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/dms.py +0 -0
  223. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/fileread.py +0 -0
  224. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/formatters.py +0 -0
  225. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/importing.py +0 -0
  226. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/spreadsheet.py +0 -0
  227. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
  228. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/__init__.py +0 -0
  229. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_base.py +0 -0
  230. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_constants.py +0 -0
  231. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_rdfpath.py +0 -0
  232. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_types/__init__.py +0 -0
  233. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_types/_base.py +0 -0
  234. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/_types/_field.py +0 -0
  235. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/__init__.py +0 -0
  236. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/_converter.py +0 -0
  237. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/_rules.py +0 -0
  238. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/_rules_input.py +0 -0
  239. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/_serializer.py +0 -0
  240. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/asset/_validation.py +0 -0
  241. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/data_types.py +0 -0
  242. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/__init__.py +0 -0
  243. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_converter.py +0 -0
  244. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_exporter.py +0 -0
  245. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_rules.py +0 -0
  246. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_rules_input.py +0 -0
  247. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_schema.py +0 -0
  248. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_serializer.py +0 -0
  249. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/dms/_validation.py +0 -0
  250. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/domain.py +0 -0
  251. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/entities.py +0 -0
  252. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/__init__.py +0 -0
  253. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/_converter.py +0 -0
  254. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/_rules.py +0 -0
  255. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/_rules_input.py +0 -0
  256. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/_serializer.py +0 -0
  257. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/information/_validation.py +0 -0
  258. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/rules/models/wrapped_entities.py +0 -0
  259. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/__init__.py +0 -0
  260. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/auth.py +0 -0
  261. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/auxiliary.py +0 -0
  262. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf.py +0 -0
  263. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_classes.py +0 -0
  264. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_loaders/__init__.py +0 -0
  265. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_loaders/_base.py +0 -0
  266. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_loaders/_data_modeling.py +0 -0
  267. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_loaders/_ingestion.py +0 -0
  268. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/cdf_loaders/data_classes.py +0 -0
  269. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/exceptions.py +0 -0
  270. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/spreadsheet.py +0 -0
  271. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/text.py +0 -0
  272. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/upload.py +0 -0
  273. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/utils.py +0 -0
  274. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/utils/xml_.py +0 -0
  275. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/__init__.py +0 -0
  276. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/_exceptions.py +0 -0
  277. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/base.py +0 -0
  278. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/cdf_store.py +0 -0
  279. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Export_DMS/workflow.yaml +0 -0
  280. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  281. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  282. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  283. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Import_DMS/workflow.yaml +0 -0
  284. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  285. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  286. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  287. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  288. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  289. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/manager.py +0 -0
  290. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/migration/__init__.py +0 -0
  291. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/migration/steps.py +0 -0
  292. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
  293. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/model.py +0 -0
  294. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/__init__.py +0 -0
  295. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/data_contracts.py +0 -0
  296. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/__init__.py +0 -0
  297. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/__init__.py +0 -0
  298. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/graph_extractor.py +0 -0
  299. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/graph_loader.py +0 -0
  300. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/graph_store.py +0 -0
  301. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/rules_exporter.py +0 -0
  302. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/rules_importer.py +0 -0
  303. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/current/rules_validator.py +0 -0
  304. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/io/__init__.py +0 -0
  305. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/io/io_steps.py +0 -0
  306. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -0
  307. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -0
  308. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +0 -0
  309. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/graph_loader.py +0 -0
  310. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/graph_store.py +0 -0
  311. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -0
  312. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +0 -0
  313. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/lib/legacy/rules_importer.py +0 -0
  314. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps/step_model.py +0 -0
  315. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/steps_registry.py +0 -0
  316. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/tasks.py +0 -0
  317. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/cognite/neat/workflows/triggers.py +0 -0
  318. {cognite_neat-0.85.5 → cognite_neat-0.85.6}/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.85.5
3
+ Version: 0.85.6
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.85.6"
@@ -0,0 +1,6 @@
1
+ from ._information_rules import (
2
+ AssetArchitectRulesAnalysis,
3
+ InformationArchitectRulesAnalysis,
4
+ )
5
+
6
+ __all__ = ["InformationArchitectRulesAnalysis", "AssetArchitectRulesAnalysis"]
@@ -1,15 +1,9 @@
1
- import sys
2
1
  from abc import ABC, abstractmethod
3
2
  from typing import Generic, TypeVar
4
3
 
5
4
  from cognite.neat.rules._shared import Rules
6
5
  from cognite.neat.rules.models.entities import ClassEntity
7
6
 
8
- if sys.version_info >= (3, 11):
9
- from enum import StrEnum
10
- else:
11
- from backports.strenum import StrEnum
12
-
13
7
  T_Rules = TypeVar("T_Rules", bound=Rules)
14
8
 
15
9
 
@@ -17,9 +11,3 @@ class BaseAnalysis(ABC, Generic[T_Rules]):
17
11
  @abstractmethod
18
12
  def subset_rules(self, desired_classes: set[ClassEntity]) -> T_Rules:
19
13
  raise NotImplementedError()
20
-
21
-
22
- class DataModelingScenario(StrEnum):
23
- from_scratch = "from scratch"
24
- build_solution = "build solution"
25
- extend_reference = "extend reference"
@@ -2,25 +2,37 @@ import itertools
2
2
  import logging
3
3
  import warnings
4
4
  from collections import defaultdict
5
- from typing import Any
5
+ from typing import Any, Generic, TypeVar
6
6
 
7
7
  import pandas as pd
8
8
  from pydantic import ValidationError
9
9
 
10
10
  from cognite.neat.rules.models import SchemaCompleteness
11
11
  from cognite.neat.rules.models._rdfpath import RDFPath
12
- from cognite.neat.rules.models.entities import ClassEntity, EntityTypes, ParentClassEntity, ReferenceEntity
13
- from cognite.neat.rules.models.information import InformationClass, InformationProperty, InformationRules
12
+ from cognite.neat.rules.models.asset import AssetClass, AssetProperty, AssetRules
13
+ from cognite.neat.rules.models.entities import (
14
+ AssetEntity,
15
+ ClassEntity,
16
+ EntityTypes,
17
+ ParentClassEntity,
18
+ ReferenceEntity,
19
+ RelationshipEntity,
20
+ )
21
+ from cognite.neat.rules.models.information import (
22
+ InformationClass,
23
+ InformationProperty,
24
+ InformationRules,
25
+ )
14
26
  from cognite.neat.utils.utils import get_inheritance_path
15
27
 
16
- from ._base import BaseAnalysis
28
+ T_Rules = TypeVar("T_Rules", InformationRules, AssetRules)
29
+ T_Property = TypeVar("T_Property", InformationProperty, AssetProperty)
30
+ T_Class = TypeVar("T_Class", InformationClass, AssetClass)
17
31
 
18
32
 
19
- class InformationArchitectRulesAnalysis(BaseAnalysis):
20
- """Assumes analysis over only the complete schema"""
21
-
22
- def __init__(self, rules: InformationRules):
23
- self.rules = rules
33
+ class _SharedAnalysis(Generic[T_Rules, T_Property, T_Class]):
34
+ def __init__(self, rules: T_Rules):
35
+ self.rules: T_Rules = rules
24
36
 
25
37
  @property
26
38
  def directly_referred_classes(self) -> set[ClassEntity]:
@@ -65,9 +77,7 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
65
77
 
66
78
  return class_subclass_pairs
67
79
 
68
- def classes_with_properties(
69
- self, consider_inheritance: bool = False
70
- ) -> dict[ClassEntity, list[InformationProperty]]:
80
+ def classes_with_properties(self, consider_inheritance: bool = False) -> dict[ClassEntity, list[T_Property]]:
71
81
  """Returns classes that have been defined in the data model.
72
82
 
73
83
  Args:
@@ -85,10 +95,10 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
85
95
  it will not be included in the returned dictionary.
86
96
  """
87
97
 
88
- class_property_pairs: dict[ClassEntity, list[InformationProperty]] = defaultdict(list)
98
+ class_property_pairs: dict[ClassEntity, list[T_Property]] = defaultdict(list)
89
99
 
90
100
  for property_ in self.rules.properties:
91
- class_property_pairs[property_.class_].append(property_)
101
+ class_property_pairs[property_.class_].append(property_) # type: ignore
92
102
 
93
103
  if consider_inheritance:
94
104
  class_parent_pairs = self.class_parent_pairs()
@@ -106,7 +116,7 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
106
116
  def _add_inherited_properties(
107
117
  cls,
108
118
  class_: ClassEntity,
109
- class_property_pairs: dict[ClassEntity, list[InformationProperty]],
119
+ class_property_pairs: dict[ClassEntity, list[T_Property]],
110
120
  class_parent_pairs: dict[ClassEntity, list[ParentClassEntity]],
111
121
  ):
112
122
  inheritance_path = get_inheritance_path(class_, class_parent_pairs)
@@ -130,7 +140,7 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
130
140
 
131
141
  def class_property_pairs(
132
142
  self, only_rdfpath: bool = False, consider_inheritance: bool = False
133
- ) -> dict[ClassEntity, dict[str, InformationProperty]]:
143
+ ) -> dict[ClassEntity, dict[str, T_Property]]:
134
144
  """Returns a dictionary of classes with a dictionary of properties associated with them.
135
145
 
136
146
  Args:
@@ -193,7 +203,14 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
193
203
  Dataframe with the class linkage of the data model
194
204
  """
195
205
 
196
- class_linkage = pd.DataFrame(columns=["source_class", "target_class", "connecting_property", "max_occurrence"])
206
+ class_linkage = pd.DataFrame(
207
+ columns=[
208
+ "source_class",
209
+ "target_class",
210
+ "connecting_property",
211
+ "max_occurrence",
212
+ ]
213
+ )
197
214
 
198
215
  class_property_pairs = self.classes_with_properties(consider_inheritance)
199
216
  properties = list(itertools.chain.from_iterable(class_property_pairs.values()))
@@ -286,21 +303,21 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
286
303
 
287
304
  def as_property_dict(
288
305
  self,
289
- ) -> dict[str, list[InformationProperty]]:
306
+ ) -> dict[str, list[T_Property]]:
290
307
  """This is used to capture all definitions of a property in the data model."""
291
- property_dict: dict[str, list[InformationProperty]] = defaultdict(list)
308
+ property_dict: dict[str, list[T_Property]] = defaultdict(list)
292
309
  for definition in self.rules.properties:
293
- property_dict[definition.property_].append(definition)
310
+ property_dict[definition.property_].append(definition) # type: ignore
294
311
  return property_dict
295
312
 
296
- def as_class_dict(self) -> dict[str, InformationClass]:
313
+ def as_class_dict(self) -> dict[str, T_Class]:
297
314
  """This is to simplify access to classes through dict."""
298
- class_dict: dict[str, InformationClass] = {}
315
+ class_dict: dict[str, T_Class] = {}
299
316
  for definition in self.rules.classes:
300
- class_dict[str(definition.class_.suffix)] = definition
317
+ class_dict[str(definition.class_.suffix)] = definition # type: ignore
301
318
  return class_dict
302
319
 
303
- def subset_rules(self, desired_classes: set[ClassEntity]) -> InformationRules:
320
+ def subset_rules(self, desired_classes: set[ClassEntity]) -> T_Rules:
304
321
  """
305
322
  Subset rules to only include desired classes and their properties.
306
323
 
@@ -352,7 +369,8 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
352
369
  if impossible_classes:
353
370
  logging.warning(f"Could not find the following classes defined in the data model: {impossible_classes}")
354
371
  warnings.warn(
355
- f"Could not find the following classes defined in the data model: {impossible_classes}", stacklevel=2
372
+ f"Could not find the following classes defined in the data model: {impossible_classes}",
373
+ stacklevel=2,
356
374
  )
357
375
 
358
376
  reduced_data_model: dict[str, Any] = {
@@ -373,8 +391,79 @@ class InformationArchitectRulesAnalysis(BaseAnalysis):
373
391
  reduced_data_model["properties"].extend(properties)
374
392
 
375
393
  try:
376
- return InformationRules(**reduced_data_model)
394
+ return type(self.rules)(**reduced_data_model)
377
395
  except ValidationError as e:
378
396
  warnings.warn(f"Reduced data model is not complete: {e}", stacklevel=2)
379
397
  reduced_data_model["metadata"].schema_ = SchemaCompleteness.partial
380
- return InformationRules.model_construct(**reduced_data_model)
398
+ return type(self.rules).model_construct(**reduced_data_model)
399
+
400
+
401
+ class InformationArchitectRulesAnalysis(_SharedAnalysis[InformationRules, InformationProperty, InformationClass]):
402
+ """Assumes analysis over only the complete schema"""
403
+
404
+ ...
405
+
406
+
407
+ class AssetArchitectRulesAnalysis(_SharedAnalysis[AssetRules, AssetProperty, AssetClass]):
408
+ """Assumes analysis over only the complete schema"""
409
+
410
+ def class_property_pairs(
411
+ self,
412
+ only_rdfpath: bool = False,
413
+ consider_inheritance: bool = False,
414
+ implementation_type: EntityTypes = EntityTypes.asset,
415
+ ) -> dict[ClassEntity, dict[str, AssetProperty]]:
416
+ class_property_pairs = {}
417
+
418
+ T_implementation = AssetEntity if implementation_type == EntityTypes.asset else RelationshipEntity
419
+
420
+ for class_, properties in self.classes_with_properties(consider_inheritance).items():
421
+ processed_properties = {}
422
+ for property_ in properties:
423
+ if property_.property_ in processed_properties:
424
+ # TODO: use appropriate Warning class from _exceptions.py
425
+ # if missing make one !
426
+ warnings.warn(
427
+ f"Property {property_.property_} for {class_} has been defined more than once!"
428
+ " Only the first definition will be considered, skipping the rest..",
429
+ stacklevel=2,
430
+ )
431
+ continue
432
+
433
+ if (
434
+ property_.implementation
435
+ and any(isinstance(implementation, T_implementation) for implementation in property_.implementation)
436
+ and (not only_rdfpath or (only_rdfpath and isinstance(property_.transformation, RDFPath)))
437
+ ):
438
+ implementation = [
439
+ implementation
440
+ for implementation in property_.implementation
441
+ if isinstance(implementation, T_implementation)
442
+ ]
443
+
444
+ processed_properties[property_.property_] = property_.model_copy(
445
+ deep=True, update={"implementation": implementation}
446
+ )
447
+
448
+ if processed_properties:
449
+ class_property_pairs[class_] = processed_properties
450
+
451
+ return class_property_pairs
452
+
453
+ def asset_definition(
454
+ self, only_rdfpath: bool = False, consider_inheritance: bool = False
455
+ ) -> dict[ClassEntity, dict[str, AssetProperty]]:
456
+ return self.class_property_pairs(
457
+ consider_inheritance=consider_inheritance,
458
+ only_rdfpath=only_rdfpath,
459
+ implementation_type=EntityTypes.asset,
460
+ )
461
+
462
+ def relationship_definition(
463
+ self, only_rdfpath: bool = False, consider_inheritance: bool = False
464
+ ) -> dict[ClassEntity, dict[str, AssetProperty]]:
465
+ return self.class_property_pairs(
466
+ consider_inheritance=consider_inheritance,
467
+ only_rdfpath=only_rdfpath,
468
+ implementation_type=EntityTypes.relationship,
469
+ )
@@ -10,7 +10,11 @@ from pydantic import ValidationError
10
10
  from rdflib import Namespace
11
11
 
12
12
  from cognite.neat.rules._shared import Rules
13
- from cognite.neat.rules.issues.base import IssueList, NeatValidationError, ValidationWarning
13
+ from cognite.neat.rules.issues.base import (
14
+ IssueList,
15
+ NeatValidationError,
16
+ ValidationWarning,
17
+ )
14
18
  from cognite.neat.rules.models import AssetRules, DMSRules, InformationRules, RoleTypes
15
19
  from cognite.neat.utils.auxiliary import class_html_doc
16
20
 
@@ -30,7 +34,9 @@ class BaseImporter(ABC):
30
34
 
31
35
  @abstractmethod
32
36
  def to_rules(
33
- self, errors: Literal["raise", "continue"] = "continue", role: RoleTypes | None = None
37
+ self,
38
+ errors: Literal["raise", "continue"] = "continue",
39
+ role: RoleTypes | None = None,
34
40
  ) -> tuple[Rules | None, IssueList] | Rules:
35
41
  """
36
42
  Creates `Rules` object from the data for target role.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cognite-neat"
3
- version = "0.85.5"
3
+ version = "0.85.6"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -1 +0,0 @@
1
- __version__ = "0.85.5"
@@ -1,3 +0,0 @@
1
- from ._information_rules import InformationArchitectRulesAnalysis
2
-
3
- __all__ = ["InformationArchitectRulesAnalysis"]
File without changes
File without changes