cognite-neat 0.72.0__tar.gz → 0.72.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.72.0 → cognite_neat-0.72.2}/PKG-INFO +1 -1
  2. cognite_neat-0.72.2/cognite/neat/_version.py +1 -0
  3. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/core.py +32 -2
  4. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +2 -1
  5. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/dms.py +43 -0
  6. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/_types/_value.py +3 -0
  7. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/dms_architect_rules.py +22 -10
  8. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/information_rules.py +1 -0
  9. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/pyproject.toml +1 -1
  10. cognite_neat-0.72.0/cognite/neat/_version.py +0 -1
  11. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/LICENSE +0 -0
  12. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/README.md +0 -0
  13. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/__init__.py +0 -0
  14. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/__init__.py +0 -0
  15. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/asgi/metrics.py +0 -0
  16. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/configuration.py +0 -0
  17. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/context_manager/__init__.py +0 -0
  18. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/context_manager/manager.py +0 -0
  19. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/data_classes/__init__.py +0 -0
  20. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/data_classes/configuration.py +0 -0
  21. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/data_classes/rest.py +0 -0
  22. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/explorer.py +0 -0
  23. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/configuration.py +0 -0
  24. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/crud.py +0 -0
  25. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/data_exploration.py +0 -0
  26. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/metrics.py +0 -0
  27. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/rules.py +0 -0
  28. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/routers/workflows.py +0 -0
  29. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/utils/__init__.py +0 -0
  30. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/utils/data_mapping.py +0 -0
  31. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/utils/logging.py +0 -0
  32. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/api/utils/query_templates.py +0 -0
  33. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/main.py +0 -0
  34. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/monitoring/__init__.py +0 -0
  35. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/monitoring/metrics.py +0 -0
  36. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/index.html +0 -0
  37. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
  38. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/README.md +0 -0
  39. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
  40. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
  41. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
  42. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
  43. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
  44. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
  45. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
  46. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
  47. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/js/main.2efd96b2.js +0 -0
  48. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/js/main.2efd96b2.js.LICENSE.txt +0 -0
  49. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/js/main.2efd96b2.js.map +0 -0
  50. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  51. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/config.py +0 -0
  52. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/constants.py +0 -0
  53. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/exceptions.py +0 -0
  54. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/__init__.py +0 -0
  55. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  56. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  57. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/examples/__init__.py +0 -0
  58. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  59. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/exceptions.py +0 -0
  60. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractor/__init__.py +0 -0
  61. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractor/_base.py +0 -0
  62. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractor/_dexpi.py +0 -0
  63. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractor/_graph_capturing_sheet.py +0 -0
  64. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractor/_mock_graph_generator.py +0 -0
  65. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractors/__init__.py +0 -0
  66. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractors/_base.py +0 -0
  67. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/extractors/_mock_graph_generator.py +0 -0
  68. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/__init__.py +0 -0
  69. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/_asset_loader.py +0 -0
  70. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/_base.py +0 -0
  71. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/_exceptions.py +0 -0
  72. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/core/__init__.py +0 -0
  73. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/core/labels.py +0 -0
  74. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/core/models.py +0 -0
  75. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/core/rdf_to_assets.py +0 -0
  76. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/core/rdf_to_relationships.py +0 -0
  77. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/rdf_to_dms.py +0 -0
  78. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/loader/validator.py +0 -0
  79. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/models.py +0 -0
  80. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/__init__.py +0 -0
  81. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_base.py +0 -0
  82. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_graphdb_store.py +0 -0
  83. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_memory_store.py +0 -0
  84. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_oxigraph_store.py +0 -0
  85. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
  86. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/stores/_rdf_to_graph.py +0 -0
  87. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/transformation/__init__.py +0 -0
  88. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/transformation/entity_matcher.py +0 -0
  89. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/transformation/query_generator/__init__.py +0 -0
  90. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/transformation/query_generator/sparql.py +0 -0
  91. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/graph/transformation/transformer.py +0 -0
  92. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/py.typed +0 -0
  93. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/__init__.py +0 -0
  94. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/_analysis/__init__.py +0 -0
  95. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/_analysis/_base.py +0 -0
  96. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/_analysis/_information_rules.py +0 -0
  97. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/_shared.py +0 -0
  98. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/analysis.py +0 -0
  99. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/Rules-Nordic44-to-TNT.xlsx +0 -0
  100. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  101. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/__init__.py +0 -0
  102. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/power-grid-containers.yaml +0 -0
  103. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/power-grid-example.xlsx +0 -0
  104. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/power-grid-model.yaml +0 -0
  105. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/rules-template.xlsx +0 -0
  106. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  107. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/skos-rules.xlsx +0 -0
  108. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  109. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/examples/wind-energy.owl +0 -0
  110. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exceptions.py +0 -0
  111. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/__init__.py +0 -0
  112. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_base.py +0 -0
  113. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_core/__init__.py +0 -0
  114. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_core/rules2labels.py +0 -0
  115. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2dms.py +0 -0
  116. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2excel.py +0 -0
  117. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2graphql.py +0 -0
  118. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2ontology.py +0 -0
  119. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2pydantic_models.py +0 -0
  120. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2rules.py +0 -0
  121. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_rules2triples.py +0 -0
  122. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporter/_validation.py +0 -0
  123. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/__init__.py +0 -0
  124. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_base.py +0 -0
  125. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_models.py +0 -0
  126. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_rules2dms.py +0 -0
  127. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
  128. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_rules2ontology.py +0 -0
  129. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
  130. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/exporters/_validation.py +0 -0
  131. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/__init__.py +0 -0
  132. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_base.py +0 -0
  133. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_dict2rules.py +0 -0
  134. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_dms2rules.py +0 -0
  135. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_graph2rules.py +0 -0
  136. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_json2rules.py +0 -0
  137. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_owl2rules/__init__.py +0 -0
  138. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_owl2rules/_owl2classes.py +0 -0
  139. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_owl2rules/_owl2metadata.py +0 -0
  140. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_owl2rules/_owl2properties.py +0 -0
  141. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_owl2rules/_owl2rules.py +0 -0
  142. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_spreadsheet2rules.py +0 -0
  143. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_xsd2rules.py +0 -0
  144. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importer/_yaml2rules.py +0 -0
  145. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/__init__.py +0 -0
  146. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_base.py +0 -0
  147. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dms2rules.py +0 -0
  148. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
  149. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  150. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
  151. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  152. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
  153. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
  154. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +0 -0
  155. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +0 -0
  156. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +0 -0
  157. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
  158. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
  159. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/__init__.py +0 -0
  160. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/base.py +0 -0
  161. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/fileread.py +0 -0
  162. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/formatters.py +0 -0
  163. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/importing.py +0 -0
  164. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/spreadsheet.py +0 -0
  165. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
  166. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/__init__.py +0 -0
  167. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_base.py +0 -0
  168. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/__init__.py +0 -0
  169. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/_types/__init__.py +0 -0
  170. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/_types/_base.py +0 -0
  171. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/_types/_field.py +0 -0
  172. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/base.py +0 -0
  173. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/dms_schema.py +0 -0
  174. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/_rules/domain_rules.py +0 -0
  175. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/raw_rules.py +0 -0
  176. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/rdfpath.py +0 -0
  177. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/rules.py +0 -0
  178. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/tables.py +0 -0
  179. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/rules/models/value_types.py +0 -0
  180. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/__init__.py +0 -0
  181. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/auxiliary.py +0 -0
  182. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf.py +0 -0
  183. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf_loaders/__init__.py +0 -0
  184. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf_loaders/_base.py +0 -0
  185. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf_loaders/_data_modeling.py +0 -0
  186. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf_loaders/_ingestion.py +0 -0
  187. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/cdf_loaders/data_classes.py +0 -0
  188. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/exceptions.py +0 -0
  189. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/spreadsheet.py +0 -0
  190. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/text.py +0 -0
  191. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/utils.py +0 -0
  192. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/utils/xml.py +0 -0
  193. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/__init__.py +0 -0
  194. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/_exceptions.py +0 -0
  195. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/base.py +0 -0
  196. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/cdf_store.py +0 -0
  197. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Export DMS/workflow.yaml +0 -0
  198. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Export Rules to Ontology/workflow.yaml +0 -0
  199. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Extract DEXPI Graph and Export Rules/workflow.yaml +0 -0
  200. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Extract RDF Graph and Generate Assets/workflow.yaml +0 -0
  201. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Import DMS/workflow.yaml +0 -0
  202. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Ontology to Data Model/workflow.yaml +0 -0
  203. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Validate Rules/workflow.yaml +0 -0
  204. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Validate Solution Model/workflow.yaml +0 -0
  205. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Visualize Data Model Using Mock Graph/workflow.yaml +0 -0
  206. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/examples/Visualize Semantic Data Model/workflow.yaml +0 -0
  207. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/manager.py +0 -0
  208. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/migration/__init__.py +0 -0
  209. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/migration/steps.py +0 -0
  210. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
  211. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/model.py +0 -0
  212. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/__init__.py +0 -0
  213. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/data_contracts.py +0 -0
  214. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/__init__.py +0 -0
  215. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/graph_extractor.py +0 -0
  216. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/graph_loader.py +0 -0
  217. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/graph_store.py +0 -0
  218. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/io_steps.py +0 -0
  219. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/rules_exporter.py +0 -0
  220. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/rules_importer.py +0 -0
  221. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/rules_validator.py +0 -0
  222. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/__init__.py +0 -0
  223. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/graph_contextualization.py +0 -0
  224. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/graph_extractor.py +0 -0
  225. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/graph_loader.py +0 -0
  226. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/graph_store.py +0 -0
  227. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/graph_transformer.py +0 -0
  228. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/rules_exporter.py +0 -0
  229. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/lib/v1/rules_importer.py +0 -0
  230. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps/step_model.py +0 -0
  231. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/steps_registry.py +0 -0
  232. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/tasks.py +0 -0
  233. {cognite_neat-0.72.0 → cognite_neat-0.72.2}/cognite/neat/workflows/triggers.py +0 -0
  234. {cognite_neat-0.72.0 → cognite_neat-0.72.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.72.0
3
+ Version: 0.72.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.72.2"
@@ -1,11 +1,13 @@
1
1
  import json
2
2
  import shutil
3
3
  import tempfile
4
+ from copy import deepcopy
4
5
  from pathlib import Path
5
6
  from typing import cast
6
7
 
7
8
  from fastapi import APIRouter, UploadFile
8
9
 
10
+ from cognite.neat.app.api.configuration import NEAT_APP
9
11
  from cognite.neat.rules import exporters, importers
10
12
  from cognite.neat.rules.models._rules import DMSRules
11
13
  from cognite.neat.rules.models._rules.base import RoleTypes
@@ -55,8 +57,36 @@ async def convert_data_model_to_rules(file: UploadFile):
55
57
  @router.post("/api/core/rules2dms")
56
58
  async def convert_rules_to_dms(rules: DMSRules):
57
59
  dms_schema = exporters.DMSExporter().export(rules)
60
+ containers = {f"{container.space}:{container.external_id}": container.dump() for container in dms_schema.containers}
61
+ views = {f"{view.space}:{view.external_id}": view.dump() for view in dms_schema.views}
62
+
63
+ if views and containers:
64
+ _to_visualization_compliant_views(views, containers)
58
65
 
59
66
  return {
60
- "views": dms_schema.views.dump() if dms_schema.views else None,
61
- "containers": dms_schema.containers.dump() if dms_schema.containers else None,
67
+ "views": list(views.values()) if views else None,
68
+ "containers": list(containers.values()) if containers else None,
62
69
  }
70
+
71
+
72
+ def _to_visualization_compliant_views(views, containers):
73
+ for view in views.values():
74
+ for property in view["properties"].values():
75
+ # needs coping information from container:
76
+ if property.get("container", None) and property["container"]["type"] == "container":
77
+ container_id = f"{property['container']['space']}:{property['container']['externalId']}"
78
+ container_property_def = deepcopy(
79
+ containers[container_id]["properties"][property["containerPropertyIdentifier"]]
80
+ )
81
+ property["type"] = container_property_def["type"]
82
+ container_property_def.pop("type")
83
+ property.update(container_property_def)
84
+
85
+
86
+ @router.post("/api/core/publish-rules")
87
+ async def publish_rules_as_data_model(rules: DMSRules):
88
+ if NEAT_APP.cdf_client:
89
+ uploaded = exporters.DMSExporter().export_to_cdf(rules, NEAT_APP.cdf_client)
90
+ return {"uploaded": uploaded}
91
+ else:
92
+ return {"uploaded": []}
@@ -11,7 +11,7 @@ from rdflib import DC, DCTERMS, OWL, RDF, RDFS, SKOS, Graph
11
11
  from cognite.neat.rules.importers._base import BaseImporter, Rules
12
12
  from cognite.neat.rules.issues import IssueList
13
13
  from cognite.neat.rules.models._rules import InformationRules, RoleTypes
14
- from cognite.neat.rules.models.value_types import XSD_VALUE_TYPE_MAPPINGS
14
+ from cognite.neat.rules.models._rules._types import XSD_VALUE_TYPE_MAPPINGS
15
15
 
16
16
  from ._owl2classes import parse_owl_classes
17
17
  from ._owl2metadata import parse_owl_metadata
@@ -136,6 +136,7 @@ def _add_missing_value_types(components: dict) -> dict:
136
136
 
137
137
  # to avoid issue of case sensitivity for xsd types
138
138
  value_types_lower = {v.lower() for v in candidate_value_types}
139
+
139
140
  xsd_types_lower = {x.lower() for x in xsd_types}
140
141
 
141
142
  # Create a mapping from lowercase strings to original strings
@@ -24,6 +24,8 @@ __all__ = [
24
24
  "EmptyContainerWarning",
25
25
  "UnsupportedRelationWarning",
26
26
  "MultipleReferenceWarning",
27
+ "HasDataFilterOnNoPropertiesViewWarning",
28
+ "NodeTypeFilterOnParentViewWarning",
27
29
  ]
28
30
 
29
31
 
@@ -329,3 +331,44 @@ class MultipleReferenceWarning(DMSSchemaWarning):
329
331
  output["view_id"] = self.view_id.dump()
330
332
  output["implements"] = [view.dump() for view in self.implements]
331
333
  return output
334
+
335
+
336
+ @dataclass(frozen=True)
337
+ class HasDataFilterOnNoPropertiesViewWarning(DMSSchemaWarning):
338
+ description = "Attempting to set a HasData filter on a view without properties."
339
+ fix = "Add properties to the view or use a node type filter"
340
+ error_name: ClassVar[str] = "HasDataFilterOnNoPropertiesViewWarning"
341
+ view_id: dm.ViewId
342
+
343
+ def message(self) -> str:
344
+ return (
345
+ f"Cannot set hasData filter on view {self.view_id} as it does not have properties in any containers. "
346
+ "Using a node type filter instead."
347
+ )
348
+
349
+ def dump(self) -> dict[str, Any]:
350
+ output = super().dump()
351
+ output["view_id"] = self.view_id.dump()
352
+ return output
353
+
354
+
355
+ @dataclass(frozen=True)
356
+ class NodeTypeFilterOnParentViewWarning(DMSSchemaWarning):
357
+ description = (
358
+ "Setting a node type filter on a parent view. This is no "
359
+ "recommended as parent views are typically used for multiple type of nodes."
360
+ )
361
+ fix = "Use a HasData filter instead"
362
+ error_name: ClassVar[str] = "NodeTypeFilterOnParentViewWarning"
363
+ view_id: dm.ViewId
364
+
365
+ def message(self) -> str:
366
+ return (
367
+ f"Setting a node type filter on parent view {self.view_id}. This is not recommended as "
368
+ "parent views are typically used for multiple types of nodes."
369
+ )
370
+
371
+ def dump(self) -> dict[str, Any]:
372
+ output = super().dump()
373
+ output["view_id"] = self.view_id.dump()
374
+ return output
@@ -90,6 +90,9 @@ _DATA_TYPES: list[dict] = [
90
90
  {"name": "dateTime", "python": datetime, "GraphQL": "Timestamp", "dms": Timestamp, "SQL": "TIMESTAMP"},
91
91
  {"name": "dateTimeStamp", "python": datetime, "GraphQL": "Timestamp", "dms": Timestamp, "SQL": "TIMESTAMP"},
92
92
  {"name": "date", "python": date, "GraphQL": "String", "dms": Date, "SQL": "DATE"},
93
+ # Some RDF types which are not in XSD
94
+ {"name": "PlainLiteral", "python": str, "GraphQL": "String", "dms": Text, "SQL": "STRING"},
95
+ {"name": "Literal", "python": str, "GraphQL": "String", "dms": Text, "SQL": "STRING"},
93
96
  # CDF specific types, not in XSD
94
97
  {
95
98
  "name": "timeseries",
@@ -243,6 +243,7 @@ class DMSView(SheetEntity):
243
243
  view: ViewType = Field(alias="View")
244
244
  implements: ViewListType | None = Field(None, alias="Implements")
245
245
  reference: ReferenceType = Field(alias="Reference", default=None)
246
+ filter_: Literal["hasData", "nodeType"] | None = Field(None, alias="Filter")
246
247
  in_model: bool = Field(True, alias="InModel")
247
248
 
248
249
  def as_view(self, default_space: str, default_version: str, standardize_casing: bool = True) -> dm.ViewApply:
@@ -677,6 +678,11 @@ class _DMSExporter:
677
678
  views = dm.ViewApplyList(
678
679
  [dms_view.as_view(default_space, default_version, self.standardize_casing) for dms_view in dms_views]
679
680
  )
681
+ dms_view_by_id = {
682
+ dms_view.view.as_id(False, default_space, default_version, self.standardize_casing): dms_view
683
+ for dms_view in dms_views
684
+ }
685
+
680
686
  for view in views:
681
687
  view_id = view.as_id()
682
688
  view.properties = {}
@@ -796,24 +802,30 @@ class _DMSExporter:
796
802
 
797
803
  node_types = dm.NodeApplyList([])
798
804
  parent_views = {parent for view in views for parent in view.implements or []}
799
- node_type_flag = False
800
805
  for view in views:
801
806
  ref_containers = sorted(view.referenced_containers(), key=lambda c: c.as_tuple())
802
807
  has_data = dm.filters.HasData(containers=list(ref_containers)) if ref_containers else None
803
808
  node_type = dm.filters.Equals(["node", "type"], {"space": view.space, "externalId": view.external_id})
809
+ dms_view = dms_view_by_id.get(view.as_id())
804
810
  if view.as_id() in parent_views:
805
- view.filter = has_data
806
- elif has_data is None:
807
- # Child filter without container properties
808
- if node_type_flag:
809
- # Transformations do not yet support setting node type.
811
+ if dms_view and dms_view.filter_ == "nodeType":
812
+ warnings.warn(issues.dms.NodeTypeFilterOnParentViewWarning(view.as_id()), stacklevel=2)
810
813
  view.filter = node_type
811
814
  node_types.append(dm.NodeApply(space=view.space, external_id=view.external_id, sources=[]))
815
+ else:
816
+ view.filter = has_data
817
+ elif has_data is None:
818
+ # Child filter without container properties
819
+ if dms_view and dms_view.filter_ == "hasData":
820
+ warnings.warn(issues.dms.HasDataFilterOnNoPropertiesViewWarning(view.as_id()), stacklevel=2)
821
+ view.filter = node_type
822
+ node_types.append(dm.NodeApply(space=view.space, external_id=view.external_id, sources=[]))
812
823
  else:
813
- # Child filter with its own container properties
814
- if node_type_flag:
815
- # Transformations do not yet support setting node type.
816
- view.filter = dm.filters.And(has_data, node_type)
824
+ if dms_view and (dms_view.filter_ == "hasData" or dms_view.filter_ is None):
825
+ # Default option
826
+ view.filter = has_data
827
+ elif dms_view and dms_view.filter_ == "nodeType":
828
+ view.filter = node_type
817
829
  node_types.append(dm.NodeApply(space=view.space, external_id=view.external_id, sources=[]))
818
830
  else:
819
831
  view.filter = has_data
@@ -392,6 +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
+ reference=cls_.reference,
395
396
  implements=self._get_view_implements(cls_, info_metadata),
396
397
  )
397
398
  for cls_ in self.information.classes
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cognite-neat"
3
- version = "0.72.0"
3
+ version = "0.72.2"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -1 +0,0 @@
1
- __version__ = "0.72.0"
File without changes
File without changes