cognite-neat 0.123.26__py3-none-any.whl → 1.0.22__py3-none-any.whl

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 (341) hide show
  1. cognite/neat/__init__.py +4 -3
  2. cognite/neat/_client/__init__.py +5 -0
  3. cognite/neat/_client/api.py +8 -0
  4. cognite/neat/_client/client.py +21 -0
  5. cognite/neat/_client/config.py +40 -0
  6. cognite/neat/_client/containers_api.py +138 -0
  7. cognite/neat/_client/data_classes.py +44 -0
  8. cognite/neat/_client/data_model_api.py +115 -0
  9. cognite/neat/_client/init/credentials.py +70 -0
  10. cognite/neat/_client/init/env_vars.py +131 -0
  11. cognite/neat/_client/init/main.py +51 -0
  12. cognite/neat/_client/spaces_api.py +115 -0
  13. cognite/neat/_client/statistics_api.py +24 -0
  14. cognite/neat/_client/views_api.py +144 -0
  15. cognite/neat/_config.py +266 -0
  16. cognite/neat/_data_model/_analysis.py +571 -0
  17. cognite/neat/_data_model/_constants.py +74 -0
  18. cognite/neat/_data_model/_identifiers.py +61 -0
  19. cognite/neat/_data_model/_shared.py +41 -0
  20. cognite/neat/_data_model/_snapshot.py +134 -0
  21. cognite/neat/_data_model/deployer/_differ.py +140 -0
  22. cognite/neat/_data_model/deployer/_differ_container.py +360 -0
  23. cognite/neat/_data_model/deployer/_differ_data_model.py +54 -0
  24. cognite/neat/_data_model/deployer/_differ_space.py +9 -0
  25. cognite/neat/_data_model/deployer/_differ_view.py +299 -0
  26. cognite/neat/_data_model/deployer/data_classes.py +644 -0
  27. cognite/neat/_data_model/deployer/deployer.py +431 -0
  28. cognite/neat/_data_model/exporters/__init__.py +15 -0
  29. cognite/neat/_data_model/exporters/_api_exporter.py +37 -0
  30. cognite/neat/_data_model/exporters/_base.py +24 -0
  31. cognite/neat/_data_model/exporters/_table_exporter/exporter.py +128 -0
  32. cognite/neat/_data_model/exporters/_table_exporter/workbook.py +409 -0
  33. cognite/neat/_data_model/exporters/_table_exporter/writer.py +480 -0
  34. cognite/neat/_data_model/importers/__init__.py +5 -0
  35. cognite/neat/_data_model/importers/_api_importer.py +166 -0
  36. cognite/neat/_data_model/importers/_base.py +16 -0
  37. cognite/neat/_data_model/importers/_table_importer/data_classes.py +344 -0
  38. cognite/neat/_data_model/importers/_table_importer/importer.py +192 -0
  39. cognite/neat/_data_model/importers/_table_importer/reader.py +1102 -0
  40. cognite/neat/_data_model/importers/_table_importer/source.py +94 -0
  41. cognite/neat/_data_model/models/conceptual/_base.py +18 -0
  42. cognite/neat/_data_model/models/conceptual/_concept.py +67 -0
  43. cognite/neat/_data_model/models/conceptual/_data_model.py +51 -0
  44. cognite/neat/_data_model/models/conceptual/_properties.py +104 -0
  45. cognite/neat/_data_model/models/conceptual/_property.py +105 -0
  46. cognite/neat/_data_model/models/dms/__init__.py +206 -0
  47. cognite/neat/_data_model/models/dms/_base.py +31 -0
  48. cognite/neat/_data_model/models/dms/_constants.py +48 -0
  49. cognite/neat/_data_model/models/dms/_constraints.py +42 -0
  50. cognite/neat/_data_model/models/dms/_container.py +159 -0
  51. cognite/neat/_data_model/models/dms/_data_model.py +95 -0
  52. cognite/neat/_data_model/models/dms/_data_types.py +195 -0
  53. cognite/neat/_data_model/models/dms/_http.py +28 -0
  54. cognite/neat/_data_model/models/dms/_indexes.py +30 -0
  55. cognite/neat/_data_model/models/dms/_limits.py +96 -0
  56. cognite/neat/_data_model/models/dms/_references.py +141 -0
  57. cognite/neat/_data_model/models/dms/_schema.py +18 -0
  58. cognite/neat/_data_model/models/dms/_space.py +48 -0
  59. cognite/neat/_data_model/models/dms/_types.py +17 -0
  60. cognite/neat/_data_model/models/dms/_view_filter.py +310 -0
  61. cognite/neat/_data_model/models/dms/_view_property.py +235 -0
  62. cognite/neat/_data_model/models/dms/_views.py +216 -0
  63. cognite/neat/_data_model/models/entities/__init__.py +50 -0
  64. cognite/neat/_data_model/models/entities/_base.py +101 -0
  65. cognite/neat/_data_model/models/entities/_constants.py +22 -0
  66. cognite/neat/_data_model/models/entities/_data_types.py +144 -0
  67. cognite/neat/_data_model/models/entities/_identifiers.py +61 -0
  68. cognite/neat/_data_model/models/entities/_parser.py +226 -0
  69. cognite/neat/_data_model/validation/dms/__init__.py +75 -0
  70. cognite/neat/_data_model/validation/dms/_ai_readiness.py +381 -0
  71. cognite/neat/_data_model/validation/dms/_base.py +25 -0
  72. cognite/neat/_data_model/validation/dms/_connections.py +681 -0
  73. cognite/neat/_data_model/validation/dms/_consistency.py +58 -0
  74. cognite/neat/_data_model/validation/dms/_containers.py +199 -0
  75. cognite/neat/_data_model/validation/dms/_limits.py +368 -0
  76. cognite/neat/_data_model/validation/dms/_orchestrator.py +70 -0
  77. cognite/neat/_data_model/validation/dms/_views.py +164 -0
  78. cognite/neat/_exceptions.py +68 -0
  79. cognite/neat/_issues.py +68 -0
  80. cognite/neat/_session/__init__.py +3 -0
  81. cognite/neat/_session/_html/_render.py +30 -0
  82. cognite/neat/_session/_html/static/__init__.py +8 -0
  83. cognite/neat/_session/_html/static/deployment.css +476 -0
  84. cognite/neat/_session/_html/static/deployment.js +181 -0
  85. cognite/neat/_session/_html/static/issues.css +211 -0
  86. cognite/neat/_session/_html/static/issues.js +168 -0
  87. cognite/neat/_session/_html/static/shared.css +186 -0
  88. cognite/neat/_session/_html/templates/__init__.py +4 -0
  89. cognite/neat/_session/_html/templates/deployment.html +80 -0
  90. cognite/neat/_session/_html/templates/issues.html +45 -0
  91. cognite/neat/_session/_issues.py +81 -0
  92. cognite/neat/_session/_physical.py +294 -0
  93. cognite/neat/_session/_result/__init__.py +3 -0
  94. cognite/neat/_session/_result/_deployment/__init__.py +0 -0
  95. cognite/neat/_session/_result/_deployment/_physical/__init__.py +0 -0
  96. cognite/neat/_session/_result/_deployment/_physical/_changes.py +196 -0
  97. cognite/neat/_session/_result/_deployment/_physical/_statistics.py +180 -0
  98. cognite/neat/_session/_result/_deployment/_physical/serializer.py +35 -0
  99. cognite/neat/_session/_result/_result.py +31 -0
  100. cognite/neat/_session/_session.py +81 -0
  101. cognite/neat/_session/_usage_analytics/__init__.py +0 -0
  102. cognite/neat/_session/_usage_analytics/_collector.py +131 -0
  103. cognite/neat/_session/_usage_analytics/_constants.py +23 -0
  104. cognite/neat/_session/_usage_analytics/_storage.py +240 -0
  105. cognite/neat/_session/_wrappers.py +101 -0
  106. cognite/neat/_state_machine/__init__.py +10 -0
  107. cognite/neat/_state_machine/_base.py +37 -0
  108. cognite/neat/_state_machine/_states.py +52 -0
  109. cognite/neat/_store/__init__.py +3 -0
  110. cognite/neat/_store/_provenance.py +88 -0
  111. cognite/neat/_store/_store.py +220 -0
  112. cognite/neat/_utils/__init__.py +0 -0
  113. cognite/neat/_utils/_reader.py +194 -0
  114. cognite/neat/_utils/auxiliary.py +49 -0
  115. cognite/neat/_utils/collection.py +11 -0
  116. cognite/neat/_utils/http_client/__init__.py +39 -0
  117. cognite/neat/_utils/http_client/_client.py +245 -0
  118. cognite/neat/_utils/http_client/_config.py +19 -0
  119. cognite/neat/_utils/http_client/_data_classes.py +294 -0
  120. cognite/neat/_utils/http_client/_tracker.py +31 -0
  121. cognite/neat/_utils/repo.py +19 -0
  122. cognite/neat/_utils/text.py +71 -0
  123. cognite/neat/_utils/useful_types.py +37 -0
  124. cognite/neat/_utils/validation.py +154 -0
  125. cognite/neat/_v0/__init__.py +0 -0
  126. cognite/neat/_v0/core/__init__.py +0 -0
  127. cognite/neat/_v0/core/_client/_api/__init__.py +0 -0
  128. cognite/neat/{core → _v0/core}/_client/_api/data_modeling_loaders.py +8 -7
  129. cognite/neat/{core → _v0/core}/_client/_api/neat_instances.py +5 -5
  130. cognite/neat/{core → _v0/core}/_client/_api/schema.py +5 -5
  131. cognite/neat/{core → _v0/core}/_client/_api/statistics.py +3 -3
  132. cognite/neat/{core → _v0/core}/_client/_api_client.py +1 -1
  133. cognite/neat/_v0/core/_client/data_classes/__init__.py +0 -0
  134. cognite/neat/{core → _v0/core}/_client/data_classes/schema.py +4 -4
  135. cognite/neat/{core → _v0/core}/_client/testing.py +1 -1
  136. cognite/neat/{core → _v0/core}/_constants.py +5 -3
  137. cognite/neat/_v0/core/_data_model/__init__.py +0 -0
  138. cognite/neat/{core → _v0/core}/_data_model/_constants.py +7 -0
  139. cognite/neat/{core → _v0/core}/_data_model/_shared.py +4 -4
  140. cognite/neat/{core → _v0/core}/_data_model/analysis/_base.py +8 -8
  141. cognite/neat/{core → _v0/core}/_data_model/exporters/__init__.py +1 -2
  142. cognite/neat/{core → _v0/core}/_data_model/exporters/_base.py +7 -7
  143. cognite/neat/{core → _v0/core}/_data_model/exporters/_data_model2dms.py +9 -9
  144. cognite/neat/{core → _v0/core}/_data_model/exporters/_data_model2excel.py +12 -12
  145. cognite/neat/{core → _v0/core}/_data_model/exporters/_data_model2instance_template.py +4 -4
  146. cognite/neat/{core/_data_model/exporters/_data_model2ontology.py → _v0/core/_data_model/exporters/_data_model2semantic_model.py} +126 -116
  147. cognite/neat/{core → _v0/core}/_data_model/exporters/_data_model2yaml.py +1 -1
  148. cognite/neat/{core → _v0/core}/_data_model/importers/_base.py +5 -5
  149. cognite/neat/{core → _v0/core}/_data_model/importers/_base_file_reader.py +2 -2
  150. cognite/neat/{core → _v0/core}/_data_model/importers/_dict2data_model.py +5 -5
  151. cognite/neat/{core → _v0/core}/_data_model/importers/_dms2data_model.py +18 -15
  152. cognite/neat/{core → _v0/core}/_data_model/importers/_graph2data_model.py +12 -12
  153. cognite/neat/{core → _v0/core}/_data_model/importers/_rdf/_base.py +12 -12
  154. cognite/neat/{core → _v0/core}/_data_model/importers/_rdf/_inference2rdata_model.py +14 -14
  155. cognite/neat/{core → _v0/core}/_data_model/importers/_rdf/_owl2data_model.py +41 -21
  156. cognite/neat/{core → _v0/core}/_data_model/importers/_rdf/_shared.py +9 -9
  157. cognite/neat/{core → _v0/core}/_data_model/importers/_spreadsheet2data_model.py +92 -12
  158. cognite/neat/{core → _v0/core}/_data_model/models/__init__.py +3 -3
  159. cognite/neat/{core → _v0/core}/_data_model/models/_base_verified.py +5 -5
  160. cognite/neat/{core → _v0/core}/_data_model/models/_import_contexts.py +1 -1
  161. cognite/neat/{core → _v0/core}/_data_model/models/_types.py +5 -5
  162. cognite/neat/{core → _v0/core}/_data_model/models/conceptual/_unverified.py +16 -10
  163. cognite/neat/{core → _v0/core}/_data_model/models/conceptual/_validation.py +12 -12
  164. cognite/neat/{core → _v0/core}/_data_model/models/conceptual/_verified.py +9 -9
  165. cognite/neat/{core → _v0/core}/_data_model/models/data_types.py +14 -4
  166. cognite/neat/{core → _v0/core}/_data_model/models/entities/__init__.py +6 -0
  167. cognite/neat/_v0/core/_data_model/models/entities/_loaders.py +155 -0
  168. cognite/neat/{core → _v0/core}/_data_model/models/entities/_multi_value.py +2 -2
  169. cognite/neat/_v0/core/_data_model/models/entities/_restrictions.py +230 -0
  170. cognite/neat/{core → _v0/core}/_data_model/models/entities/_single_value.py +121 -16
  171. cognite/neat/{core → _v0/core}/_data_model/models/entities/_types.py +10 -0
  172. cognite/neat/{core → _v0/core}/_data_model/models/mapping/_classic2core.py +5 -5
  173. cognite/neat/{core → _v0/core}/_data_model/models/physical/__init__.py +1 -1
  174. cognite/neat/{core → _v0/core}/_data_model/models/physical/_exporter.py +26 -19
  175. cognite/neat/{core → _v0/core}/_data_model/models/physical/_unverified.py +133 -37
  176. cognite/neat/{core → _v0/core}/_data_model/models/physical/_validation.py +24 -20
  177. cognite/neat/{core → _v0/core}/_data_model/models/physical/_verified.py +95 -24
  178. cognite/neat/{core → _v0/core}/_data_model/transformers/_base.py +4 -4
  179. cognite/neat/{core → _v0/core}/_data_model/transformers/_converters.py +35 -28
  180. cognite/neat/{core → _v0/core}/_data_model/transformers/_mapping.py +7 -7
  181. cognite/neat/{core → _v0/core}/_data_model/transformers/_union_conceptual.py +5 -5
  182. cognite/neat/{core → _v0/core}/_data_model/transformers/_verification.py +7 -7
  183. cognite/neat/_v0/core/_instances/__init__.py +0 -0
  184. cognite/neat/{core → _v0/core}/_instances/_tracking/base.py +1 -1
  185. cognite/neat/{core → _v0/core}/_instances/_tracking/log.py +1 -1
  186. cognite/neat/{core → _v0/core}/_instances/extractors/__init__.py +3 -2
  187. cognite/neat/{core → _v0/core}/_instances/extractors/_base.py +6 -6
  188. cognite/neat/_v0/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  189. cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_base.py +7 -7
  190. cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_classic.py +12 -12
  191. cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_relationships.py +3 -3
  192. cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_sequences.py +2 -2
  193. cognite/neat/{core → _v0/core}/_instances/extractors/_dict.py +6 -3
  194. cognite/neat/{core → _v0/core}/_instances/extractors/_dms.py +6 -6
  195. cognite/neat/{core → _v0/core}/_instances/extractors/_dms_graph.py +11 -11
  196. cognite/neat/{core → _v0/core}/_instances/extractors/_mock_graph_generator.py +10 -10
  197. cognite/neat/{core → _v0/core}/_instances/extractors/_raw.py +3 -3
  198. cognite/neat/{core → _v0/core}/_instances/extractors/_rdf_file.py +7 -7
  199. cognite/neat/{core → _v0/core}/_instances/loaders/_base.py +5 -5
  200. cognite/neat/{core → _v0/core}/_instances/loaders/_rdf2dms.py +17 -17
  201. cognite/neat/{core → _v0/core}/_instances/loaders/_rdf_to_instance_space.py +11 -11
  202. cognite/neat/{core → _v0/core}/_instances/queries/_select.py +29 -3
  203. cognite/neat/{core → _v0/core}/_instances/queries/_update.py +1 -1
  204. cognite/neat/{core → _v0/core}/_instances/transformers/_base.py +4 -4
  205. cognite/neat/{core → _v0/core}/_instances/transformers/_classic_cdf.py +6 -6
  206. cognite/neat/{core → _v0/core}/_instances/transformers/_prune_graph.py +4 -4
  207. cognite/neat/{core → _v0/core}/_instances/transformers/_rdfpath.py +1 -1
  208. cognite/neat/{core → _v0/core}/_instances/transformers/_value_type.py +4 -4
  209. cognite/neat/{core → _v0/core}/_issues/_base.py +5 -5
  210. cognite/neat/{core → _v0/core}/_issues/_contextmanagers.py +1 -1
  211. cognite/neat/{core → _v0/core}/_issues/_factory.py +3 -3
  212. cognite/neat/{core → _v0/core}/_issues/errors/__init__.py +1 -1
  213. cognite/neat/{core → _v0/core}/_issues/errors/_external.py +1 -1
  214. cognite/neat/{core → _v0/core}/_issues/errors/_general.py +1 -1
  215. cognite/neat/{core → _v0/core}/_issues/errors/_properties.py +1 -1
  216. cognite/neat/{core → _v0/core}/_issues/errors/_resources.py +2 -2
  217. cognite/neat/{core → _v0/core}/_issues/errors/_wrapper.py +7 -3
  218. cognite/neat/{core → _v0/core}/_issues/warnings/__init__.py +1 -1
  219. cognite/neat/{core → _v0/core}/_issues/warnings/_external.py +1 -1
  220. cognite/neat/{core → _v0/core}/_issues/warnings/_general.py +1 -1
  221. cognite/neat/{core → _v0/core}/_issues/warnings/_models.py +2 -2
  222. cognite/neat/{core → _v0/core}/_issues/warnings/_properties.py +2 -2
  223. cognite/neat/{core → _v0/core}/_issues/warnings/_resources.py +1 -1
  224. cognite/neat/{core → _v0/core}/_issues/warnings/user_modeling.py +1 -1
  225. cognite/neat/{core → _v0/core}/_store/_data_model.py +12 -12
  226. cognite/neat/{core → _v0/core}/_store/_instance.py +43 -10
  227. cognite/neat/{core → _v0/core}/_store/_provenance.py +3 -3
  228. cognite/neat/{core → _v0/core}/_store/exceptions.py +4 -4
  229. cognite/neat/_v0/core/_utils/__init__.py +0 -0
  230. cognite/neat/{core → _v0/core}/_utils/auth.py +22 -12
  231. cognite/neat/{core → _v0/core}/_utils/auxiliary.py +1 -1
  232. cognite/neat/{core → _v0/core}/_utils/collection_.py +2 -2
  233. cognite/neat/{core → _v0/core}/_utils/graph_transformations_report.py +1 -1
  234. cognite/neat/{core → _v0/core}/_utils/rdf_.py +1 -1
  235. cognite/neat/{core → _v0/core}/_utils/reader/_base.py +1 -1
  236. cognite/neat/{core → _v0/core}/_utils/spreadsheet.py +18 -4
  237. cognite/neat/{core → _v0/core}/_utils/text.py +1 -1
  238. cognite/neat/{core → _v0/core}/_utils/upload.py +3 -3
  239. cognite/neat/{session → _v0}/engine/_load.py +1 -1
  240. cognite/neat/_v0/plugins/__init__.py +4 -0
  241. cognite/neat/_v0/plugins/_base.py +9 -0
  242. cognite/neat/_v0/plugins/_data_model.py +48 -0
  243. cognite/neat/{plugins → _v0/plugins}/_issues.py +1 -1
  244. cognite/neat/{plugins → _v0/plugins}/_manager.py +7 -16
  245. cognite/neat/{session → _v0/session}/_base.py +13 -15
  246. cognite/neat/{session → _v0/session}/_collector.py +1 -1
  247. cognite/neat/_v0/session/_diff.py +51 -0
  248. cognite/neat/{session → _v0/session}/_drop.py +3 -3
  249. cognite/neat/{session → _v0/session}/_explore.py +2 -2
  250. cognite/neat/{session → _v0/session}/_fix.py +2 -2
  251. cognite/neat/{session → _v0/session}/_inspect.py +3 -3
  252. cognite/neat/{session → _v0/session}/_mapping.py +3 -3
  253. cognite/neat/{session → _v0/session}/_plugin.py +4 -5
  254. cognite/neat/{session → _v0/session}/_prepare.py +8 -8
  255. cognite/neat/{session → _v0/session}/_read.py +34 -21
  256. cognite/neat/{session → _v0/session}/_set.py +8 -8
  257. cognite/neat/{session → _v0/session}/_show.py +5 -5
  258. cognite/neat/{session → _v0/session}/_state.py +10 -10
  259. cognite/neat/{session → _v0/session}/_subset.py +4 -4
  260. cognite/neat/{session → _v0/session}/_template.py +11 -11
  261. cognite/neat/{session → _v0/session}/_to.py +12 -12
  262. cognite/neat/{session → _v0/session}/_wizard.py +1 -1
  263. cognite/neat/{session → _v0/session}/exceptions.py +5 -5
  264. cognite/neat/_version.py +1 -1
  265. cognite/neat/legacy.py +6 -0
  266. cognite_neat-1.0.22.dist-info/METADATA +123 -0
  267. cognite_neat-1.0.22.dist-info/RECORD +329 -0
  268. cognite_neat-1.0.22.dist-info/WHEEL +4 -0
  269. cognite/neat/core/_data_model/models/entities/_loaders.py +0 -75
  270. cognite/neat/plugins/__init__.py +0 -3
  271. cognite/neat/plugins/data_model/importers/__init__.py +0 -5
  272. cognite/neat/plugins/data_model/importers/_base.py +0 -28
  273. cognite/neat/session/_session/_data_model/__init__.py +0 -3
  274. cognite/neat/session/_session/_data_model/_read.py +0 -193
  275. cognite/neat/session/_session/_data_model/_routes.py +0 -45
  276. cognite/neat/session/_session/_data_model/_show.py +0 -147
  277. cognite/neat/session/_session/_data_model/_write.py +0 -335
  278. cognite_neat-0.123.26.dist-info/METADATA +0 -144
  279. cognite_neat-0.123.26.dist-info/RECORD +0 -201
  280. cognite_neat-0.123.26.dist-info/WHEEL +0 -4
  281. cognite_neat-0.123.26.dist-info/licenses/LICENSE +0 -201
  282. /cognite/neat/{core → _client/init}/__init__.py +0 -0
  283. /cognite/neat/{core/_client/_api → _data_model}/__init__.py +0 -0
  284. /cognite/neat/{core/_client/data_classes → _data_model/deployer}/__init__.py +0 -0
  285. /cognite/neat/{core/_data_model → _data_model/exporters/_table_exporter}/__init__.py +0 -0
  286. /cognite/neat/{core/_instances → _data_model/importers/_table_importer}/__init__.py +0 -0
  287. /cognite/neat/{core/_instances/extractors/_classic_cdf → _data_model/models}/__init__.py +0 -0
  288. /cognite/neat/{core/_utils → _data_model/models/conceptual}/__init__.py +0 -0
  289. /cognite/neat/{plugins/data_model → _data_model/validation}/__init__.py +0 -0
  290. /cognite/neat/{session/_session → _session/_html}/__init__.py +0 -0
  291. /cognite/neat/{core → _v0/core}/_client/__init__.py +0 -0
  292. /cognite/neat/{core → _v0/core}/_client/data_classes/data_modeling.py +0 -0
  293. /cognite/neat/{core → _v0/core}/_client/data_classes/neat_sequence.py +0 -0
  294. /cognite/neat/{core → _v0/core}/_client/data_classes/statistics.py +0 -0
  295. /cognite/neat/{core → _v0/core}/_config.py +0 -0
  296. /cognite/neat/{core → _v0/core}/_data_model/analysis/__init__.py +0 -0
  297. /cognite/neat/{core → _v0/core}/_data_model/catalog/__init__.py +0 -0
  298. /cognite/neat/{core → _v0/core}/_data_model/catalog/classic_model.xlsx +0 -0
  299. /cognite/neat/{core → _v0/core}/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  300. /cognite/neat/{core → _v0/core}/_data_model/catalog/hello_world_pump.xlsx +0 -0
  301. /cognite/neat/{core → _v0/core}/_data_model/importers/__init__.py +0 -0
  302. /cognite/neat/{core → _v0/core}/_data_model/importers/_rdf/__init__.py +0 -0
  303. /cognite/neat/{core → _v0/core}/_data_model/models/_base_unverified.py +0 -0
  304. /cognite/neat/{core → _v0/core}/_data_model/models/conceptual/__init__.py +0 -0
  305. /cognite/neat/{core → _v0/core}/_data_model/models/entities/_constants.py +0 -0
  306. /cognite/neat/{core → _v0/core}/_data_model/models/entities/_wrapped.py +0 -0
  307. /cognite/neat/{core → _v0/core}/_data_model/models/mapping/__init__.py +0 -0
  308. /cognite/neat/{core → _v0/core}/_data_model/models/mapping/_classic2core.yaml +0 -0
  309. /cognite/neat/{core → _v0/core}/_data_model/transformers/__init__.py +0 -0
  310. /cognite/neat/{core → _v0/core}/_instances/_shared.py +0 -0
  311. /cognite/neat/{core → _v0/core}/_instances/_tracking/__init__.py +0 -0
  312. /cognite/neat/{core → _v0/core}/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  313. /cognite/neat/{core → _v0/core}/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  314. /cognite/neat/{core → _v0/core}/_instances/examples/__init__.py +0 -0
  315. /cognite/neat/{core → _v0/core}/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  316. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_assets.py +0 -0
  317. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  318. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_events.py +0 -0
  319. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_files.py +0 -0
  320. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_labels.py +0 -0
  321. /cognite/neat/{core → _v0/core}/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  322. /cognite/neat/{core → _v0/core}/_instances/loaders/__init__.py +0 -0
  323. /cognite/neat/{core → _v0/core}/_instances/queries/__init__.py +0 -0
  324. /cognite/neat/{core → _v0/core}/_instances/queries/_base.py +0 -0
  325. /cognite/neat/{core → _v0/core}/_instances/queries/_queries.py +0 -0
  326. /cognite/neat/{core → _v0/core}/_instances/transformers/__init__.py +0 -0
  327. /cognite/neat/{core → _v0/core}/_issues/__init__.py +0 -0
  328. /cognite/neat/{core → _v0/core}/_issues/formatters.py +0 -0
  329. /cognite/neat/{core → _v0/core}/_shared.py +0 -0
  330. /cognite/neat/{core → _v0/core}/_store/__init__.py +0 -0
  331. /cognite/neat/{core → _v0/core}/_utils/io_.py +0 -0
  332. /cognite/neat/{core → _v0/core}/_utils/reader/__init__.py +0 -0
  333. /cognite/neat/{core → _v0/core}/_utils/tarjan.py +0 -0
  334. /cognite/neat/{core → _v0/core}/_utils/time_.py +0 -0
  335. /cognite/neat/{core → _v0/core}/_utils/xml_.py +0 -0
  336. /cognite/neat/{session → _v0}/engine/__init__.py +0 -0
  337. /cognite/neat/{session → _v0}/engine/_import.py +0 -0
  338. /cognite/neat/{session → _v0}/engine/_interface.py +0 -0
  339. /cognite/neat/{session → _v0/session}/__init__.py +0 -0
  340. /cognite/neat/{session → _v0/session}/_experimental.py +0 -0
  341. /cognite/neat/{session → _v0/session}/_state/README.md +0 -0
