cognite-neat 0.97.2__tar.gz → 0.97.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.

Potentially problematic release.


This version of cognite-neat might be problematic. Click here for more details.

Files changed (283) hide show
  1. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/PKG-INFO +1 -1
  2. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/queries/_base.py +25 -4
  3. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/_validation.py +0 -15
  4. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_base.py +3 -0
  5. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_prepare.py +34 -8
  6. cognite_neat-0.97.3/cognite/neat/_version.py +2 -0
  7. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/pyproject.toml +1 -1
  8. cognite_neat-0.97.2/cognite/neat/_version.py +0 -2
  9. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/LICENSE +0 -0
  10. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/README.md +0 -0
  11. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/__init__.py +0 -0
  12. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/__init__.py +0 -0
  13. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/asgi/metrics.py +0 -0
  14. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/configuration.py +0 -0
  15. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/context_manager/__init__.py +0 -0
  16. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/context_manager/manager.py +0 -0
  17. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/data_classes/__init__.py +0 -0
  18. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/data_classes/rest.py +0 -0
  19. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/explorer.py +0 -0
  20. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/routers/configuration.py +0 -0
  21. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/routers/crud.py +0 -0
  22. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/routers/metrics.py +0 -0
  23. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/routers/workflows.py +0 -0
  24. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/utils/__init__.py +0 -0
  25. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/utils/data_mapping.py +0 -0
  26. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/utils/logging.py +0 -0
  27. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/api/utils/query_templates.py +0 -0
  28. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/main.py +0 -0
  29. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/monitoring/__init__.py +0 -0
  30. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/monitoring/metrics.py +0 -0
  31. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/index.html +0 -0
  32. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/.gitignore +0 -0
  33. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/README.md +0 -0
  34. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/asset-manifest.json +0 -0
  35. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/favicon.ico +0 -0
  36. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/img/architect-icon.svg +0 -0
  37. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/img/developer-icon.svg +0 -0
  38. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/img/sme-icon.svg +0 -0
  39. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/index.html +0 -0
  40. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/logo192.png +0 -0
  41. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/manifest.json +0 -0
  42. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/robots.txt +0 -0
  43. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css +0 -0
  44. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css.map +0 -0
  45. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js +0 -0
  46. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt +0 -0
  47. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.map +0 -0
  48. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
  49. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/package-lock.json +0 -0
  50. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/package.json +0 -0
  51. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/favicon.ico +0 -0
  52. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/img/architect-icon.svg +0 -0
  53. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/img/developer-icon.svg +0 -0
  54. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/img/sme-icon.svg +0 -0
  55. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/index.html +0 -0
  56. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/logo192.png +0 -0
  57. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/manifest.json +0 -0
  58. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/public/robots.txt +0 -0
  59. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/App.css +0 -0
  60. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/App.js +0 -0
  61. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/App.test.js +0 -0
  62. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/MainContainer.tsx +0 -0
  63. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/JsonViewer.tsx +0 -0
  64. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/LocalUploader.tsx +0 -0
  65. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/OverviewComponentEditorDialog.tsx +0 -0
  66. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/StepEditorDialog.tsx +0 -0
  67. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/TabPanel.tsx +0 -0
  68. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/Utils.tsx +0 -0
  69. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/WorkflowDeleteDialog.tsx +0 -0
  70. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/WorkflowExecutionReport.tsx +0 -0
  71. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/WorkflowImportExportDialog.tsx +0 -0
  72. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/components/WorkflowMetadataDialog.tsx +0 -0
  73. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/index.css +0 -0
  74. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/index.js +0 -0
  75. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/logo.svg +0 -0
  76. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/reportWebVitals.js +0 -0
  77. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/setupTests.js +0 -0
  78. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/types/WorkflowTypes.ts +0 -0
  79. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/views/AboutView.tsx +0 -0
  80. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/views/ConfigView.tsx +0 -0
  81. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/views/GlobalConfigView.tsx +0 -0
  82. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/src/views/WorkflowView.tsx +0 -0
  83. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_app/ui/neat-app/tsconfig.json +0 -0
  84. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_config.py +0 -0
  85. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_constants.py +0 -0
  86. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/__init__.py +0 -0
  87. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/_shared.py +0 -0
  88. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/_tracking/__init__.py +0 -0
  89. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/_tracking/base.py +0 -0
  90. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/_tracking/log.py +0 -0
  91. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  92. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
  93. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/examples/__init__.py +0 -0
  94. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  95. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/__init__.py +0 -0
  96. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_base.py +0 -0
  97. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/__init__.py +0 -0
  98. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_assets.py +0 -0
  99. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_base.py +0 -0
  100. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_classic.py +0 -0
  101. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_data_sets.py +0 -0
  102. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_events.py +0 -0
  103. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_files.py +0 -0
  104. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_labels.py +0 -0
  105. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_relationships.py +0 -0
  106. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_sequences.py +0 -0
  107. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_classic_cdf/_timeseries.py +0 -0
  108. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_dexpi.py +0 -0
  109. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_dms.py +0 -0
  110. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_iodd.py +0 -0
  111. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_mock_graph_generator.py +0 -0
  112. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/extractors/_rdf_file.py +0 -0
  113. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/loaders/__init__.py +0 -0
  114. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/loaders/_base.py +0 -0
  115. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/loaders/_rdf2asset.py +0 -0
  116. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/loaders/_rdf2dms.py +0 -0
  117. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/queries/__init__.py +0 -0
  118. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/queries/_construct.py +0 -0
  119. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/queries/_shared.py +0 -0
  120. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/__init__.py +0 -0
  121. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_base.py +0 -0
  122. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_classic_cdf.py +0 -0
  123. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_iodd.py +0 -0
  124. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_prune_graph.py +0 -0
  125. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_rdfpath.py +0 -0
  126. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_graph/transformers/_value_type.py +0 -0
  127. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/__init__.py +0 -0
  128. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/_base.py +0 -0
  129. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/__init__.py +0 -0
  130. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/_external.py +0 -0
  131. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/_general.py +0 -0
  132. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/_properties.py +0 -0
  133. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/_resources.py +0 -0
  134. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/errors/_workflow.py +0 -0
  135. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/formatters.py +0 -0
  136. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/__init__.py +0 -0
  137. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/_external.py +0 -0
  138. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/_general.py +0 -0
  139. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/_models.py +0 -0
  140. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/_properties.py +0 -0
  141. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/_resources.py +0 -0
  142. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_issues/warnings/user_modeling.py +0 -0
  143. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/__init__.py +0 -0
  144. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/_constants.py +0 -0
  145. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/_shared.py +0 -0
  146. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/analysis/__init__.py +0 -0
  147. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/analysis/_asset.py +0 -0
  148. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/analysis/_base.py +0 -0
  149. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/analysis/_dms.py +0 -0
  150. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/analysis/_information.py +0 -0
  151. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/catalog/__init__.py +0 -0
  152. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/catalog/info-rules-imf.xlsx +0 -0
  153. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/__init__.py +0 -0
  154. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_base.py +0 -0
  155. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_rules2dms.py +0 -0
  156. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_rules2excel.py +0 -0
  157. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_rules2instance_template.py +0 -0
  158. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_rules2ontology.py +0 -0
  159. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_rules2yaml.py +0 -0
  160. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/exporters/_validation.py +0 -0
  161. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/__init__.py +0 -0
  162. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_base.py +0 -0
  163. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dms2rules.py +0 -0
  164. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dtdl2rules/__init__.py +0 -0
  165. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
  166. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
  167. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
  168. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_dtdl2rules/spec.py +0 -0
  169. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/__init__.py +0 -0
  170. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_base.py +0 -0
  171. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_imf2rules/__init__.py +0 -0
  172. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2classes.py +0 -0
  173. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2metadata.py +0 -0
  174. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2properties.py +0 -0
  175. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2rules.py +0 -0
  176. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_inference2rules.py +0 -0
  177. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_owl2rules/__init__.py +0 -0
  178. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2classes.py +0 -0
  179. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2metadata.py +0 -0
  180. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2properties.py +0 -0
  181. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2rules.py +0 -0
  182. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_rdf/_shared.py +0 -0
  183. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_spreadsheet2rules.py +0 -0
  184. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/importers/_yaml2rules.py +0 -0
  185. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/__init__.py +0 -0
  186. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/_base_input.py +0 -0
  187. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/_base_rules.py +0 -0
  188. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/_rdfpath.py +0 -0
  189. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/_types.py +0 -0
  190. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/asset/__init__.py +0 -0
  191. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/asset/_rules.py +0 -0
  192. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/asset/_rules_input.py +0 -0
  193. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/asset/_validation.py +0 -0
  194. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/data_types.py +0 -0
  195. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/__init__.py +0 -0
  196. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/_exporter.py +0 -0
  197. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/_rules.py +0 -0
  198. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/_rules_input.py +0 -0
  199. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/dms/_schema.py +0 -0
  200. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/domain.py +0 -0
  201. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/__init__.py +0 -0
  202. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_constants.py +0 -0
  203. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_loaders.py +0 -0
  204. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_multi_value.py +0 -0
  205. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_single_value.py +0 -0
  206. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_types.py +0 -0
  207. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/entities/_wrapped.py +0 -0
  208. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/information/__init__.py +0 -0
  209. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/information/_rules.py +0 -0
  210. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/information/_rules_input.py +0 -0
  211. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/information/_validation.py +0 -0
  212. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/mapping/__init__.py +0 -0
  213. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/mapping/_base.py +0 -0
  214. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/models/mapping/_classic2core.py +0 -0
  215. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/__init__.py +0 -0
  216. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/_base.py +0 -0
  217. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/_converters.py +0 -0
  218. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/_mapping.py +0 -0
  219. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/_pipelines.py +0 -0
  220. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_rules/transformers/_verification.py +0 -0
  221. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/__init__.py +0 -0
  222. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_inspect.py +0 -0
  223. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_read.py +0 -0
  224. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_set.py +0 -0
  225. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_show.py +0 -0
  226. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_state.py +0 -0
  227. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_to.py +0 -0
  228. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/_wizard.py +0 -0
  229. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/engine/__init__.py +0 -0
  230. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/engine/_import.py +0 -0
  231. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/engine/_interface.py +0 -0
  232. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/engine/_load.py +0 -0
  233. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_session/exceptions.py +0 -0
  234. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_shared.py +0 -0
  235. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_store/__init__.py +0 -0
  236. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_store/_base.py +0 -0
  237. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_store/_provenance.py +0 -0
  238. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/__init__.py +0 -0
  239. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/auth.py +0 -0
  240. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/auxiliary.py +0 -0
  241. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/__init__.py +0 -0
  242. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/data_classes.py +0 -0
  243. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/loaders/__init__.py +0 -0
  244. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/loaders/_base.py +0 -0
  245. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/loaders/_data_modeling.py +0 -0
  246. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/cdf/loaders/_ingestion.py +0 -0
  247. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/collection_.py +0 -0
  248. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/rdf_.py +0 -0
  249. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/reader/__init__.py +0 -0
  250. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/reader/_base.py +0 -0
  251. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/spreadsheet.py +0 -0
  252. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/text.py +0 -0
  253. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/time_.py +0 -0
  254. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/upload.py +0 -0
  255. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_utils/xml_.py +0 -0
  256. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/__init__.py +0 -0
  257. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/base.py +0 -0
  258. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/cdf_store.py +0 -0
  259. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/examples/Export_DMS/workflow.yaml +0 -0
  260. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/examples/Export_Semantic_Data_Model/workflow.yaml +0 -0
  261. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/examples/Import_DMS/workflow.yaml +0 -0
  262. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/examples/Validate_Rules/workflow.yaml +0 -0
  263. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
  264. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/manager.py +0 -0
  265. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/model.py +0 -0
  266. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/__init__.py +0 -0
  267. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/data_contracts.py +0 -0
  268. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/__init__.py +0 -0
  269. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/__init__.py +0 -0
  270. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/graph_extractor.py +0 -0
  271. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/graph_loader.py +0 -0
  272. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/graph_store.py +0 -0
  273. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/rules_exporter.py +0 -0
  274. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/rules_importer.py +0 -0
  275. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/current/rules_validator.py +0 -0
  276. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/io/__init__.py +0 -0
  277. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/lib/io/io_steps.py +0 -0
  278. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps/step_model.py +0 -0
  279. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/steps_registry.py +0 -0
  280. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/tasks.py +0 -0
  281. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/triggers.py +0 -0
  282. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/_workflows/utils.py +0 -0
  283. {cognite_neat-0.97.2 → cognite_neat-0.97.3}/cognite/neat/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cognite-neat
