cognite-neat 0.86.0__tar.gz → 0.87.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 (332) hide show
  1. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/PKG-INFO +2 -2
  2. cognite_neat-0.87.3/cognite/neat/_version.py +1 -0
  3. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/configuration.py +1 -10
  4. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/data_exploration.py +1 -1
  5. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/config.py +84 -17
  6. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/constants.py +11 -9
  7. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_assets.py +1 -1
  8. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_events.py +1 -1
  9. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_files.py +1 -1
  10. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_labels.py +1 -1
  11. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_relationships.py +1 -1
  12. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +1 -1
  13. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_timeseries.py +1 -1
  14. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_dexpi.py +1 -1
  15. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_mock_graph_generator.py +8 -9
  16. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/__init__.py +5 -2
  17. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/_base.py +13 -5
  18. cognite_neat-0.87.3/cognite/neat/graph/loaders/_rdf2asset.py +253 -0
  19. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/_rdf2dms.py +7 -7
  20. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_base.py +20 -11
  21. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_construct.py +5 -5
  22. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_shared.py +21 -7
  23. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_base.py +16 -4
  24. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/__init__.py +3 -0
  25. cognite_neat-0.87.3/cognite/neat/graph/transformers/_rdfpath.py +49 -0
  26. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_dexpi.py +0 -5
  27. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +1 -1
  28. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_asset_loader.py +2 -2
  29. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +5 -2
  30. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +4 -1
  31. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/rdf_to_dms.py +3 -1
  32. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_base.py +24 -8
  33. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_graphdb_store.py +3 -2
  34. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_memory_store.py +3 -3
  35. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_oxigraph_store.py +8 -4
  36. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_rdf_to_graph.py +5 -3
  37. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/query_generator/sparql.py +49 -16
  38. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/transformer.py +1 -1
  39. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2dms.py +8 -3
  40. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2graphql.py +1 -1
  41. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2ontology.py +2 -1
  42. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +3 -4
  43. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_dms2rules.py +4 -1
  44. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_graph2rules.py +3 -3
  45. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +1 -1
  46. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +2 -1
  47. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +1 -1
  48. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/raw_rules.py +19 -7
  49. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/rules.py +32 -12
  50. cognite_neat-0.87.3/cognite/neat/rules/_shared.py +10 -0
  51. cognite_neat-0.87.3/cognite/neat/rules/analysis/__init__.py +6 -0
  52. cognite_neat-0.87.3/cognite/neat/rules/analysis/_asset.py +143 -0
  53. cognite_neat-0.87.3/cognite/neat/rules/analysis/_base.py +392 -0
  54. cognite_neat-0.87.3/cognite/neat/rules/analysis/_information.py +183 -0
  55. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2dms.py +1 -1
  56. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2ontology.py +6 -5
  57. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dms2rules.py +3 -1
  58. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +2 -8
  59. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_inference2rules.py +3 -7
  60. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +1 -1
  61. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +2 -1
  62. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +1 -1
  63. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/spreadsheet.py +35 -0
  64. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_base.py +7 -7
  65. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_rdfpath.py +17 -21
  66. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_rules.py +4 -5
  67. cognite_neat-0.87.3/cognite/neat/rules/models/asset/_validation.py +41 -0
  68. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_converter.py +1 -2
  69. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_exporter.py +7 -3
  70. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_rules.py +3 -0
  71. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_schema.py +5 -4
  72. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/domain.py +5 -2
  73. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/entities.py +28 -17
  74. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_rules.py +10 -8
  75. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_rules_input.py +1 -2
  76. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_validation.py +2 -2
  77. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/auth.py +47 -28
  78. cognite_neat-0.87.3/cognite/neat/utils/auxiliary.py +175 -0
  79. cognite_neat-0.86.0/cognite/neat/utils/cdf_classes.py → cognite_neat-0.87.3/cognite/neat/utils/cdf/data_classes.py +122 -2
  80. {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_data_modeling.py +37 -0
  81. {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_ingestion.py +2 -1
  82. cognite_neat-0.87.3/cognite/neat/utils/collection_.py +18 -0
  83. cognite_neat-0.87.3/cognite/neat/utils/rdf_.py +165 -0
  84. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/text.py +4 -0
  85. cognite_neat-0.87.3/cognite/neat/utils/time_.py +17 -0
  86. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/upload.py +13 -1
  87. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/_exceptions.py +5 -5
  88. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/base.py +1 -1
  89. cognite_neat-0.87.3/cognite/neat/workflows/steps/__init__.py +0 -0
  90. cognite_neat-0.87.3/cognite/neat/workflows/steps/lib/__init__.py +0 -0
  91. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_store.py +28 -8
  92. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_validator.py +2 -2
  93. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +130 -28
  94. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_loader.py +1 -1
  95. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_store.py +4 -4
  96. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +1 -1
  97. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/rules_importer.py +1 -1
  98. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/pyproject.toml +2 -2
  99. cognite_neat-0.86.0/cognite/neat/_version.py +0 -1
  100. cognite_neat-0.86.0/cognite/neat/graph/loaders/_rdf2asset.py +0 -123
  101. cognite_neat-0.86.0/cognite/neat/graph/transformers/_rdfpath.py +0 -7
  102. cognite_neat-0.86.0/cognite/neat/rules/_shared.py +0 -5
  103. cognite_neat-0.86.0/cognite/neat/rules/analysis/__init__.py +0 -6
  104. cognite_neat-0.86.0/cognite/neat/rules/analysis/_base.py +0 -13
  105. cognite_neat-0.86.0/cognite/neat/rules/analysis/_information_rules.py +0 -476
  106. cognite_neat-0.86.0/cognite/neat/rules/models/asset/_validation.py +0 -4
  107. cognite_neat-0.86.0/cognite/neat/utils/__init__.py +0 -3
  108. cognite_neat-0.86.0/cognite/neat/utils/auxiliary.py +0 -35
  109. cognite_neat-0.86.0/cognite/neat/utils/cdf.py +0 -59
  110. cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders/data_classes.py +0 -121
  111. cognite_neat-0.86.0/cognite/neat/utils/exceptions.py +0 -41
  112. cognite_neat-0.86.0/cognite/neat/utils/utils.py +0 -429
  113. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/LICENSE +0 -0
  114. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/README.md +0 -0
  115. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/__init__.py +0 -0
  116. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/_shared.py +0 -0
  117. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/__init__.py +0 -0
  118. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/asgi/metrics.py +0 -0
  119. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/context_manager/__init__.py +0 -0
  120. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/context_manager/manager.py +0 -0
  121. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/data_classes/__init__.py +0 -0
  122. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/data_classes/rest.py +0 -0
  123. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/explorer.py +0 -0
  124. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/configuration.py +0 -0
  125. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/core.py +0 -0
  126. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/crud.py +0 -0
  127. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/metrics.py +0 -0
  128. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/rules.py +0 -0
  129. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/workflows.py +0 -0
  130. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/__init__.py +0 -0
  131. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/data_mapping.py +0 -0
  132. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/logging.py +0 -0
  133. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/query_templates.py +0 -0
  134. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/main.py +0 -0
  135. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/monitoring/__init__.py +0 -0
  136. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/monitoring/metrics.py +0 -0
  137. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/index.html +0 -0
  138. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
  139. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/README.md +0 -0
  140. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
  141. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
  142. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/architect-icon.svg +0 -0
  143. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/developer-icon.svg +0 -0
  144. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/sme-icon.svg +0 -0
  145. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
  146. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
  147. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
  148. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
  149. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
  150. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
  151. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js +0 -0
  152. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.LICENSE.txt +0 -0
  153. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.map +0 -0
  154. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  155. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/exceptions.py +0 -0
  156. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/__init__.py +0 -0
  157. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_shared.py +0 -0
  158. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/__init__.py +0 -0
  159. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/base.py +0 -0
  160. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/log.py +0 -0
  161. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  162. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  163. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/__init__.py +0 -0
  164. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  165. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/exceptions.py +0 -0
  166. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/__init__.py +0 -0
  167. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_base.py +0 -0
  168. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/__init__.py +0 -0
  169. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_rdf_file.py +0 -0
  170. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/issues/__init__.py +0 -0
  171. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/issues/loader.py +0 -0
  172. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/models.py +0 -0
  173. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/__init__.py +0 -0
  174. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/__init__.py +0 -0
  175. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
  176. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_provenance.py +0 -0
  177. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/_base.py +0 -0
  178. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/_classic_cdf.py +0 -0
  179. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/issues.py +0 -0
  180. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/__init__.py +0 -0
  181. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/__init__.py +0 -0
  182. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  183. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  184. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/__init__.py +0 -0
  185. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  186. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/exceptions.py +0 -0
  187. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/__init__.py +0 -0
  188. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_base.py +0 -0
  189. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -0
  190. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/__init__.py +0 -0
  191. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_base.py +0 -0
  192. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_exceptions.py +0 -0
  193. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
  194. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/labels.py +0 -0
  195. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/models.py +0 -0
  196. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/validator.py +0 -0
  197. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/models.py +0 -0
  198. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/__init__.py +0 -0
  199. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -0
  200. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/__init__.py +0 -0
  201. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -0
  202. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -0
  203. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/__init__.py +0 -0
  204. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/analysis.py +0 -0
  205. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  206. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
  207. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/__init__.py +0 -0
  208. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -0
  209. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
  210. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -0
  211. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
  212. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  213. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
  214. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  215. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/wind-energy.owl +0 -0
  216. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exceptions.py +0 -0
  217. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/__init__.py +0 -0
  218. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_base.py +0 -0
  219. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -0
  220. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -0
  221. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -0
  222. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -0
  223. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -0
  224. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_validation.py +0 -0
  225. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/__init__.py +0 -0
  226. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_base.py +0 -0
  227. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_dict2rules.py +0 -0
  228. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_json2rules.py +0 -0
  229. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -0
  230. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -0
  231. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -0
  232. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -0
  233. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -0
  234. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/__init__.py +0 -0
  235. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/_base.py +0 -0
  236. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/rdfpath.py +0 -0
  237. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/tables.py +0 -0
  238. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/value_types.py +0 -0
  239. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -0
  240. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  241. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  242. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  243. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -0
  244. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  245. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  246. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  247. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  248. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  249. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/py.typed +0 -0
  250. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/__init__.py +0 -0
  251. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/examples/__init__.py +0 -0
  252. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/examples/wind-energy.owl +0 -0
  253. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exceptions.py +0 -0
  254. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/__init__.py +0 -0
  255. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_base.py +0 -0
  256. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
  257. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
  258. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_validation.py +0 -0
  259. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/__init__.py +0 -0
  260. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_base.py +0 -0
  261. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
  262. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  263. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  264. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
  265. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
  266. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
  267. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
  268. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
  269. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/__init__.py +0 -0
  270. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/base.py +0 -0
  271. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/dms.py +0 -0
  272. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/fileread.py +0 -0
  273. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/formatters.py +0 -0
  274. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/importing.py +0 -0
  275. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
  276. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/__init__.py +0 -0
  277. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_constants.py +0 -0
  278. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/__init__.py +0 -0
  279. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/_base.py +0 -0
  280. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/_field.py +0 -0
  281. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/__init__.py +0 -0
  282. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_converter.py +0 -0
  283. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_rules_input.py +0 -0
  284. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_serializer.py +0 -0
  285. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/data_types.py +0 -0
  286. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/__init__.py +0 -0
  287. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_rules_input.py +0 -0
  288. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_serializer.py +0 -0
  289. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_validation.py +0 -0
  290. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/__init__.py +0 -0
  291. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_converter.py +0 -0
  292. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_serializer.py +0 -0
  293. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/wrapped_entities.py +0 -0
  294. {cognite_neat-0.86.0/cognite/neat/workflows/migration → cognite_neat-0.87.3/cognite/neat/utils}/__init__.py +0 -0
  295. {cognite_neat-0.86.0/cognite/neat/workflows/steps → cognite_neat-0.87.3/cognite/neat/utils/cdf}/__init__.py +0 -0
  296. {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/__init__.py +0 -0
  297. {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_base.py +0 -0
  298. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/spreadsheet.py +0 -0
  299. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/xml_.py +0 -0
  300. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/__init__.py +0 -0
  301. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/cdf_store.py +0 -0
  302. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Export_DMS/workflow.yaml +0 -0
  303. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
  304. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
  305. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
  306. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Import_DMS/workflow.yaml +0 -0
  307. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
  308. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Validate_Rules/workflow.yaml +0 -0
  309. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  310. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
  311. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
  312. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/manager.py +0 -0
  313. {cognite_neat-0.86.0/cognite/neat/workflows/steps/lib → cognite_neat-0.87.3/cognite/neat/workflows/migration}/__init__.py +0 -0
  314. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/migration/steps.py +0 -0
  315. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
  316. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/model.py +0 -0
  317. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/data_contracts.py +0 -0
  318. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/__init__.py +0 -0
  319. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_extractor.py +0 -0
  320. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_loader.py +0 -0
  321. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_exporter.py +0 -0
  322. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_importer.py +0 -0
  323. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/io/__init__.py +0 -0
  324. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/io/io_steps.py +0 -0
  325. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -0
  326. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -0
  327. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -0
  328. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/step_model.py +0 -0
  329. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps_registry.py +0 -0
  330. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/tasks.py +0 -0
  331. {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/triggers.py +0 -0
  332. {cognite_neat-0.86.0 → cognite_neat-0.87.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.86.0
3
+ Version: 0.87.3
4
4
  Summary: Knowledge graph transformation
5
5
  Home-page: https://cognite-neat.readthedocs-hosted.com/
6
6
  License: Apache-2.0
@@ -21,7 +21,7 @@ Provides-Extra: oxi
21
21
  Provides-Extra: service
22
22
  Requires-Dist: PyYAML
23
23
  Requires-Dist: backports.strenum (>=1.2,<2.0) ; python_version < "3.11"
24
- Requires-Dist: cognite-sdk (>=7.52.0,<8.0.0)
24
+ Requires-Dist: cognite-sdk (>=7.54.6,<8.0.0)
25
25
  Requires-Dist: deepdiff
26
26
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0) ; python_version < "3.11"
27
27
  Requires-Dist: fastapi (>=0,<1) ; extra == "service" or extra == "all"
@@ -0,0 +1 @@
1
+ __version__ = "0.87.3"
@@ -9,8 +9,6 @@ from fastapi import FastAPI
9
9
  from cognite import neat
10
10
  from cognite.neat.config import Config, configure_logging, copy_examples_to_directory, create_data_dir_structure
11
11
  from cognite.neat.constants import PACKAGE_DIRECTORY
12
- from cognite.neat.utils.cdf import ServiceCogniteClient
13
- from cognite.neat.utils.utils import get_cognite_client_from_config, get_cognite_client_from_token
14
12
  from cognite.neat.workflows.cdf_store import CdfStore
15
13
  from cognite.neat.workflows.manager import WorkflowManager
16
14
  from cognite.neat.workflows.triggers import TriggerManager
@@ -36,14 +34,7 @@ class NeatApp:
36
34
  self.config = config
37
35
  logging.info("Initializing global objects")
38
36
  if not self.cdf_client:
39
- if isinstance(self.config.cdf_client, ServiceCogniteClient):
40
- if self.config.cdf_client.client_id:
41
- self.cdf_client = get_cognite_client_from_config(self.config.cdf_client)
42
- else:
43
- # If no client_id is provided, we assume that the token is provided instead of secret.
44
- self.cdf_client = get_cognite_client_from_token(self.config.cdf_client)
45
- else:
46
- raise ValueError("Only ServiceCogniteClient is supported at the moment.")
37
+ self.cdf_client = self.config.cdf_auth_config.get_client()
47
38
  self.cdf_store = CdfStore(
48
39
  self.cdf_client,
49
40
  self.config.cdf_default_dataset_id,
@@ -17,7 +17,7 @@ from cognite.neat.app.api.data_classes.rest import (
17
17
  from cognite.neat.app.api.utils.data_mapping import rdf_result_to_api_response
18
18
  from cognite.neat.app.api.utils.query_templates import query_templates
19
19
  from cognite.neat.legacy.graph.transformations import query_generator
20
- from cognite.neat.utils.utils import remove_namespace_from_uri
20
+ from cognite.neat.utils.rdf_ import remove_namespace_from_uri
21
21
  from cognite.neat.workflows.steps.data_contracts import RulesData, SolutionGraph, SourceGraph
22
22
 
23
23
  router = APIRouter()
@@ -4,14 +4,14 @@ import os
4
4
  import shutil
5
5
  import sys
6
6
  from pathlib import Path
7
- from typing import Literal, cast
7
+ from typing import Any, Literal, cast
8
8
 
9
9
  import yaml
10
- from pydantic import BaseModel, Field
10
+ from pydantic import BaseModel, Field, field_serializer, model_validator
11
11
  from yaml import safe_load
12
12
 
13
13
  from cognite.neat.constants import EXAMPLE_GRAPHS, EXAMPLE_RULES, EXAMPLE_WORKFLOWS
14
- from cognite.neat.utils.cdf import InteractiveCogniteClient, ServiceCogniteClient
14
+ from cognite.neat.utils.auth import EnvironmentVariables
15
15
 
16
16
  if sys.version_info >= (3, 11):
17
17
  from enum import StrEnum
@@ -41,7 +41,7 @@ class WorkflowsStoreType(StrEnum):
41
41
  URL = "url"
42
42
 
43
43
 
44
- class Config(BaseModel):
44
+ class Config(BaseModel, arbitrary_types_allowed=True):
45
45
  workflows_store_type: WorkflowsStoreType = WorkflowsStoreType.FILE
46
46
  data_store_path: Path = Field(default_factory=lambda: Path.cwd() / "data")
47
47
 
@@ -51,7 +51,7 @@ class Config(BaseModel):
51
51
  default=None,
52
52
  )
53
53
 
54
- cdf_client: InteractiveCogniteClient | ServiceCogniteClient = ServiceCogniteClient()
54
+ cdf_auth_config: EnvironmentVariables = Field(default_factory=EnvironmentVariables.default)
55
55
  cdf_default_dataset_id: int = 0
56
56
  load_examples: bool = True
57
57
 
@@ -60,9 +60,64 @@ class Config(BaseModel):
60
60
  download_workflows_from_cdf: bool = Field(
61
61
  default=False, description="Downloads all workflows from CDF automatically and stores them locally"
62
62
  )
63
-
64
63
  stop_on_error: bool = False
65
64
 
65
+ @model_validator(mode="before")
66
+ def backwards_compatible(cls, data: Any):
67
+ if not isinstance(data, dict):
68
+ return data
69
+ if "cdf_client" in data:
70
+ cdf_client = data["cdf_client"]
71
+ if isinstance(cdf_client, dict):
72
+ if "base_url" in cdf_client:
73
+ base_url = cdf_client["base_url"]
74
+ cluster = base_url.removeprefix("https://").removesuffix(".cognitedata.com")
75
+ else:
76
+ base_url, cluster = "Missing", "Missing"
77
+ if "scopes" in cdf_client:
78
+ scopes = cdf_client["scopes"]
79
+ if isinstance(scopes, list):
80
+ scopes = ",".join(scopes)
81
+ else:
82
+ scopes = "Missing"
83
+ data["cdf_auth_config"] = EnvironmentVariables(
84
+ CDF_PROJECT=cdf_client.get("project", "Missing"),
85
+ CDF_CLUSTER=cluster,
86
+ CDF_URL=base_url,
87
+ IDP_CLIENT_ID=cdf_client.get("client_id", "Missing"),
88
+ IDP_CLIENT_SECRET=cdf_client.get("client_secret", "Missing"),
89
+ IDP_TOKEN_URL=cdf_client.get("token_url", "Missing"),
90
+ IDP_SCOPES=scopes,
91
+ CDF_TIMEOUT=int(cdf_client.get("timeout", 60)),
92
+ CDF_MAX_WORKERS=int(cdf_client.get("max_workers", 3)),
93
+ )
94
+ return data
95
+
96
+ @staticmethod
97
+ @field_serializer("cdf_auth_config", when_used="always", return_type=dict)
98
+ def backwards_compatible_serialize(cdf_auth_config: EnvironmentVariables) -> dict[str, Any]:
99
+ output: dict[str, Any] = {}
100
+ config = cdf_auth_config
101
+ if config.CDF_PROJECT not in {"Missing", "NOT SET"}:
102
+ output["project"] = config.CDF_PROJECT
103
+ if config.CDF_CLUSTER not in {"Missing", "NOT SET"}:
104
+ output["cluster"] = config.CDF_CLUSTER
105
+ if config.CDF_URL:
106
+ output["base_url"] = config.CDF_URL
107
+ if config.IDP_CLIENT_ID:
108
+ output["client_id"] = config.IDP_CLIENT_ID
109
+ if config.IDP_CLIENT_SECRET:
110
+ output["client_secret"] = config.IDP_CLIENT_SECRET
111
+ if config.IDP_TOKEN_URL:
112
+ output["token_url"] = config.IDP_TOKEN_URL
113
+ if config.IDP_SCOPES:
114
+ output["scopes"] = config.idp_scopes
115
+ if config.CDF_TIMEOUT:
116
+ output["timeout"] = config.CDF_TIMEOUT
117
+ if config.CDF_MAX_WORKERS:
118
+ output["max_workers"] = config.CDF_MAX_WORKERS
119
+ return output
120
+
66
121
  @property
67
122
  def _dir_suffix(self) -> str:
68
123
  is_test_running = "pytest" in sys.modules
@@ -93,7 +148,7 @@ class Config(BaseModel):
93
148
 
94
149
  def to_yaml(self, filepath: Path):
95
150
  # Parse as json to avoid Path and Enum objects
96
- dump = json.loads(self.json())
151
+ dump = json.loads(self.model_dump_json())
97
152
 
98
153
  with filepath.open("w") as f:
99
154
  yaml.safe_dump(dump, f)
@@ -101,15 +156,27 @@ class Config(BaseModel):
101
156
  @classmethod
102
157
  def from_env(cls) -> Self:
103
158
  missing = "Missing"
104
- cdf_config = ServiceCogniteClient(
105
- project=os.environ.get("NEAT_CDF_PROJECT", missing),
106
- client_id=os.environ.get("NEAT_CDF_CLIENT_ID", missing),
107
- client_secret=os.environ.get("NEAT_CDF_CLIENT_SECRET", missing),
108
- base_url=os.environ.get("NEAT_CDF_BASE_URL", missing),
109
- token_url=os.environ.get("NEAT_CDF_TOKEN_URL", missing),
110
- scopes=[os.environ.get("NEAT_CDF_SCOPES", missing)],
111
- timeout=int(os.environ.get("NEAT_CDF_CLIENT_TIMEOUT", "60")),
112
- max_workers=int(os.environ.get("NEAT_CDF_CLIENT_MAX_WORKERS", "3")),
159
+ # This is to be backwards compatible with the old config
160
+
161
+ base_url: str | None = None
162
+ if "NEAT_CDF_BASE_URL" in os.environ:
163
+ base_url = os.environ["NEAT_CDF_BASE_URL"]
164
+ if isinstance(base_url, str):
165
+ cluster = base_url.removeprefix("https://").removesuffix(".cognitedata.com")
166
+ else:
167
+ cluster = missing
168
+ variables = EnvironmentVariables(
169
+ CDF_PROJECT=os.environ.get("NEAT_CDF_PROJECT", missing),
170
+ CDF_CLUSTER=cluster,
171
+ CDF_URL=base_url,
172
+ IDP_CLIENT_ID=os.environ.get("NEAT_CDF_CLIENT_ID"),
173
+ IDP_CLIENT_SECRET=os.environ.get("NEAT_CDF_CLIENT_SECRET"),
174
+ IDP_TOKEN_URL=os.environ.get("NEAT_CDF_TOKEN_URL"),
175
+ IDP_SCOPES=os.environ.get("NEAT_CDF_SCOPES"),
176
+ CDF_TIMEOUT=int(os.environ["NEAT_CDF_CLIENT_TIMEOUT"] if "NEAT_CDF_CLIENT_TIMEOUT" in os.environ else 60),
177
+ CDF_MAX_WORKERS=int(
178
+ os.environ["NEAT_CDF_CLIENT_MAX_WORKERS"] if "NEAT_CDF_CLIENT_MAX_WORKERS" in os.environ else 3
179
+ ),
113
180
  )
114
181
 
115
182
  if workflow_downloader_filter_value := os.environ.get("NEAT_WORKFLOW_DOWNLOADER_FILTER", None):
@@ -118,7 +185,7 @@ class Config(BaseModel):
118
185
  workflow_downloader_filter = None
119
186
 
120
187
  return cls(
121
- cdf_client=cdf_config,
188
+ cdf_auth_config=variables,
122
189
  workflows_store_type=os.environ.get( # type: ignore[arg-type]
123
190
  "NEAT_WORKFLOWS_STORE_TYPE", WorkflowsStoreType.FILE
124
191
  ),
@@ -14,15 +14,17 @@ EXAMPLE_WORKFLOWS = PACKAGE_DIRECTORY / "workflows" / "examples"
14
14
 
15
15
  DEFAULT_NAMESPACE = Namespace("http://purl.org/cognite/neat#")
16
16
 
17
- PREFIXES = {
18
- "rdf": RDF._NS,
19
- "rdfs": RDFS._NS,
20
- "dct": DCTERMS._NS,
21
- "skos": SKOS._NS,
22
- "owl": OWL._NS,
23
- "xsd": XSD._NS,
24
- "pav": Namespace("http://purl.org/pav/"),
25
- }
17
+
18
+ def get_default_prefixes() -> dict[str, Namespace]:
19
+ return {
20
+ "rdf": RDF._NS,
21
+ "rdfs": RDFS._NS,
22
+ "dct": DCTERMS._NS,
23
+ "skos": SKOS._NS,
24
+ "owl": OWL._NS,
25
+ "xsd": XSD._NS,
26
+ "pav": Namespace("http://purl.org/pav/"),
27
+ }
26
28
 
27
29
 
28
30
  DEFAULT_URI = ""
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace
12
12
  from cognite.neat.constants import DEFAULT_NAMESPACE
13
13
  from cognite.neat.graph.extractors._base import BaseExtractor
14
14
  from cognite.neat.graph.models import Triple
15
- from cognite.neat.utils.utils import create_sha256_hash, string_to_ideal_type
15
+ from cognite.neat.utils.auxiliary import create_sha256_hash, string_to_ideal_type
16
16
 
17
17
 
18
18
  class AssetsExtractor(BaseExtractor):
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
12
12
  from cognite.neat.constants import DEFAULT_NAMESPACE
13
13
  from cognite.neat.graph.extractors._base import BaseExtractor
14
14
  from cognite.neat.graph.models import Triple
15
- from cognite.neat.utils.utils import string_to_ideal_type
15
+ from cognite.neat.utils.auxiliary import string_to_ideal_type
16
16
 
17
17
 
18
18
  class EventsExtractor(BaseExtractor):
@@ -13,7 +13,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
13
13
  from cognite.neat.constants import DEFAULT_NAMESPACE
14
14
  from cognite.neat.graph.extractors._base import BaseExtractor
15
15
  from cognite.neat.graph.models import Triple
16
- from cognite.neat.utils.utils import string_to_ideal_type
16
+ from cognite.neat.utils.auxiliary import string_to_ideal_type
17
17
 
18
18
 
19
19
  class FilesExtractor(BaseExtractor):
@@ -10,7 +10,7 @@ from rdflib import RDF, Literal, Namespace
10
10
  from cognite.neat.constants import DEFAULT_NAMESPACE
11
11
  from cognite.neat.graph.extractors._base import BaseExtractor
12
12
  from cognite.neat.graph.models import Triple
13
- from cognite.neat.utils.utils import create_sha256_hash
13
+ from cognite.neat.utils.auxiliary import create_sha256_hash
14
14
 
15
15
 
16
16
  class LabelsExtractor(BaseExtractor):
@@ -11,7 +11,7 @@ from rdflib import RDF, Literal, Namespace
11
11
  from cognite.neat.constants import DEFAULT_NAMESPACE
12
12
  from cognite.neat.graph.extractors._base import BaseExtractor
13
13
  from cognite.neat.graph.models import Triple
14
- from cognite.neat.utils.utils import create_sha256_hash
14
+ from cognite.neat.utils.auxiliary import create_sha256_hash
15
15
 
16
16
 
17
17
  class RelationshipsExtractor(BaseExtractor):
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
12
12
  from cognite.neat.constants import DEFAULT_NAMESPACE
13
13
  from cognite.neat.graph.extractors._base import BaseExtractor
14
14
  from cognite.neat.graph.models import Triple
15
- from cognite.neat.utils.utils import string_to_ideal_type
15
+ from cognite.neat.utils.auxiliary import string_to_ideal_type
16
16
 
17
17
 
18
18
  class SequencesExtractor(BaseExtractor):
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
12
12
  from cognite.neat.constants import DEFAULT_NAMESPACE
13
13
  from cognite.neat.graph.extractors._base import BaseExtractor
14
14
  from cognite.neat.graph.models import Triple
15
- from cognite.neat.utils.utils import string_to_ideal_type
15
+ from cognite.neat.utils.auxiliary import string_to_ideal_type
16
16
 
17
17
 
18
18
  class TimeSeriesExtractor(BaseExtractor):
@@ -9,7 +9,7 @@ from rdflib import RDF, RDFS, XSD, Literal, Namespace, URIRef
9
9
  from cognite.neat.constants import DEFAULT_NAMESPACE
10
10
  from cognite.neat.graph.extractors._base import BaseExtractor
11
11
  from cognite.neat.graph.models import Triple
12
- from cognite.neat.utils.utils import as_neat_compliant_uri
12
+ from cognite.neat.utils.rdf_ import as_neat_compliant_uri
13
13
  from cognite.neat.utils.xml_ import get_children, iterate_tree
14
14
 
15
15
  DEXPI = Namespace("http://sandbox.dexpi.org/rdl/")
@@ -12,12 +12,12 @@ import pandas as pd
12
12
  from rdflib import RDF, Literal, Namespace, URIRef
13
13
 
14
14
  from cognite.neat.graph.models import Triple
15
- from cognite.neat.rules.analysis import InformationArchitectRulesAnalysis
15
+ from cognite.neat.rules.analysis import InformationAnalysis
16
16
  from cognite.neat.rules.models import DMSRules, InformationRules
17
17
  from cognite.neat.rules.models.data_types import DataType
18
18
  from cognite.neat.rules.models.entities import ClassEntity, EntityTypes
19
19
  from cognite.neat.rules.models.information import InformationProperty
20
- from cognite.neat.utils.utils import remove_namespace_from_uri
20
+ from cognite.neat.utils.rdf_ import remove_namespace_from_uri
21
21
 
22
22
  from ._base import BaseExtractor
23
23
 
@@ -50,8 +50,7 @@ class MockGraphGenerator(BaseExtractor):
50
50
 
51
51
  if not class_count:
52
52
  self.class_count = {
53
- class_: 1
54
- for class_ in InformationArchitectRulesAnalysis(self.rules).defined_classes(consider_inheritance=True)
53
+ class_: 1 for class_ in InformationAnalysis(self.rules).defined_classes(consider_inheritance=True)
55
54
  }
56
55
  elif all(isinstance(key, str) for key in class_count.keys()):
57
56
  self.class_count = {
@@ -101,7 +100,7 @@ def generate_triples(
101
100
  """
102
101
 
103
102
  namespace = rules.metadata.namespace
104
- defined_classes = InformationArchitectRulesAnalysis(rules).defined_classes(consider_inheritance=True)
103
+ defined_classes = InformationAnalysis(rules).defined_classes(consider_inheritance=True)
105
104
 
106
105
  if non_existing_classes := set(class_count.keys()) - defined_classes:
107
106
  msg = f"Class count contains classes {non_existing_classes} for which properties are not defined in Data Model!"
@@ -115,16 +114,16 @@ def generate_triples(
115
114
 
116
115
  # Subset data model to only classes that are defined in class count
117
116
  rules = (
118
- InformationArchitectRulesAnalysis(rules).subset_rules(set(class_count.keys()))
117
+ InformationAnalysis(rules).subset_rules(set(class_count.keys()))
119
118
  if defined_classes != set(class_count.keys())
120
119
  else rules
121
120
  )
122
121
 
123
- class_linkage = InformationArchitectRulesAnalysis(rules).class_linkage()
122
+ class_linkage = InformationAnalysis(rules).class_linkage().to_pandas()
124
123
 
125
124
  # Remove one of symmetric pairs from class linkage to maintain proper linking
126
125
  # among instances of symmetrically linked classes
127
- if sym_pairs := InformationArchitectRulesAnalysis(rules).symmetrically_connected_classes():
126
+ if sym_pairs := InformationAnalysis(rules).symmetrically_connected_classes():
128
127
  class_linkage = _remove_higher_occurring_sym_pair(class_linkage, sym_pairs)
129
128
 
130
129
  # Remove any of symmetric pairs containing classes that are not present class count
@@ -134,7 +133,7 @@ def generate_triples(
134
133
  generation_order = _prettify_generation_order(_get_generation_order(class_linkage))
135
134
 
136
135
  # Generated simple view of data model
137
- class_property_pairs = InformationArchitectRulesAnalysis(rules).classes_with_properties(consider_inheritance=True)
136
+ class_property_pairs = InformationAnalysis(rules).classes_with_properties(consider_inheritance=True)
138
137
 
139
138
  # pregenerate instance ids for each remaining class
140
139
  instance_ids = {
@@ -1,7 +1,8 @@
1
1
  from ._base import BaseLoader, CDFLoader
2
+ from ._rdf2asset import AssetLoader
2
3
  from ._rdf2dms import DMSLoader
3
4
 
4
- __all__ = ["BaseLoader", "CDFLoader", "DMSLoader"]
5
+ __all__ = ["BaseLoader", "CDFLoader", "DMSLoader", "AssetLoader"]
5
6
 
6
7
 
7
8
  def _repr_html_() -> str:
@@ -11,7 +12,9 @@ def _repr_html_() -> str:
11
12
  [
12
13
  {
13
14
  "Loader": name,
14
- "Description": globals()[name].__doc__.strip().split("\n")[0] if globals()[name].__doc__ else "Missing",
15
+ "Description": (
16
+ globals()[name].__doc__.strip().split("\n")[0] if globals()[name].__doc__ else "Missing"
17
+ ),
15
18
  }
16
19
  for name in __all__
17
20
  if name not in ("BaseLoader", "CDFLoader")
@@ -15,6 +15,11 @@ from cognite.neat.utils.upload import UploadResult, UploadResultList
15
15
  T_Output = TypeVar("T_Output")
16
16
 
17
17
 
18
+ # Sentinel value to indicate in the load method that all instances of a class have been loaded.
19
+ # https://en.wikipedia.org/wiki/Sentinel_value
20
+ class _END_OF_CLASS: ...
21
+
22
+
18
23
  class BaseLoader(ABC, Generic[T_Output]):
19
24
  _new_line = "\n"
20
25
  _encoding = "utf-8"
@@ -28,10 +33,10 @@ class BaseLoader(ABC, Generic[T_Output]):
28
33
 
29
34
  def load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue]:
30
35
  """Load the graph with data."""
31
- return self._load(stop_on_exception)
36
+ return (item for item in self._load(stop_on_exception) if item is not _END_OF_CLASS) # type: ignore[misc]
32
37
 
33
38
  @abstractmethod
34
- def _load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue]:
39
+ def _load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue | type[_END_OF_CLASS]]:
35
40
  """Load the graph with data."""
36
41
  pass
37
42
 
@@ -58,13 +63,16 @@ class CDFLoader(BaseLoader[T_Output]):
58
63
 
59
64
  issues = NeatIssueList[NeatIssue]()
60
65
  items: list[T_Output] = []
61
- for result in self.load(stop_on_exception=False):
66
+ for result in self._load(stop_on_exception=False):
62
67
  if isinstance(result, NeatIssue):
63
68
  issues.append(result)
69
+ elif result is _END_OF_CLASS:
70
+ ...
64
71
  else:
65
- items.append(result)
72
+ # MyPy does not understand else means the item will be of type T_Output
73
+ items.append(result) # type: ignore[arg-type]
66
74
 
67
- if len(items) >= self._UPLOAD_BATCH_SIZE:
75
+ if len(items) >= self._UPLOAD_BATCH_SIZE or result is _END_OF_CLASS:
68
76
  yield from self._upload_to_cdf(client, items, dry_run, issues)
69
77
  issues = NeatIssueList[NeatIssue]()
70
78
  items = []