@@ -0,0 +1,37 @@
1
+ from collections.abc import Hashable
2
+ from datetime import date, datetime, time, timedelta
3
+ from typing import Literal, TypeAlias, TypeVar
4
+
5
+ from pydantic import BaseModel
6
+ from pydantic.alias_generators import to_camel
7
+
8
+ JsonVal: TypeAlias = None | str | int | float | bool | dict[str, "JsonVal"] | list["JsonVal"]
9
+ PrimaryTypes: TypeAlias = str | int | float | bool
10
+
11
+ T_ID = TypeVar("T_ID", bound=Hashable)
12
+ # These are the types that openpyxl supports in cells
13
+ CellValueType: TypeAlias = str | int | float | bool | datetime | date | time | timedelta | None
14
+
15
+ # The format expected for excel sheets representing a data model
16
+ DataModelTableType: TypeAlias = dict[str, list[dict[str, CellValueType]]]
17
+ PrimitiveType: TypeAlias = str | int | float | bool
18
+
19
+
20
+ class BaseModelObject(BaseModel, alias_generator=to_camel, extra="ignore"):
21
+ """Base class for all object. This includes resources and nested objects."""
22
+
23
+ ...
24
+
25
+
26
+ T_Item = TypeVar("T_Item", bound=BaseModelObject)
27
+
28
+
29
+ class ReferenceObject(BaseModelObject, frozen=True, populate_by_name=True):
30
+ """Base class for all reference objects - these are identifiers."""
31
+
32
+ ...
33
+
34
+
35
+ T_Reference = TypeVar("T_Reference", bound=ReferenceObject, covariant=True)
36
+
37
+ ModusOperandi: TypeAlias = Literal["rebuild", "additive"]
@@ -0,0 +1,154 @@
1
+ from collections.abc import Callable, Mapping
2
+ from dataclasses import dataclass, field
3
+ from typing import Literal
4
+
5
+ from pydantic_core import ErrorDetails
6
+
7
+
8
+ def as_json_path(loc: tuple[str | int, ...]) -> str:
9
+ """Converts a location tuple to a JSON path.
10
+
11
+ Args:
12
+ loc: The location tuple to convert.
13
+
14
+ Returns:
15
+ A JSON path string.
16
+ """
17
+ if not loc:
18
+ return ""
19
+ # +1 to convert from 0-based to 1-based indexing
20
+ prefix = ""
21
+ if isinstance(loc[0], int):
22
+ prefix = "item"
23
+
24
+ suffix = ".".join([str(x) if isinstance(x, str) else f"[{x + 1}]" for x in loc]).replace(".[", "[")
25
+ return f"{prefix}{suffix}"
26
+
27
+
28
+ @dataclass
29
+ class ValidationContext:
30
+ """
31
+ Context for validation errors providing configuration for error message formatting.
32
+
33
+ This class configures how validation errors are reported, including location formatting,
34
+ field naming conventions, and how to present missing required fields.
35
+
36
+ Attributes:
37
+ parent_loc: Optional location tuple to prepend to each error location.
38
+ This is useful when the error is for a nested model and you want to include the location
39
+ of the parent model.
40
+ humanize_location: A function that converts a location tuple to a human-readable string.
41
+ The default is `as_json_path`, which converts the location to a JSON path.
42
+ This can for example be replaced when the location comes from an Excel table.
43
+ field_name: The name use for "field" in error messages. Default is "field". This can be changed to
44
+ "column" or "value" to better fit the context.
45
+ field_renaming: Optional mapping of field names to source names.
46
+ This is useful when the field names in the model are different from the names in the source.
47
+ For example, if the model field is "asset_id" but the source column is "Asset ID",
48
+ you can provide a mapping {"asset_id": "Asset ID"} to have the error messages use the source names.
49
+ missing_required_descriptor: How to describe missing required fields. Default is "missing".
50
+ Other option is "empty" which can be more suitable for table data.
51
+ """
52
+
53
+ parent_loc: tuple[int | str, ...] = field(default_factory=tuple)
54
+ humanize_location: Callable[[tuple[int | str, ...]], str] = as_json_path
55
+ field_name: Literal["field", "column", "value"] = "field"
56
+ field_renaming: Mapping[str, str] = field(default_factory=dict)
57
+ missing_required_descriptor: Literal["empty", "missing"] = "missing"
58
+
59
+
60
+ def humanize_validation_error(
61
+ error: ErrorDetails,
62
+ context: ValidationContext | None = None,
63
+ ) -> str:
64
+ """Converts a pydantic ErrorDetails object to a human-readable format.
65
+ This overwrites the default error messages from Pydantic to be better suited for NEAT users.
66
+ Args:
67
+ error: The ErrorDetails object to convert.
68
+ context: The context for humanizing the error.
69
+ Returns:
70
+ A human-readable error message.
71
+ """
72
+
73
+ context = context or ValidationContext()
74
+
75
+ loc = (*context.parent_loc, *error["loc"])
76
+ type_ = error["type"]
77
+
78
+ if type_ == "missing":
79
+ msg = f"Missing required {context.field_name}: {loc[-1]!r}"
80
+ elif type_ == "extra_forbidden":
81
+ msg = f"Unused {context.field_name}: {loc[-1]!r}"
82
+ elif type_ == "value_error":
83
+ msg = str(error["ctx"]["error"])
84
+ elif type_ == "literal_error":
85
+ msg = f"{error['msg']}. Got {error['input']!r}."
86
+ elif type_ == "string_type":
87
+ msg = f"{error['msg']}. Got {error['input']!r} of type {type(error['input']).__name__}. "
88
+ elif type_ == "model_type":
89
+ model_name = error["ctx"].get("class_name", "unknown")
90
+ msg = (
91
+ f"Input must be an object of type {model_name}. Got {error['input']!r} of "
92
+ f"type {type(error['input']).__name__}."
93
+ )
94
+ elif type_ == "union_tag_invalid":
95
+ msg = error["msg"].replace(", 'direct'", "").replace("found using 'type' ", "").replace("tag", "value")
96
+ elif type_ == "string_pattern_mismatch":
97
+ msg = f"string '{error['input']}' does not match the required pattern: '{error['ctx']['pattern']}'."
98
+
99
+ elif type_.endswith("_type"):
100
+ msg = f"{error['msg']}. Got {error['input']!r} of type {type(error['input']).__name__}."
101
+ else:
102
+ # Default to the Pydantic error message
103
+ msg = error["msg"]
104
+
105
+ if type_.endswith("dict_type") and len(loc) > 1:
106
+ # If this is a dict_type error for a JSON field, the location will be:
107
+ # dict[str,json-or-python[json=any,python=tagged-union[list[...],dict[str,...],str,bool,int,float,none]]]
108
+ # This is hard to read, so we simplify it to just the field name.
109
+ loc = tuple(["dict" if isinstance(x, str) and "json-or-python" in x else x for x in loc])
110
+
111
+ error_suffix = f"{msg[:1].casefold()}{msg[1:]}"
112
+
113
+ if len(loc) >= 3 and context.field_name == "column" and loc[-3:] == ("type", "enum", "values"):
114
+ # Special handling for enum errors in table columns
115
+ msg = _enum_message(type_, loc, context)
116
+ elif len(loc) > 1 and type_ in {"extra_forbidden", "missing"}:
117
+ if context.missing_required_descriptor == "empty" and type_ == "missing":
118
+ # This is a table so we modify the error message.
119
+ msg = (
120
+ f"In {context.humanize_location(loc[:-1])} the {context.field_name}"
121
+ f" {context.field_renaming.get(str(loc[-1]), loc[-1])!r} "
122
+ "cannot be empty."
123
+ )
124
+ else:
125
+ # We skip the last element as this is in the message already
126
+ msg = f"In {context.humanize_location(loc[:-1])} {error_suffix.replace('field', context.field_name)}"
127
+ elif len(loc) > 1:
128
+ if context.parent_loc == ("Metadata",) and len(loc) == 2:
129
+ msg = f"In table '{loc[0]}' '{loc[1]}' {error_suffix}"
130
+ else:
131
+ msg = f"In {context.humanize_location(loc)} {error_suffix}"
132
+ elif len(loc) == 1 and isinstance(loc[0], str) and type_ not in {"extra_forbidden", "missing"}:
133
+ msg = f"In {context.field_name} {loc[0]!r}, {error_suffix}"
134
+
135
+ msg = msg.strip()
136
+ if not msg.endswith("."):
137
+ msg += "."
138
+ return msg
139
+
140
+
141
+ def _enum_message(type_: str, loc: tuple[int | str, ...], context: ValidationContext) -> str:
142
+ """Special handling of enum errors in table columns."""
143
+
144
+ if loc[-1] != "values":
145
+ raise RuntimeError("This is a neat bug, report to the team.")
146
+ if type_ == "missing":
147
+ return (
148
+ f"In {context.humanize_location(loc[:-1])} definition should include "
149
+ "a reference to a collection in the 'Enum' sheet (e.g., collection='MyEnumCollection')."
150
+ )
151
+ elif type_ == "too_short":
152
+ return f"In {context.humanize_location(loc[:-1])} collection is not defined in the 'Enum' sheet"
153
+ else:
154
+ raise RuntimeError("This is a neat bug, report to the team.")
File without changes
File without changes
File without changes
@@ -1,3 +1,4 @@
1
+ import itertools
1
2
  import re