3
- Version: 0.97.2
3
+ Version: 0.97.3
4
4
  Summary: Knowledge graph transformation
5
5
  Home-page: https://cognite-neat.readthedocs-hosted.com/
6
6
  License: Apache-2.0
@@ -42,6 +42,27 @@ class Queries:
42
42
  for res in list(self.graph.query(query_statement))
43
43
  ]
44
44
 
45
+ @property
46
+ def types(self) -> dict[URIRef, str]:
47
+ """Types and their short form in the graph"""
48
+ query = """SELECT DISTINCT ?type
49
+ WHERE {?s a ?type .}"""
50
+ return {type_: remove_namespace_from_uri(cast(URIRef, type_)) for (type_,) in list(self.graph.query(query))} # type: ignore[misc, index, arg-type]
51
+
52
+ def type_uri(self, type_: str) -> list[URIRef]:
53
+ """Get the URIRef of a type"""
54
+ return [k for k, v in self.types.items() if v == type_]
55
+
56
+ @property
57
+ def properties(self) -> dict[URIRef, str]:
58
+ query = """SELECT DISTINCT ?property
59
+ WHERE {?s ?property ?o . FILTER(?property != rdf:type)}"""
60
+ return {type_: remove_namespace_from_uri(cast(URIRef, type_)) for (type_,) in list(self.graph.query(query))} # type: ignore[misc, index, arg-type]
61
+
62
+ def property_uri(self, property_: str) -> list[URIRef]:
63
+ """Get the URIRef of a type"""
64
+ return [k for k, v in self.properties.items() if v == property_]
65
+
45
66
  def list_instances_ids_of_class(self, class_uri: URIRef, limit: int = -1) -> list[URIRef]:
46
67
  """Get instances ids for a given class
47
68
 
@@ -101,7 +122,7 @@ class Queries:
101
122
  # We cannot include the RDF.type in case there is a neat:type property
102
123
  return [remove_namespace_from_uri(list(triple)) for triple in result if triple[1] != RDF.type] # type: ignore[misc, index, arg-type]
103
124
 
104
- def types_with_property(self, property_uri: URIRef) -> list[URIRef]:
125
+ def type_with_property(self, type_: URIRef, property_uri: URIRef) -> bool:
105
126
  """Check if a property exists in the graph store
106
127
 
107
128
  Args:
@@ -110,8 +131,8 @@ class Queries:
110
131
  Returns:
111
132
  True if property exists, False otherwise
112
133
  """
113
- query = f"SELECT DISTINCT ?t WHERE {{ ?s <{property_uri}> ?o ; a ?t}} Limit 1"
114
- return cast(list[URIRef], [t[0] for t in self.graph.query(query)]) # type: ignore[index]
134
+ query = f"SELECT ?o WHERE {{ ?s a <{type_}> ; <{property_uri}> ?o .}} Limit 1"
135
+ return bool(list(self.graph.query(query)))
115
136
 
116
137
  def has_namespace(self, namespace: Namespace) -> bool:
117
138
  """Check if a namespace exists in the graph store