2
3
  import warnings
3
4
  from abc import ABC, abstractmethod
@@ -54,14 +55,14 @@ from cognite.client.data_classes.data_modeling.views import (
54
55
  from cognite.client.exceptions import CogniteAPIError
55
56
  from cognite.client.utils.useful_types import SequenceNotStr
56
57
 
57
- from cognite.neat.core._client.data_classes.data_modeling import Component
58
- from cognite.neat.core._client.data_classes.schema import DMSSchema
59
- from cognite.neat.core._issues.warnings import CDFMaxIterationsWarning
60
- from cognite.neat.core._shared import T_ID
61
- from cognite.neat.core._utils.tarjan import tarjan
58
+ from cognite.neat._v0.core._client.data_classes.data_modeling import Component
59
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
60
+ from cognite.neat._v0.core._issues.warnings import CDFMaxIterationsWarning
61
+ from cognite.neat._v0.core._shared import T_ID
62
+ from cognite.neat._v0.core._utils.tarjan import tarjan
62
63
 
63
64
  if TYPE_CHECKING:
64
- from cognite.neat.core._client._api_client import NeatClient
65
+ from cognite.neat._v0.core._client._api_client import NeatClient
65
66
 
66
67
  T_WritableCogniteResourceList = TypeVar("T_WritableCogniteResourceList", bound=WriteableCogniteResourceList)
67
68
 
@@ -238,7 +239,7 @@ class ResourceLoader(
238
239
  try:
239
240
  return self._update(items)
240
241
  except CogniteAPIError as e:
241
- failed_ids = {self.get_id(failed) for failed in e.failed + e.unknown}
242
+ failed_ids = {self.get_id(failed) for failed in itertools.chain(e.failed, e.unknown)}
242
243
  success_ids = [self.get_id(success) for success in e.successful]
243
244
  success_ = self.retrieve(success_ids)
244
245
  if success is None:
@@ -7,13 +7,13 @@ from cognite.client.data_classes.filters import Filter
7
7
  from cognite.client.exceptions import CogniteAPIError
8
8
  from cognite.client.utils.useful_types import SequenceNotStr
9
9
 
10
- from cognite.neat.core._constants import DMS_INSTANCE_LIMIT_MARGIN
11
- from cognite.neat.core._issues import NeatIssue
12
- from cognite.neat.core._issues.errors import WillExceedLimitError
13
- from cognite.neat.core._issues.warnings import NeatValueWarning
10
+ from cognite.neat._v0.core._constants import DMS_INSTANCE_LIMIT_MARGIN
11
+ from cognite.neat._v0.core._issues import NeatIssue
12
+ from cognite.neat._v0.core._issues.errors import WillExceedLimitError
13
+ from cognite.neat._v0.core._issues.warnings import NeatValueWarning
14
14
 
15
15
  if TYPE_CHECKING:
16
- from cognite.neat.core._client._api_client import NeatClient
16
+ from cognite.neat._v0.core._client._api_client import NeatClient
17
17
 
18
18
 
19
19
  class NeatInstancesAPI:
@@ -5,17 +5,17 @@ from typing import TYPE_CHECKING
5
5
 
6
6
  from cognite.client import data_modeling as dm
7
7
 
8
- from cognite.neat.core._client.data_classes.data_modeling import (
8
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
9
9
  ContainerApplyDict,
10
10
  SpaceApplyDict,
11
11
  ViewApplyDict,
12
12
  )
13
- from cognite.neat.core._client.data_classes.schema import DMSSchema
14
- from cognite.neat.core._constants import is_hierarchy_property
15
- from cognite.neat.core._issues.errors import NeatValueError
13
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
14
+ from cognite.neat._v0.core._constants import is_hierarchy_property
15
+ from cognite.neat._v0.core._issues.errors import NeatValueError
16
16
 
17
17
  if TYPE_CHECKING:
18
- from cognite.neat.core._client._api_client import NeatClient
18
+ from cognite.neat._v0.core._client._api_client import NeatClient
19
19
 
20
20
 
21
21
  class SchemaAPI:
@@ -7,7 +7,7 @@ from cognite.client.config import ClientConfig
7
7
  from cognite.client.data_classes.data_modeling.ids import _load_space_identifier
8
8
  from cognite.client.utils.useful_types import SequenceNotStr
9
9
 
10
- from cognite.neat.core._client.data_classes.statistics import (
10
+ from cognite.neat._v0.core._client.data_classes.statistics import (
11
11
  ProjectStatsAndLimits,
12
12
  SpaceInstanceCounts,
13
13
  SpaceInstanceCountsList,
@@ -34,7 +34,7 @@ class StatisticsAPI(APIClient):
34
34
  Examples:
35
35
  Fetch project statistics (and limits) and check the current number of data models vs.
36
36
  and how many more can be created:
37
- >>> from cognite.neat.core._client import NeatClient
37
+ >>> from cognite.neat._v0.core._client import NeatClient
38
38
  >>> client = NeatClient()
39
39
  >>> stats = client.instance_statistics.project()
40
40
  >>> num_dm = stats.data_models.current
@@ -64,7 +64,7 @@ class StatisticsAPI(APIClient):
64
64
 
65
65
  Examples:
66
66
  Fetch statistics for a single space:
67
- >>> from cognite.neat.core._client import NeatClient
67
+ >>> from cognite.neat._v0.core._client import NeatClient
68
68
  >>> client = NeatClient()
69
69
  >>> res = client.instance_statistics.list("my-space")
70
70
  Fetch statistics for multiple spaces:
@@ -1,6 +1,6 @@
1
1
  from cognite.client import ClientConfig, CogniteClient
2
2
 
3
- from cognite.neat.core._utils.auth import _CLIENT_NAME
3
+ from cognite.neat._v0.core._utils.auth import _CLIENT_NAME
4
4
 
5
5
  from ._api.data_modeling_loaders import DataModelLoaderAPI
6
6
  from ._api.neat_instances import NeatInstancesAPI
File without changes
@@ -20,21 +20,21 @@ from cognite.client.data_classes.data_modeling.views import (
20
20
  ViewPropertyApply,
21
21
  )
22
22
 
23
- from cognite.neat.core._client.data_classes.data_modeling import (
23
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
24
24
  CogniteResourceDict,
25
25
  ContainerApplyDict,
26
26
  NodeApplyDict,
27
27
  SpaceApplyDict,
28
28
  ViewApplyDict,
29
29
  )
30
- from cognite.neat.core._issues.errors import (
30
+ from cognite.neat._v0.core._issues.errors import (
31
31
  NeatYamlError,
32
32
  )
33
- from cognite.neat.core._issues.warnings import (
33
+ from cognite.neat._v0.core._issues.warnings import (
34
34
  FileTypeUnexpectedWarning,
35
35
  ResourcesDuplicatedWarning,
36
36
  )
37
- from cognite.neat.core._utils.text import to_camel_case
37
+ from cognite.neat._v0.core._utils.text import to_camel_case
38
38
 
39
39
  if sys.version_info >= (3, 11):
40
40
  from typing import Self
@@ -5,7 +5,7 @@ from unittest.mock import MagicMock
5
5
 
6
6
  from cognite.client.testing import CogniteClientMock
7
7
 
8
- from cognite.neat.core._client._api_client import NeatClient
8
+ from cognite.neat._v0.core._client._api_client import NeatClient
9
9
 
10
10
  from ._api.data_modeling_loaders import DataModelLoaderAPI
11
11
  from ._api.neat_instances import NeatInstancesAPI
@@ -11,7 +11,7 @@ from rdflib.namespace import DefinedNamespace
11
11
  from cognite import neat
12
12
 
13
13
  if TYPE_CHECKING:
14
- from cognite.neat.core._data_model.models.physical import PhysicalProperty
14
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
15
15
 
16
16
 
17
17
  def _is_in_notebook() -> bool:
@@ -204,7 +204,7 @@ BASE_MODEL = Literal["CogniteCore"]
204
204
 
205
205
  def get_asset_read_only_properties_with_connection() -> "list[PhysicalProperty]":
206
206
  """Gets the asset read-only properties with connection, i.e. Root and Path."""
207
- from cognite.neat.core._data_model.models.physical import PhysicalProperty
207
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
208
208
 
209
209
  return [PhysicalProperty.model_validate(item) for item in (_ASSET_ROOT_PROPERTY, _ASSET_PATH_PROPERTY)]
210
210
 
@@ -219,7 +219,7 @@ def get_base_concepts(
219
219
  total_concepts: The number of concepts to get. If None, all concepts are returned.
220
220
  """
221
221
  # Local import to avoid circular dependency issues
222
- from cognite.neat.core._issues.errors._general import NeatValueError
222
+ from cognite.neat._v0.core._issues.errors._general import NeatValueError
223
223
 
224
224
  if base_model == "CogniteCore":
225
225
  return [f"cdf_cdm:{concept}(version=v1)" for concept in COGNITE_CONCEPTS][:total_concepts]
@@ -274,3 +274,5 @@ DMS_RESERVED_PROPERTIES = frozenset(
274
274
  "endNode",
275
275
  }
276
276
  )
277
+
278
+ NAMED_GRAPH_NAMESPACE = Namespace("http://thisisneat.io/namedgraph/")
File without changes
@@ -43,6 +43,11 @@ class EntityTypes(StrEnum):
43
43
  prefix = "prefix"
44
44
  space = "space"
45
45
  container_index = "container_index"
46
+ container_constraint = "container_constraint"
47
+ concept_restriction = "conceptRestriction"
48
+ value_constraint = "valueConstraint"
49
+ cardinality_constraint = "cardinalityConstraint"
50
+ named_individual = "named_individual"
46
51
 
47
52
 
48
53
  def get_reserved_words(
@@ -124,6 +129,8 @@ SPLIT_ON_EQUAL_PATTERN = re.compile(r"=(?![^(]*\))")
124
129
  # Very special Edge Entity parsing
125
130
  SPLIT_ON_EDGE_ENTITY_ARGS_PATTERN = re.compile(r"(\btype\b|\bproperties\b|\bdirection\b)\s*=\s*([^,]+)")
126
131
 
132
+ CONSTRAINT_ID_MAX_LENGTH = 43
133
+
127
134
 
128
135
  class _Patterns:
129
136
  @cached_property
@@ -1,15 +1,15 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Generic, TypeAlias, TypeVar
3
3
 
4
- from cognite.neat.core._data_model.models import (
4
+ from cognite.neat._v0.core._data_model.models import (
5
5
  ConceptualDataModel,
6
6
  PhysicalDataModel,
7
7
  )
8
- from cognite.neat.core._data_model.models._import_contexts import ImportContext
9
- from cognite.neat.core._data_model.models.conceptual._unverified import (
8
+ from cognite.neat._v0.core._data_model.models._import_contexts import ImportContext
9
+ from cognite.neat._v0.core._data_model.models.conceptual._unverified import (
10
10
  UnverifiedConceptualDataModel,
11
11
  )
12
- from cognite.neat.core._data_model.models.physical._unverified import (
12
+ from cognite.neat._v0.core._data_model.models.physical._unverified import (
13
13
  UnverifiedPhysicalDataModel,
14
14
  )
15
15
 
@@ -11,23 +11,23 @@ import pandas as pd
11
11
  from cognite.client import data_modeling as dm
12
12
  from rdflib import URIRef
13
13
 
14
- from cognite.neat.core._data_model.models import ConceptualDataModel, PhysicalDataModel
15
- from cognite.neat.core._data_model.models.conceptual import (
14
+ from cognite.neat._v0.core._data_model.models import ConceptualDataModel, PhysicalDataModel
15
+ from cognite.neat._v0.core._data_model.models.conceptual import (
16
16
  Concept,
17
17
  ConceptualProperty,
18
18
  )
19
- from cognite.neat.core._data_model.models.entities import (
19
+ from cognite.neat._v0.core._data_model.models.entities import (
20
20
  ConceptEntity,
21
21
  MultiValueTypeInfo,
22
22
  ViewEntity,
23
23
  )
24
- from cognite.neat.core._data_model.models.entities._single_value import (
24
+ from cognite.neat._v0.core._data_model.models.entities._single_value import (
25
25
  UnknownEntity,
26
26
  )
27
- from cognite.neat.core._data_model.models.physical import PhysicalProperty
28
- from cognite.neat.core._data_model.models.physical._verified import PhysicalView
29
- from cognite.neat.core._issues.errors import NeatValueError
30
- from cognite.neat.core._issues.warnings import NeatValueWarning
27
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
28
+ from cognite.neat._v0.core._data_model.models.physical._verified import PhysicalView
29
+ from cognite.neat._v0.core._issues.errors import NeatValueError
30
+ from cognite.neat._v0.core._issues.warnings import NeatValueWarning
31
31
 
32
32
  T_Hashable = TypeVar("T_Hashable", bound=Hashable)
33
33
 
@@ -2,7 +2,7 @@ from ._base import BaseExporter, CDFExporter
2
2
  from ._data_model2dms import DMSExporter
3
3
  from ._data_model2excel import ExcelExporter
4
4
  from ._data_model2instance_template import InstanceTemplateExporter
5
- from ._data_model2ontology import GraphExporter, OWLExporter, SemanticDataModelExporter, SHACLExporter
5
+ from ._data_model2semantic_model import GraphExporter, OWLExporter, SHACLExporter
6
6
  from ._data_model2yaml import YAMLExporter
7
7
 
8
8
  __all__ = [
@@ -14,7 +14,6 @@ __all__ = [
14
14
  "InstanceTemplateExporter",
15
15
  "OWLExporter",
16
16
  "SHACLExporter",
17
- "SemanticDataModelExporter",
18
17
  "YAMLExporter",
19
18
  ]
20
19
 
@@ -5,14 +5,14 @@ from pathlib import Path
5
5
  from types import UnionType
6
6
  from typing import TYPE_CHECKING, Generic, TypeVar, Union, get_args, get_origin
7
7
 
8
- from cognite.neat.core._client import NeatClient
9
- from cognite.neat.core._constants import DEFAULT_NAMESPACE
10
- from cognite.neat.core._data_model._shared import T_VerifiedDataModel
11
- from cognite.neat.core._utils.auxiliary import class_html_doc
12
- from cognite.neat.core._utils.upload import UploadResult, UploadResultList
8
+ from cognite.neat._v0.core._client import NeatClient
9
+ from cognite.neat._v0.core._constants import DEFAULT_NAMESPACE
10
+ from cognite.neat._v0.core._data_model._shared import T_VerifiedDataModel
11
+ from cognite.neat._v0.core._utils.auxiliary import class_html_doc
12
+ from cognite.neat._v0.core._utils.upload import UploadResult, UploadResultList
13
13
 
14
14
  if TYPE_CHECKING:
15
- from cognite.neat.core._store._provenance import Agent as ProvenanceAgent
15
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
16
16
 
17
17
  T_Export = TypeVar("T_Export")
18
18
 
@@ -36,7 +36,7 @@ class BaseExporter(ABC, Generic[T_VerifiedDataModel, T_Export]):
36
36
  @property
37
37
  def agent(self) -> "ProvenanceAgent":
38
38
  """Provenance agent for the importer."""
39
- from cognite.neat.core._store._provenance import Agent as ProvenanceAgent
39
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
40
40
 
41
41
  return ProvenanceAgent(id_=DEFAULT_NAMESPACE[f"agent/{type(self).__name__}"])
42
42
 
@@ -18,24 +18,24 @@ from cognite.client.data_classes.data_modeling import (
18
18
  )
19
19
  from cognite.client.exceptions import CogniteAPIError
20
20
 
21
- from cognite.neat.core._client import DataModelingLoader, NeatClient
22
- from cognite.neat.core._client._api.data_modeling_loaders import (
21
+ from cognite.neat._v0.core._client import DataModelingLoader, NeatClient
22
+ from cognite.neat._v0.core._client._api.data_modeling_loaders import (
23
23
  MultiCogniteAPIError,
24
24
  T_WritableCogniteResourceList,
25
25
  )
26
- from cognite.neat.core._client.data_classes.data_modeling import (
26
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
27
27
  Component,
28
28
  ViewApplyDict,
29
29
  )
30
- from cognite.neat.core._client.data_classes.schema import DMSSchema
31
- from cognite.neat.core._data_model.models.physical import PhysicalDataModel
32
- from cognite.neat.core._issues import IssueList
33
- from cognite.neat.core._issues.warnings import (
30
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
31
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalDataModel
32
+ from cognite.neat._v0.core._issues import IssueList
33
+ from cognite.neat._v0.core._issues.warnings import (
34
34
  PrincipleOneModelOneSpaceWarning,
35
35
  ResourceRetrievalWarning,
36
36
  )
37
- from cognite.neat.core._shared import T_ID
38
- from cognite.neat.core._utils.upload import UploadResult
37
+ from cognite.neat._v0.core._shared import T_ID
38
+ from cognite.neat._v0.core._utils.upload import UploadResult
39
39
 
40
40
  from ._base import CDFExporter
41
41
 
@@ -14,25 +14,25 @@ from openpyxl.worksheet.datavalidation import DataValidation
14
14
  from openpyxl.worksheet.worksheet import Worksheet
15
15
  from rdflib import Namespace
16
16
 
17
- from cognite.neat.core._constants import BASE_MODEL, get_base_concepts
18
- from cognite.neat.core._data_model._constants import get_internal_properties
19
- from cognite.neat.core._data_model._shared import VerifiedDataModel
20
- from cognite.neat.core._data_model.models import (
17
+ from cognite.neat._v0.core._constants import BASE_MODEL, get_base_concepts
18
+ from cognite.neat._v0.core._data_model._constants import get_internal_properties
19
+ from cognite.neat._v0.core._data_model._shared import VerifiedDataModel
20
+ from cognite.neat._v0.core._data_model.models import (
21
21
  SheetRow,
22
22
  )
23
- from cognite.neat.core._data_model.models._base_verified import (
23
+ from cognite.neat._v0.core._data_model.models._base_verified import (
24
24
  BaseVerifiedMetadata,
25
25
  RoleTypes,
26
26
  )
27
- from cognite.neat.core._data_model.models.conceptual._verified import (
27
+ from cognite.neat._v0.core._data_model.models.conceptual._verified import (
28
28
  ConceptualDataModel,
29
29
  )
30
- from cognite.neat.core._data_model.models.data_types import (
30
+ from cognite.neat._v0.core._data_model.models.data_types import (
31
31
  _DATA_TYPE_BY_DMS_TYPE,
32
32
  )
33
- from cognite.neat.core._data_model.models.physical._verified import PhysicalDataModel
34
- from cognite.neat.core._utils.spreadsheet import (
35
- find_column_with_value,
33
+ from cognite.neat._v0.core._data_model.models.physical._verified import PhysicalDataModel
34
+ from cognite.neat._v0.core._utils.spreadsheet import (
35
+ find_column_and_row_with_value,
36
36
  generate_data_validation,
37
37
  )
38
38
 
@@ -217,7 +217,7 @@ class ExcelExporter(BaseExporter[VerifiedDataModel, Workbook]):
217
217
  continue
218
218
  ws = workbook[sheet]
219
219
  for col in get_internal_properties():
220
- column_letter = find_column_with_value(ws, col)
220
+ column_letter = find_column_and_row_with_value(ws, col)[0]
221
221
  if column_letter:
222
222
  ws.column_dimensions[column_letter].hidden = True
223
223
 
@@ -451,7 +451,7 @@ class ExcelExporter(BaseExporter[VerifiedDataModel, Workbook]):
451
451
  workbook[sheet_name].add_data_validation(data_validators[data_validator_name])
452
452
 
453
453
  # APPLY VALIDATOR TO SPECIFIC COLUMN
454
- if column_letter := find_column_with_value(workbook[sheet_name], column_name):
454
+ if column_letter := find_column_and_row_with_value(workbook[sheet_name], column_name)[0]:
455
455
  data_validators[data_validator_name].add(f"{column_letter}{3}:{column_letter}{3 + total_rows}")
456
456
 
457
457
  def _create_sheet_with_header(
@@ -8,12 +8,12 @@ from openpyxl.styles import Alignment, Border, Font, NamedStyle, PatternFill, Si
8
8
  from openpyxl.utils import get_column_letter
9
9
  from openpyxl.worksheet.datavalidation import DataValidation
10
10
 
11
- from cognite.neat.core._data_model._constants import EntityTypes
12
- from cognite.neat.core._data_model.analysis import DataModelAnalysis
13
- from cognite.neat.core._data_model.models.conceptual._verified import (
11
+ from cognite.neat._v0.core._data_model._constants import EntityTypes
12
+ from cognite.neat._v0.core._data_model.analysis import DataModelAnalysis
13
+ from cognite.neat._v0.core._data_model.models.conceptual._verified import (
14
14
  ConceptualDataModel,
15
15
  )
16
- from cognite.neat.core._data_model.models.entities._single_value import ConceptEntity
16
+ from cognite.neat._v0.core._data_model.models.entities._single_value import ConceptEntity
17
17
 
18
18
  from ._base import BaseExporter
19
19