@@ -250,7 +271,7 @@ class Queries:
250
271
  result = self.graph.query(query)
251
272
 
252
273
  # We cannot include the RDF.type in case there is a neat:type property
253
- return [remove_namespace_from_uri(cast(ResultRow, triple)) for triple in result if triple[1] != RDF.type] # type: ignore[misc, index]
274
+ return [remove_namespace_from_uri(cast(ResultRow, triple)) for triple in result if triple[1] != RDF.type] # type: ignore[misc, index, arg-type]
254
275
  else:
255
276
  warnings.warn(
256
277
  "No rules found for the graph store, returning empty list.",
@@ -157,21 +157,6 @@ class DMSPostValidation:
157
157
  )
158
158
  )
159
159
 
160
- # This sets the container definition for all the properties where it is not defined.
161
- # This allows the user to define the container only once.
162
- value_type = next(iter(value_types))
163
- list_definition = next(iter(list_definitions)) if list_definitions else None
164
- nullable_definition = next(iter(nullable_definitions)) if nullable_definitions else None
165
- default_definition = next(iter(default_definitions)) if default_definitions else None
166
- index_definition = next(iter(index_definitions)).split(",") if index_definitions else None
167
- constraint_definition = next(iter(constraint_definitions)).split(",") if constraint_definitions else None
168
- for _, prop in properties:
169
- prop.value_type = value_type
170
- prop.is_list = prop.is_list or list_definition
171
- prop.nullable = prop.nullable or nullable_definition
172
- prop.default = prop.default or default_definition
173
- prop.index = prop.index or index_definition
174
- prop.constraint = prop.constraint or constraint_definition
175
160
  self.issue_list.extend(errors)
176
161
 
177
162
  def _referenced_views_and_containers_are_existing_and_proper_size(self) -> None:
@@ -21,6 +21,7 @@ from cognite.neat._store._provenance import (
21
21
  INSTANCES_ENTITY,
22
22
  Change,
23
23
  )
24
+ from cognite.neat._utils.auth import _CLIENT_NAME
24
25
 
25
26
  from ._inspect import InspectAPI
26
27
  from ._prepare import PrepareAPI
@@ -51,6 +52,8 @@ class NeatSession:
51
52
  self.show = ShowAPI(self._state)
52
53
  self.set = SetAPI(self._state, verbose)
53
54
  self.inspect = InspectAPI(self._state)
55
+ if self._client is not None and self._client._config is not None:
56
+ self._client._config.client_name = _CLIENT_NAME
54
57
  if load_engine != "skip" and (engine_version := load_neat_engine(client, load_engine)):
55
58
  print(f"Neat Engine {engine_version} loaded.")
56
59
 
@@ -12,7 +12,7 @@ from cognite.neat._rules.transformers import ReduceCogniteModel, ToCompliantEnti
12
12
  from cognite.neat._store._provenance import Change
13
13
 
14
14
  from ._state import SessionState
15
- from .exceptions import intercept_session_exceptions
15
+ from .exceptions import NeatSessionError, intercept_session_exceptions
16
16
 
17
17
 
18
18
  @intercept_session_exceptions
@@ -32,18 +32,18 @@ class InstancePrepareAPI:
32
32
 
33
33
  def make_connection_on_exact_match(
34
34
  self,
35
- source: tuple[URIRef, URIRef],
36
- target: tuple[URIRef, URIRef],
37
- connection: URIRef | None = None,
35
+ source: tuple[str, str],
36
+ target: tuple[str, str],
37
+ connection: str | None = None,
38
38
  limit: int | None = 100,
39
39
  ) -> None:
40
40
  """Make connection on exact match.
41
41
 
42
42
  Args:
43
- source: The source of the connection. A tuple of (rdf type, property) where
43
+ source: The source of the connection. A tuple of (type, property) where
44
44
  where property is the property that should be matched on the source
45
45
  to make the connection with the target.
46
- target: The target of the connection. A tuple of (rdf type, property) where
46
+ target: The target of the connection. A tuple of (type, property) where
47
47
  where property is the property that should be matched on the target
48
48
  to make the connection with the source.
49
49
 
@@ -51,11 +51,19 @@ class InstancePrepareAPI:
51
51
  will be made by lowercasing the target type.
52
52
  limit: The maximum number of connections to make. If None, all connections
53
53
 
54
+ !!! note "Make Connection on Exact Match"
55
+ This method will make a connection between the source and target based on the exact match:
56
+ (SourceType)-[sourceProperty]->(sourceValue) == (TargetType)-[targetProperty]->(targetValue)
57
+
58
+ The connection will be made by creating a new property on the source type that will contain the
59
+ target value, as follows:
60
+ (SourceType)-[connection]->(TargetType)
61
+
54
62
 
55
63
  """
56
64
 
57
- subject_type, subject_predicate = source
58
- object_type, object_predicate = target
65
+ subject_type, subject_predicate = self._get_type_and_property_uris(*source)
66
+ object_type, object_predicate = self._get_type_and_property_uris(*target)
59
67
 
60
68
  transformer = MakeConnectionOnExactMatch(
61
69
  subject_type,
@@ -68,6 +76,24 @@ class InstancePrepareAPI:
68
76
 
69
77
  self._state.instances.store.transform(transformer)
70
78
 
79
+ def _get_type_and_property_uris(self, type_: str, property_: str) -> tuple[URIRef, URIRef]:
80
+ type_uri = self._state.instances.store.queries.type_uri(type_)
81
+ property_uri = self._state.instances.store.queries.property_uri(property_)
82
+
83
+ if not type_uri:
84
+ raise NeatSessionError(f"Type {type_} does not exist in the graph.")
85
+ elif len(type_uri) > 1:
86
+ raise NeatSessionError(f"{type_} has multiple ids found in the graph: {','.join(type_uri)}.")
87
+
88
+ if not property_uri:
89
+ raise NeatSessionError(f"Property {property_} does not exist in the graph.")
90
+ elif len(type_uri) > 1:
91
+ raise NeatSessionError(f"{property_} has multiple ids found in the graph: {','.join(property_uri)}.")
92
+
93
+ if not self._state.instances.store.queries.type_with_property(type_uri[0], property_uri[0]):
94
+ raise NeatSessionError(f"Property {property_} is not defined for type {type_}. Cannot make connection")
95
+ return type_uri[0], property_uri[0]
96
+
71
97
 
72
98
  @intercept_session_exceptions
73
99
  class DataModelPrepareAPI:
@@ -0,0 +1,2 @@
1
+ __version__ = "0.97.3"
2
+ __engine__ = "^1.0.3"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cognite-neat"
3
- version = "0.97.2"
3
+ version = "0.97.3"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -1,2 +0,0 @@
1
- __version__ = "0.97.2"
2
- __engine__ = "^1.0.3"
File without changes
File without changes