cognite-neat 0.88.3__py3-none-any.whl → 0.89.0__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.

Potentially problematic release.


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

Files changed (75) hide show
  1. cognite/neat/_version.py +1 -1
  2. cognite/neat/constants.py +3 -0
  3. cognite/neat/graph/extractors/_mock_graph_generator.py +2 -1
  4. cognite/neat/issues/_base.py +2 -1
  5. cognite/neat/issues/errors/__init__.py +2 -1
  6. cognite/neat/issues/errors/_general.py +7 -0
  7. cognite/neat/issues/warnings/_models.py +1 -1
  8. cognite/neat/issues/warnings/user_modeling.py +1 -1
  9. cognite/neat/rules/_shared.py +49 -6
  10. cognite/neat/rules/analysis/_base.py +1 -1
  11. cognite/neat/rules/exporters/_base.py +7 -18
  12. cognite/neat/rules/exporters/_rules2dms.py +8 -18
  13. cognite/neat/rules/exporters/_rules2excel.py +5 -12
  14. cognite/neat/rules/exporters/_rules2ontology.py +9 -19
  15. cognite/neat/rules/exporters/_rules2yaml.py +3 -6
  16. cognite/neat/rules/importers/_base.py +7 -52
  17. cognite/neat/rules/importers/_dms2rules.py +171 -115
  18. cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +26 -18
  19. cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +14 -30
  20. cognite/neat/rules/importers/_rdf/_imf2rules/_imf2classes.py +7 -3
  21. cognite/neat/rules/importers/_rdf/_imf2rules/_imf2metadata.py +3 -3
  22. cognite/neat/rules/importers/_rdf/_imf2rules/_imf2properties.py +18 -11
  23. cognite/neat/rules/importers/_rdf/_imf2rules/_imf2rules.py +9 -18
  24. cognite/neat/rules/importers/_rdf/_inference2rules.py +10 -33
  25. cognite/neat/rules/importers/_rdf/_owl2rules/_owl2rules.py +9 -20
  26. cognite/neat/rules/importers/_rdf/_shared.py +1 -1
  27. cognite/neat/rules/importers/_spreadsheet2rules.py +22 -86
  28. cognite/neat/rules/importers/_yaml2rules.py +14 -41
  29. cognite/neat/rules/models/__init__.py +21 -5
  30. cognite/neat/rules/models/_base_input.py +162 -0
  31. cognite/neat/rules/models/{_base.py → _base_rules.py} +1 -12
  32. cognite/neat/rules/models/asset/__init__.py +5 -2
  33. cognite/neat/rules/models/asset/_rules.py +2 -20
  34. cognite/neat/rules/models/asset/_rules_input.py +40 -115
  35. cognite/neat/rules/models/asset/_validation.py +1 -1
  36. cognite/neat/rules/models/data_types.py +150 -44
  37. cognite/neat/rules/models/dms/__init__.py +19 -7
  38. cognite/neat/rules/models/dms/_exporter.py +72 -26
  39. cognite/neat/rules/models/dms/_rules.py +42 -155
  40. cognite/neat/rules/models/dms/_rules_input.py +186 -254
  41. cognite/neat/rules/models/dms/_serializer.py +44 -3
  42. cognite/neat/rules/models/dms/_validation.py +3 -4
  43. cognite/neat/rules/models/domain.py +52 -1
  44. cognite/neat/rules/models/entities/__init__.py +63 -0
  45. cognite/neat/rules/models/entities/_constants.py +73 -0
  46. cognite/neat/rules/models/entities/_loaders.py +76 -0
  47. cognite/neat/rules/models/entities/_multi_value.py +67 -0
  48. cognite/neat/rules/models/{entities.py → entities/_single_value.py} +74 -232
  49. cognite/neat/rules/models/entities/_types.py +86 -0
  50. cognite/neat/rules/models/{wrapped_entities.py → entities/_wrapped.py} +1 -1
  51. cognite/neat/rules/models/information/__init__.py +10 -2
  52. cognite/neat/rules/models/information/_rules.py +3 -14
  53. cognite/neat/rules/models/information/_rules_input.py +57 -204
  54. cognite/neat/rules/models/information/_validation.py +1 -1
  55. cognite/neat/rules/transformers/__init__.py +21 -0
  56. cognite/neat/rules/transformers/_base.py +69 -3
  57. cognite/neat/rules/{models/information/_converter.py → transformers/_converters.py} +216 -20
  58. cognite/neat/rules/transformers/_map_onto.py +97 -0
  59. cognite/neat/rules/transformers/_pipelines.py +61 -0
  60. cognite/neat/rules/transformers/_verification.py +136 -0
  61. cognite/neat/store/_provenance.py +10 -1
  62. cognite/neat/utils/cdf/data_classes.py +20 -0
  63. cognite/neat/utils/regex_patterns.py +6 -0
  64. cognite/neat/workflows/steps/lib/current/rules_exporter.py +106 -37
  65. cognite/neat/workflows/steps/lib/current/rules_importer.py +24 -22
  66. {cognite_neat-0.88.3.dist-info → cognite_neat-0.89.0.dist-info}/METADATA +1 -1
  67. {cognite_neat-0.88.3.dist-info → cognite_neat-0.89.0.dist-info}/RECORD +71 -66
  68. cognite/neat/rules/models/_constants.py +0 -2
  69. cognite/neat/rules/models/_types/__init__.py +0 -19
  70. cognite/neat/rules/models/asset/_converter.py +0 -4
  71. cognite/neat/rules/models/dms/_converter.py +0 -143
  72. /cognite/neat/rules/models/{_types/_field.py → _types.py} +0 -0
  73. {cognite_neat-0.88.3.dist-info → cognite_neat-0.89.0.dist-info}/LICENSE +0 -0
  74. {cognite_neat-0.88.3.dist-info → cognite_neat-0.89.0.dist-info}/WHEEL +0 -0
  75. {cognite_neat-0.88.3.dist-info → cognite_neat-0.89.0.dist-info}/entry_points.txt +0 -0
@@ -5,7 +5,14 @@ from typing import ClassVar, Literal, cast
5
5
  from cognite.neat.issues.errors import WorkflowStepNotInitializedError
6
6
  from cognite.neat.rules import exporters
7
7
  from cognite.neat.rules._shared import DMSRules, InformationRules, VerifiedRules
8
- from cognite.neat.rules.models import RoleTypes
8
+ from cognite.neat.rules.models import AssetRules, RoleTypes
9
+ from cognite.neat.rules.transformers import (
10
+ AssetToInformation,
11
+ DMSToInformation,
12
+ InformationToAsset,
13
+ InformationToDMS,
14
+ RulesPipeline,
15
+ )
9
16
  from cognite.neat.workflows.model import FlowMessage, StepExecutionStatus
10
17
  from cognite.neat.workflows.steps.data_contracts import CogniteClient, MultiRuleData
11
18
  from cognite.neat.workflows.steps.step_model import Configurable, Step
@@ -75,26 +82,30 @@ class DeleteDataModelFromCDF(Step):
75
82
  error_text="No DMS Schema components selected for removal! Please select minimum one!",
76
83
  step_execution_status=StepExecutionStatus.ABORT_AND_FAIL,
77
84
  )
78
- input_rules = rules.dms or rules.information
85
+ input_rules = rules.dms or rules.information or rules.asset
79
86
  if input_rules is None:
80
87
  return FlowMessage(
81
88
  error_text="Missing DMS or Information rules in the input data! "
82
89
  "Please ensure that a DMS or Information rules is provided!",
83
90
  step_execution_status=StepExecutionStatus.ABORT_AND_FAIL,
84
91
  )
92
+ if isinstance(input_rules, DMSRules):
93
+ dms_rules = input_rules
94
+ elif isinstance(input_rules, InformationRules):
95
+ dms_rules = InformationToDMS().transform(input_rules).rules
96
+ elif isinstance(input_rules, AssetRules):
97
+ dms_rules = RulesPipeline[AssetRules, DMSRules]([AssetToInformation(), InformationToDMS()]).run(input_rules)
98
+ else:
99
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
85
100
 
86
101
  dms_exporter = exporters.DMSExporter(
87
102
  export_components=frozenset(components_to_delete),
88
- include_space=(
89
- None
90
- if multi_space_components_delete
91
- else {input_rules.metadata.space if isinstance(input_rules, DMSRules) else input_rules.metadata.prefix}
92
- ),
103
+ include_space=(None if multi_space_components_delete else {dms_rules.metadata.space}),
93
104
  )
94
105
 
95
106
  report_lines = ["# Data Model Deletion from CDF\n\n"]
96
107
  errors = []
97
- for result in dms_exporter.delete_from_cdf(rules=input_rules, client=cdf_client, dry_run=dry_run):
108
+ for result in dms_exporter.delete_from_cdf(rules=dms_rules, client=cdf_client, dry_run=dry_run):
98
109
  report_lines.append(str(result))
99
110
  errors.extend(result.error_messages)
100
111
 
@@ -192,14 +203,18 @@ class RulesToDMS(Step):
192
203
  "Please ensure that a DMS or Information rules is provided!",
193
204
  step_execution_status=StepExecutionStatus.ABORT_AND_FAIL,
194
205
  )
206
+ if isinstance(input_rules, DMSRules):
207
+ dms_rules = input_rules
208
+ elif isinstance(input_rules, InformationRules):
209
+ dms_rules = InformationToDMS().transform(input_rules).rules
210
+ elif isinstance(input_rules, AssetRules):
211
+ dms_rules = RulesPipeline[AssetRules, DMSRules]([AssetToInformation(), InformationToDMS()]).run(input_rules)
212
+ else:
213
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
195
214
 
196
215
  dms_exporter = exporters.DMSExporter(
197
216
  export_components=frozenset(components_to_create),
198
- include_space=(
199
- None
200
- if multi_space_components_create
201
- else {input_rules.metadata.space if isinstance(input_rules, DMSRules) else input_rules.metadata.prefix}
202
- ),
217
+ include_space=(None if multi_space_components_create else {dms_rules.metadata.space}),
203
218
  existing_handling=existing_components_handling,
204
219
  )
205
220
 
@@ -212,11 +227,11 @@ class RulesToDMS(Step):
212
227
  )
213
228
  schema_zip = f"{file_name}.zip"
214
229
  schema_full_path = output_dir / schema_zip
215
- dms_exporter.export_to_file(input_rules, schema_full_path)
230
+ dms_exporter.export_to_file(dms_rules, schema_full_path)
216
231
 
217
232
  report_lines = ["# DMS Schema Export to CDF\n\n"]
218
233
  errors = []
219
- for result in dms_exporter.export_to_cdf_iterable(rules=input_rules, client=cdf_client, dry_run=dry_run):
234
+ for result in dms_exporter.export_to_cdf_iterable(rules=dms_rules, client=cdf_client, dry_run=dry_run):
220
235
  report_lines.append(str(result))
221
236
  errors.extend(result.error_messages)
222
237
 
@@ -296,7 +311,7 @@ class RulesToExcel(Step):
296
311
  dump_format = self.configs.get("Dump Format", "user")
297
312
  styling = cast(exporters.ExcelExporter.Style, self.configs.get("Styling", "default"))
298
313
  role = self.configs.get("Output role format")
299
- output_role = None
314
+ output_role: RoleTypes | None = None
300
315
  if role != "input" and role is not None:
301
316
  output_role = RoleTypes[role]
302
317
 
@@ -310,13 +325,9 @@ class RulesToExcel(Step):
310
325
  step_execution_status=StepExecutionStatus.ABORT_AND_FAIL,
311
326
  )
312
327
 
313
- excel_exporter = exporters.ExcelExporter(
314
- styling=styling,
315
- output_role=output_role,
316
- dump_as=dump_format, # type: ignore[arg-type]
317
- new_model_id=new_model_id,
318
- )
328
+ excel_exporter = exporters.ExcelExporter(styling=styling, dump_as=dump_format, new_model_id=new_model_id) # type: ignore[arg-type]
319
329
 
330
+ # Todo - Move the conversion to a separate workflow step.
320
331
  rule_instance: VerifiedRules
321
332
  if rules.domain:
322
333
  rule_instance = rules.domain
@@ -324,9 +335,42 @@ class RulesToExcel(Step):
324
335
  rule_instance = rules.information
325
336
  elif rules.dms:
326
337
  rule_instance = rules.dms
338
+ elif rules.asset:
339
+ rule_instance = rules.asset
327
340
  else:
328
341
  output_errors = "No rules provided for export!"
329
342
  return FlowMessage(error_text=output_errors, step_execution_status=StepExecutionStatus.ABORT_AND_FAIL)
343
+
344
+ if rule_instance.metadata.role is output_role or output_role is None:
345
+ ...
346
+ elif output_role is RoleTypes.dms:
347
+ if isinstance(rule_instance, InformationRules):
348
+ rule_instance = InformationToDMS().transform(rule_instance).rules
349
+ elif isinstance(rule_instance, AssetRules):
350
+ rule_instance = RulesPipeline[AssetRules, DMSRules]([AssetToInformation(), InformationToDMS()]).run(
351
+ rule_instance
352
+ )
353
+ else:
354
+ raise NotImplementedError(f"Role {output_role} is not supported for {type(rules).__name__} rules")
355
+ elif output_role is RoleTypes.information:
356
+ if isinstance(rule_instance, DMSRules):
357
+ rule_instance = DMSToInformation().transform(rule_instance).rules
358
+ elif isinstance(rule_instance, AssetRules):
359
+ rule_instance = AssetToInformation().transform(rule_instance).rules
360
+ else:
361
+ raise NotImplementedError(f"Role {output_role} is not supported for {type(rules).__name__} rules")
362
+ elif output_role is RoleTypes.asset:
363
+ if isinstance(rule_instance, InformationRules):
364
+ rule_instance = InformationToAsset().transform(rule_instance).rules
365
+ elif isinstance(rule_instance, DMSRules):
366
+ rule_instance = RulesPipeline[DMSRules, AssetRules]([DMSToInformation(), InformationToAsset()]).run(
367
+ rule_instance
368
+ )
369
+ else:
370
+ raise NotImplementedError(f"Role {output_role} is not supported for {type(rules).__name__} rules")
371
+ else:
372
+ raise NotImplementedError(f"Role {output_role} is not supported for {type(rules).__name__} rules")
373
+
330
374
  if output_role is None:
331
375
  output_role = rule_instance.metadata.role
332
376
  output_dir = self.data_store_path / Path("staging")
@@ -384,8 +428,16 @@ class RulesToOntology(Step):
384
428
  )
385
429
  storage_path.parent.mkdir(parents=True, exist_ok=True)
386
430
 
431
+ input_rules = rules.information or rules.dms
432
+ if isinstance(input_rules, DMSRules):
433
+ info_rules = DMSToInformation().transform(input_rules).rules
434
+ elif isinstance(input_rules, InformationRules):
435
+ info_rules = input_rules
436
+ else:
437
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
438
+
387
439
  exporter = exporters.OWLExporter()
388
- exporter.export_to_file(cast(InformationRules | DMSRules, rules.information or rules.dms), storage_path)
440
+ exporter.export_to_file(info_rules, storage_path)
389
441
 
390
442
  relative_file_path = "/".join(storage_path.relative_to(self.data_store_path).parts)
391
443
 
@@ -435,8 +487,16 @@ class RulesToSHACL(Step):
435
487
  )
436
488
  storage_path.parent.mkdir(parents=True, exist_ok=True)
437
489
 
490
+ input_rules = rules.information or rules.dms
491
+ if isinstance(input_rules, DMSRules):
492
+ info_rules = DMSToInformation().transform(input_rules).rules
493
+ elif isinstance(input_rules, InformationRules):
494
+ info_rules = input_rules
495
+ else:
496
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
497
+
438
498
  exporter = exporters.SHACLExporter()
439
- exporter.export_to_file(cast(InformationRules | DMSRules, rules.information or rules.dms), storage_path)
499
+ exporter.export_to_file(info_rules, storage_path)
440
500
 
441
501
  relative_file_path = "/".join(storage_path.relative_to(self.data_store_path).parts)
442
502
 
@@ -485,9 +545,15 @@ class RulesToSemanticDataModel(Step):
485
545
  self.data_store_path / Path(self.configs["File path"]) if self.configs["File path"] else default_path
486
546
  )
487
547
  storage_path.parent.mkdir(parents=True, exist_ok=True)
488
-
548
+ input_rules = rules.information or rules.dms
549
+ if isinstance(input_rules, DMSRules):
550
+ info_rules = DMSToInformation().transform(input_rules).rules
551
+ elif isinstance(input_rules, InformationRules):
552
+ info_rules = input_rules
553
+ else:
554
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
489
555
  exporter = exporters.SemanticDataModelExporter()
490
- exporter.export_to_file(cast(InformationRules | DMSRules, rules.information or rules.dms), storage_path)
556
+ exporter.export_to_file(info_rules, storage_path)
491
557
 
492
558
  relative_file_path = "/".join(storage_path.relative_to(self.data_store_path).parts)
493
559
 
@@ -534,28 +600,31 @@ class RulesToCDFTransformations(Step):
534
600
  "Please ensure that a DMS or Information rules is provided!",
535
601
  step_execution_status=StepExecutionStatus.ABORT_AND_FAIL,
536
602
  )
537
- default_instance_space = (
538
- input_rules.metadata.space if isinstance(input_rules, DMSRules) else input_rules.metadata.prefix
539
- )
540
- instance_space = self.configs.get("Instance space") or default_instance_space
603
+ if isinstance(input_rules, DMSRules):
604
+ dms_rules = input_rules
605
+ elif isinstance(input_rules, InformationRules):
606
+ dms_rules = InformationToDMS().transform(input_rules).rules
607
+ elif isinstance(input_rules, AssetRules):
608
+ dms_rules = RulesPipeline[AssetRules, DMSRules]([AssetToInformation(), InformationToDMS()]).run(input_rules)
609
+ else:
610
+ raise NotImplementedError(f"Unsupported rules type {type(input_rules)}")
611
+
612
+ instance_space = self.configs.get("Instance space") or dms_rules.metadata.space
541
613
  dry_run = self.configs.get("Dry run", "False") == "True"
542
614
  dms_exporter = exporters.DMSExporter(
543
615
  export_pipeline=True, instance_space=instance_space, export_components=["spaces"]
544
616
  )
545
617
  output_dir = self.config.staging_path
546
618
  output_dir.mkdir(parents=True, exist_ok=True)
547
- file_name = (
548
- input_rules.metadata.external_id
549
- if isinstance(input_rules, DMSRules)
550
- else input_rules.metadata.name.replace(" ", "_").lower()
551
- )
619
+ file_name = dms_rules.metadata.external_id.replace(":", "_")
552
620
  schema_zip = f"{file_name}_pipeline.zip"
553
621
  schema_full_path = output_dir / schema_zip
554
- dms_exporter.export_to_file(input_rules, schema_full_path)
622
+
623
+ dms_exporter.export_to_file(dms_rules, schema_full_path)
555
624
 
556
625
  report_lines = ["# DMS Schema Export to CDF\n\n"]
557
626
  errors = []
558
- for result in dms_exporter.export_to_cdf_iterable(rules=input_rules, client=cdf_client, dry_run=dry_run):
627
+ for result in dms_exporter.export_to_cdf_iterable(rules=dms_rules, client=cdf_client, dry_run=dry_run):
559
628
  report_lines.append(str(result))
560
629
  errors.extend(result.error_messages)
561
630
 
@@ -8,8 +8,10 @@ from cognite.client.data_classes.data_modeling import DataModelId
8
8
  from cognite.neat.issues.errors import WorkflowStepNotInitializedError
9
9
  from cognite.neat.issues.formatters import FORMATTER_BY_NAME
10
10
  from cognite.neat.rules import importers
11
+ from cognite.neat.rules._shared import InputRules
11
12
  from cognite.neat.rules.models import RoleTypes
12
13
  from cognite.neat.rules.models.entities import DataModelEntity, DMSUnknownEntity
14
+ from cognite.neat.rules.transformers import ImporterPipeline
13
15
  from cognite.neat.workflows.model import FlowMessage, StepExecutionStatus
14
16
  from cognite.neat.workflows.steps.data_contracts import MultiRuleData
15
17
  from cognite.neat.workflows.steps.step_model import Configurable, Step
@@ -70,17 +72,17 @@ class ExcelToRules(Step):
70
72
 
71
73
  # if role is None, it will be inferred from the rules file
72
74
  role = self.configs.get("Role")
73
- role_enum = None
75
+ role_enum: RoleTypes | None = None
74
76
  if role != "infer" and role is not None:
75
77
  role_enum = RoleTypes[role]
76
78
 
77
- excel_importer = importers.ExcelImporter(rules_file_path)
78
- rules, issues = excel_importer.to_rules(errors="continue", role=role_enum)
79
+ excel_importer = importers.ExcelImporter[InputRules](rules_file_path)
80
+ result = ImporterPipeline.try_verify(excel_importer, role_enum)
79
81
 
80
- if rules is None:
82
+ if result.rules is None:
81
83
  output_dir = self.config.staging_path
82
84
  report_writer = FORMATTER_BY_NAME[self.configs["Report formatter"]]()
83
- report_writer.write_to_file(issues, file_or_dir_path=output_dir)
85
+ report_writer.write_to_file(result.issues, file_or_dir_path=output_dir)
84
86
  report_file = report_writer.default_file_name
85
87
  error_text = (
86
88
  "<p></p>"
@@ -91,7 +93,7 @@ class ExcelToRules(Step):
91
93
 
92
94
  output_text = "Rules validation passed successfully!"
93
95
 
94
- return FlowMessage(output_text=output_text), MultiRuleData.from_rules(rules)
96
+ return FlowMessage(output_text=output_text), MultiRuleData.from_rules(result.rules)
95
97
 
96
98
 
97
99
  class OntologyToRules(Step):
@@ -144,12 +146,12 @@ class OntologyToRules(Step):
144
146
  role_enum = RoleTypes[role]
145
147
 
146
148
  ontology_importer = importers.OWLImporter(filepath=rules_file_path)
147
- rules, issues = ontology_importer.to_rules(errors="continue", role=role_enum)
149
+ result = ImporterPipeline.try_verify(ontology_importer, role_enum)
148
150
 
149
- if rules is None:
151
+ if result.rules is None:
150
152
  output_dir = self.config.staging_path
151
153
  report_writer = FORMATTER_BY_NAME[self.configs["Report formatter"]]()
152
- report_writer.write_to_file(issues, file_or_dir_path=output_dir)
154
+ report_writer.write_to_file(result.issues, file_or_dir_path=output_dir)
153
155
  report_file = report_writer.default_file_name
154
156
  error_text = (
155
157
  "<p></p>"
@@ -160,7 +162,7 @@ class OntologyToRules(Step):
160
162
 
161
163
  output_text = "Rules validation passed successfully!"
162
164
 
163
- return FlowMessage(output_text=output_text), MultiRuleData.from_rules(rules)
165
+ return FlowMessage(output_text=output_text), MultiRuleData.from_rules(result.rules)
164
166
 
165
167
 
166
168
  class IMFToRules(Step):
@@ -215,12 +217,12 @@ class IMFToRules(Step):
215
217
  role_enum = RoleTypes[role]
216
218
 
217
219
  ontology_importer = importers.IMFImporter(filepath=rules_file_path)
218
- rules, issues = ontology_importer.to_rules(errors="continue", role=role_enum)
220
+ result = ImporterPipeline.try_verify(ontology_importer, role_enum)
219
221
 
220
- if rules is None:
222
+ if result.rules is None:
221
223
  output_dir = self.config.staging_path
222
224
  report_writer = FORMATTER_BY_NAME[self.configs["Report formatter"]]()
223
- report_writer.write_to_file(issues, file_or_dir_path=output_dir)
225
+ report_writer.write_to_file(result.issues, file_or_dir_path=output_dir)
224
226
  report_file = report_writer.default_file_name
225
227
  error_text = (
226
228
  "<p></p>"
@@ -231,7 +233,7 @@ class IMFToRules(Step):
231
233
 
232
234
  output_text = "Rules validation passed successfully!"
233
235
 
234
- return FlowMessage(output_text=output_text), MultiRuleData.from_rules(rules)
236
+ return FlowMessage(output_text=output_text), MultiRuleData.from_rules(result.rules)
235
237
 
236
238
 
237
239
  class DMSToRules(Step):
@@ -305,12 +307,12 @@ class DMSToRules(Step):
305
307
  if role != "infer" and role is not None:
306
308
  role_enum = RoleTypes[role]
307
309
 
308
- rules, issues = dms_importer.to_rules(errors="continue", role=role_enum)
310
+ result = ImporterPipeline.try_verify(dms_importer, role_enum)
309
311
 
310
- if rules is None:
312
+ if result.rules is None:
311
313
  output_dir = self.config.staging_path
312
314
  report_writer = FORMATTER_BY_NAME[self.configs["Report formatter"]]()
313
- report_writer.write_to_file(issues, file_or_dir_path=output_dir)
315
+ report_writer.write_to_file(result.issues, file_or_dir_path=output_dir)
314
316
  report_file = report_writer.default_file_name
315
317
  error_text = (
316
318
  "<p></p>"
@@ -321,7 +323,7 @@ class DMSToRules(Step):
321
323
 
322
324
  output_text = "Rules import and validation passed successfully!"
323
325
 
324
- return FlowMessage(output_text=output_text), MultiRuleData.from_rules(rules)
326
+ return FlowMessage(output_text=output_text), MultiRuleData.from_rules(result.rules)
325
327
 
326
328
 
327
329
  class RulesInferenceFromRdfFile(Step):
@@ -388,12 +390,12 @@ class RulesInferenceFromRdfFile(Step):
388
390
  inference_importer = importers.InferenceImporter.from_rdf_file(
389
391
  rdf_file_path, max_number_of_instance=max_number_of_instance
390
392
  )
391
- rules, issues = inference_importer.to_rules(errors="continue", role=role_enum)
393
+ result = ImporterPipeline.try_verify(inference_importer, role_enum)
392
394
 
393
- if rules is None:
395
+ if result.rules is None:
394
396
  output_dir = self.config.staging_path
395
397
  report_writer = FORMATTER_BY_NAME[self.configs["Report formatter"]]()
396
- report_writer.write_to_file(issues, file_or_dir_path=output_dir)
398
+ report_writer.write_to_file(result.issues, file_or_dir_path=output_dir)
397
399
  report_file = report_writer.default_file_name
398
400
  error_text = (
399
401
  "<p></p>"
@@ -404,4 +406,4 @@ class RulesInferenceFromRdfFile(Step):
404
406
 
405
407
  output_text = "Rules validation passed successfully!"
406
408
 
407
- return FlowMessage(output_text=output_text), MultiRuleData.from_rules(rules)
409
+ return FlowMessage(output_text=output_text), MultiRuleData.from_rules(result.rules)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cognite-neat
3
- Version: 0.88.3
3
+ Version: 0.89.0
4
4
  Summary: Knowledge graph transformation
5
5
  Home-page: https://cognite-neat.readthedocs-hosted.com/
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  cognite/neat/__init__.py,sha256=AiexNcHdAHFbrrbo9c65gtil1dqx_SGraDH1PSsXjKE,126
2
2
  cognite/neat/_shared.py,sha256=RSaHm2eJceTlvb-hMMe4nHgoHdPYDfN3XcxDXo24k3A,1530
3
- cognite/neat/_version.py,sha256=n4HA9gqnPDJQQ2u0lCOtmkV4pXgTed2pvJLXhBU7Obg,23
3
+ cognite/neat/_version.py,sha256=0dsP1JW1TkWXOWQ5JFTW7tQopcf-xbHKy_C8NKkqYeA,23
4
4
  cognite/neat/app/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  cognite/neat/app/api/asgi/metrics.py,sha256=nxFy7L5cChTI0a-zkCiJ59Aq8yLuIJp5c9Dg0wRXtV0,152
6
6
  cognite/neat/app/api/configuration.py,sha256=L1DCtLZ1HZku8I2z-JWd5RDsXhIsboFsKwAMhkrm-bY,3600
@@ -39,7 +39,7 @@ cognite/neat/app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt,sha256
39
39
  cognite/neat/app/ui/neat-app/build/static/js/main.5a52cf09.js.map,sha256=Lf93Q5-M2-Yc8NTq59fJ7floyiT9f-ayFYFKDvnVZqU,3161888
40
40
  cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg,sha256=EYf9q9JoVJ1L1np-XloeEZXCmaibzKmmpXCKn_44xzA,240334
41
41
  cognite/neat/config.py,sha256=MbYOvlibOjODEPcCHNKwZHVjg9ft8kZSojnW4gQCiHQ,10116
42
- cognite/neat/constants.py,sha256=kuAOxPWvv4RzBISgNGoeyEXrt4B_VgMfxexDIOUEdMA,877
42
+ cognite/neat/constants.py,sha256=_Pkiux_g_YmrtqzkuvtahJ2PRJsd7LnvSTrzOn6Z1wQ,953
43
43
  cognite/neat/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
44
  cognite/neat/graph/_shared.py,sha256=9QRETdm7hvqIeiHv_n1xi1DUq91Nq7oRRpnPKE0Pnag,181
45
45
  cognite/neat/graph/_tracking/__init__.py,sha256=pYj7c-YAUIP4hvN-4mlWnwaeZFerzL9_gM-oZhex7cE,91
@@ -61,7 +61,7 @@ cognite/neat/graph/extractors/_classic_cdf/_relationships.py,sha256=VxmwnZ_vN_P1
61
61
  cognite/neat/graph/extractors/_classic_cdf/_sequences.py,sha256=sTtVPngffQw2fyvoRG1ABC2yFkepA6skFT1XdCzg4cU,5086
62
62
  cognite/neat/graph/extractors/_classic_cdf/_timeseries.py,sha256=zmVf5pO-G4ro3elKt0sCTfTtLulkEFoEahLgP9J5kKE,6581
63
63
  cognite/neat/graph/extractors/_dexpi.py,sha256=Q3whJpEi3uFMzJGAAeUfgRnAzz6ZHmtuEdVBWqsZsTM,9384
64
- cognite/neat/graph/extractors/_mock_graph_generator.py,sha256=2qHh3fJxxAR9QdR6TPu-6DOvcjJkjHF4bwZN7lulziY,14678
64
+ cognite/neat/graph/extractors/_mock_graph_generator.py,sha256=mw7tdqCEhaFxyzcKTWlXLj62KVo5D1rJFUPf6xqDKQU,14752
65
65
  cognite/neat/graph/extractors/_rdf_file.py,sha256=ialMCLv9WH5k6v1YMfozfcmAYhz8OVo9jVhsKMyQkDA,763
66
66
  cognite/neat/graph/loaders/__init__.py,sha256=TbeJqifd16JLOglPVNOeb6pN_w060UYag50KquBM_r0,769
67
67
  cognite/neat/graph/loaders/_base.py,sha256=5CpNsSj3WGCCjT2dC4GhnbArSD7DlWg_kXtze_ediLg,3614
@@ -77,10 +77,10 @@ cognite/neat/graph/transformers/_base.py,sha256=b37Ek-9njuM5pTR_3XhnxCMrg_ip_2BM
77
77
  cognite/neat/graph/transformers/_classic_cdf.py,sha256=6xX-OBSJT5DAQrTJ-nuhCfGNaSk5Iktxn-WIMfzEIqo,13189
78
78
  cognite/neat/graph/transformers/_rdfpath.py,sha256=VLtGJvTPT5SWhV98fuGGt0pptTXfzOOQSNehypsPHug,1861
79
79
  cognite/neat/issues/__init__.py,sha256=KkBEO-0Lg3vdvjrQtxKR6Wy2iV2mooc9utSO8-_9UuI,405
80
- cognite/neat/issues/_base.py,sha256=FXYyfNOFWIw5jniQHzjiQXoA6o37_bfVAEhB0yy2sXE,15113
81
- cognite/neat/issues/errors/__init__.py,sha256=gapkNMhT_yA6zS2kDteXhreuqfkpXVm8SSL5aT7EwT0,2041
80
+ cognite/neat/issues/_base.py,sha256=C8_FcjaMwloSpZgpkiHjtV1JeZF4Upw5bXpOd-1CyAY,15163
81
+ cognite/neat/issues/errors/__init__.py,sha256=t23ZnbWOZEhd77Ae_gpAxMPAIWOTbt7-wi6yeCmlGZE,2077
82
82
  cognite/neat/issues/errors/_external.py,sha256=TUdihRyr5amdGSzSU49hWz7N7BSPCTVo7glKFNDrc5w,1583
83
- cognite/neat/issues/errors/_general.py,sha256=g4wt8gAL16W29ApdGugcNOCsywi0Z5AywPa7jRxxPMs,672
83
+ cognite/neat/issues/errors/_general.py,sha256=Dtt4kEfNyj-CxpowsVVrq2eAwWEzx68JpPnS48QoY2U,787
84
84
  cognite/neat/issues/errors/_properties.py,sha256=7To9RvOyBzspZrs4jG3kAYJ3bzmMjDld_2lXDTWkUgM,2299
85
85
  cognite/neat/issues/errors/_resources.py,sha256=SqzHY4Mtm-JEYSKZO8x4Mh7vOVWMV3nOEu1JrUVdjIc,3863
86
86
  cognite/neat/issues/errors/_workflow.py,sha256=nC3sxqlJSyi-kmo2ZAfxEH23ZuNRMC-oBcwQcl_2hkU,950
@@ -88,96 +88,101 @@ cognite/neat/issues/formatters.py,sha256=QCk41VLlpq-R9uaHpINYceZkIUoI9m4pwSq_yWP
88
88
  cognite/neat/issues/warnings/__init__.py,sha256=ZnQIaA8WAG378DLjCTSrlGLtGO7A33453-7ShCaBqtw,2250
89
89
  cognite/neat/issues/warnings/_external.py,sha256=pauqW4VjKnfflUiz7J8EXtTdpXxCuCcE-EuzvXlPJuI,953
90
90
  cognite/neat/issues/warnings/_general.py,sha256=yLfooeTwq57LQPbvvVgMZDBZpyrnalXHlA6bu0lSqFg,601
91
- cognite/neat/issues/warnings/_models.py,sha256=60SSiGFwtoB2WX6s8fMf80dluIWR_y20GNGTgpL_1Ng,3040
91
+ cognite/neat/issues/warnings/_models.py,sha256=HIhn5_hICqE0sFiosI7HiJnn3gyJPkQxOk1kXpAdG-E,3026
92
92
  cognite/neat/issues/warnings/_properties.py,sha256=DPoUOlWJ0G5IllJEDHvVCTgngGkrzJDunoyzhW9RhGg,1511
93
93
  cognite/neat/issues/warnings/_resources.py,sha256=RpmZ-KLEyTTckfAG9IvQVslq8yjN9NPS9Q_Oa6Y3ps8,1788
94
- cognite/neat/issues/warnings/user_modeling.py,sha256=6bnXq-dw5T9li7Kdz47iYb9DxhrVoE403hnBqtEn2bg,3616
94
+ cognite/neat/issues/warnings/user_modeling.py,sha256=RwslCYWLZzmoX7zX8O2Ha5pgghbhIOLQCZyev5CppO8,3602
95
95
  cognite/neat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
96
  cognite/neat/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- cognite/neat/rules/_shared.py,sha256=yn6nsR4WtnS4ZCCDhgWiMEfL8RjnjDAlt6Cg3JoaWgM,722
97
+ cognite/neat/rules/_shared.py,sha256=BsOCCy0Ut2eOwOi04K-jVjse2jHRmsFaGYJHQ1puegg,1762
98
98
  cognite/neat/rules/analysis/__init__.py,sha256=1qQXgddwSmRjC5s22XfQhsn8XPYfwAV_2n6lqeWJmKc,141
99
99
  cognite/neat/rules/analysis/_asset.py,sha256=SCiDatwDPi80jj41yQAp740irRWijMKEtAObkwKOKYs,7322
100
- cognite/neat/rules/analysis/_base.py,sha256=jb9G2g59QaSZDwJmG1Kh9rq7CprvyrokTqfMytr0ZOk,16758
100
+ cognite/neat/rules/analysis/_base.py,sha256=Dn1tKwV0KZWvgXMsKeeI8F45cxojuSWLi5o24YLOE80,16764
101
101
  cognite/neat/rules/analysis/_information.py,sha256=TU9QbhtyhPVYqAxR-9L5awevl9i3q7x1Y25D5xb_Ciw,8085
102
102
  cognite/neat/rules/examples/__init__.py,sha256=nxIwueAcHgZhkYriGxnDLQmIyiT8PByPHbScjYKDKe0,374
103
103
  cognite/neat/rules/examples/wind-energy.owl,sha256=NuomCA9FuuLF0JlSuG3OKqD4VBcHgSjDKFLV17G1zV8,65934
104
104
  cognite/neat/rules/exporters/__init__.py,sha256=nRMUBUf7yr1QPjyITeX2rTLtLLawHv24hhRE39d2-e0,1109
105
- cognite/neat/rules/exporters/_base.py,sha256=TW4R1u568_-w1yrpmr0MGGJuJzGpsw1curdWM7nXhB4,1952
106
- cognite/neat/rules/exporters/_rules2dms.py,sha256=rPOXIJEzlJyPG1-fgEmappSwYmQ9E6T5-XX7E-ExeQY,14855
107
- cognite/neat/rules/exporters/_rules2excel.py,sha256=QFOPDOGfofyflWur_4XFBF3DmHJZtCLMYlFwlg_mu7I,14360
108
- cognite/neat/rules/exporters/_rules2ontology.py,sha256=o2ayPhIXfSYRdTXpYMD5fbYieOjRDlcWtCpHtlIkbNs,22040
109
- cognite/neat/rules/exporters/_rules2yaml.py,sha256=3VDCSvkwBQ0p58o0AcdURx0KatErQF5W0iI48601FHY,3050
105
+ cognite/neat/rules/exporters/_base.py,sha256=Er8G2DRNUtD1RbDOe9_c6H8cVwXbkTQzGfqof7J9OhA,1329
106
+ cognite/neat/rules/exporters/_rules2dms.py,sha256=UekIEl9m-ZHu7AjPr0yaDrAkE3AMJaTcL2dkYdE17Ko,14448
107
+ cognite/neat/rules/exporters/_rules2excel.py,sha256=aSxvCINP9wzrqeqI3DaS00BQibMhFEHcRH3Ka_QHoMY,14232
108
+ cognite/neat/rules/exporters/_rules2ontology.py,sha256=qrSY8se-AUABaJt_7NOH46Htoq6mXAEMO4eN3dCzvG8,21705
109
+ cognite/neat/rules/exporters/_rules2yaml.py,sha256=2yAkU3b4P4UYdsCyAZn5K2OwphnRXAl8ZwNek4EMfGU,2899
110
110
  cognite/neat/rules/exporters/_validation.py,sha256=A0kyrIEu51ZXl47CXmO4ZOT0whO5iKNwMY-BwMc2scA,680
111
111
  cognite/neat/rules/importers/__init__.py,sha256=z682_ktGKDjr52DIL6cPvOercZS6-TYD_ZDo-MGqtck,1207
112
- cognite/neat/rules/importers/_base.py,sha256=wYqsOOnWk2ehPnmF4fW0mThrBO9NMqRzRKlHCNAzNgA,4498
113
- cognite/neat/rules/importers/_dms2rules.py,sha256=TB1w66mUIu8fSyJDoLV6oJpJ9ZvGdIb-l8uHI2MdgsM,20329
112
+ cognite/neat/rules/importers/_base.py,sha256=G9apdRztiAdnzX3LyZ-SNaavXagvtta2BQXFqEOQw_g,2851
113
+ cognite/neat/rules/importers/_dms2rules.py,sha256=4RFk0hebKq2uiHMwoV9s8ZLU1ztWyTAQLo7sJHl2f_I,22900
114
114
  cognite/neat/rules/importers/_dtdl2rules/__init__.py,sha256=CNR-sUihs2mnR1bPMKs3j3L4ds3vFTsrl6YycExZTfU,68
115
115
  cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py,sha256=wW4saKva61Q_i17guY0dc4OseJDQfqHy_QZBtm0OD6g,12134
116
- cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py,sha256=14N78bA_Wvrsdo7c82FT3HUSXib10AmiEZKC54RwrAk,11712
117
- cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py,sha256=MIgFbbkwGR9IE8aE9sv3AlzUJKmT1PyCYcBKtXY4efE,6922
116
+ cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py,sha256=WklOdKq1p-w-j3bloDGX-eJIltyD_1mwo4aZbKY9UG4,11904
117
+ cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py,sha256=q5gWB6sI9HugEBginsAehoaw8nm45iNgQlBBaT0wLM8,6144
118
118
  cognite/neat/rules/importers/_dtdl2rules/spec.py,sha256=_uy-rO45Y-BJIp5p5dQVbVmjjVKYahkazJf-khVbT4E,12165
119
119
  cognite/neat/rules/importers/_rdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
120
  cognite/neat/rules/importers/_rdf/_imf2rules/__init__.py,sha256=4ZuX81E-Tp4Vf6g_6Pb0iStzOCy7RJ83yxhvo4UddXY,63
121
- cognite/neat/rules/importers/_rdf/_imf2rules/_imf2classes.py,sha256=xGV7eDUX0fm56RPXRMgAx8TfCy18fxbPegIqqdDzYk0,3462
122
- cognite/neat/rules/importers/_rdf/_imf2rules/_imf2metadata.py,sha256=_z8z22-wS6gZHO4Gl-dJ-jhfUoAFgShIN303mFCL7uU,959
123
- cognite/neat/rules/importers/_rdf/_imf2rules/_imf2properties.py,sha256=tLstxHJGQ9muWhGZ_he8zg0q-WtnqlJjVGa-ashcDI4,5671
124
- cognite/neat/rules/importers/_rdf/_imf2rules/_imf2rules.py,sha256=r1TGt96QwWVfV6nWgKUaSy64gsw0t6e_833x8sZqrM0,6605
125
- cognite/neat/rules/importers/_rdf/_inference2rules.py,sha256=ne-t8p6G484jY6U8ErFCW_5r6vDsOpK3GGj9l94ARcc,13882
121
+ cognite/neat/rules/importers/_rdf/_imf2rules/_imf2classes.py,sha256=bXlzybKhiCmhTs0PufOSRKXjQu-OkXlaVDidd-ZFdB8,3745
122
+ cognite/neat/rules/importers/_rdf/_imf2rules/_imf2metadata.py,sha256=AHRyyt25Av_MS4iWFw49MCabz49Ng1mDGyLKXufisFM,957
123
+ cognite/neat/rules/importers/_rdf/_imf2rules/_imf2properties.py,sha256=aF7Jy29Jo2hm8rybRDyBxoLGycOx3UsM6Gq-ztBF41Y,6170
124
+ cognite/neat/rules/importers/_rdf/_imf2rules/_imf2rules.py,sha256=YFLXYjzsKCGL4rxE8gllpJ1LKeVEkNwXscE3aCyxlYs,6289
125
+ cognite/neat/rules/importers/_rdf/_inference2rules.py,sha256=IZ7i5HeO7O3FA5JBrev0wVy8Sjcb8z3-pCoq0NjKuGk,13077
126
126
  cognite/neat/rules/importers/_rdf/_owl2rules/__init__.py,sha256=tdGcrgtozdQyST-pTlxIa4cLBNTLvtk1nNYR4vOdFSw,63
127
127
  cognite/neat/rules/importers/_rdf/_owl2rules/_owl2classes.py,sha256=VLlr2UHAia0xWaeg3tKJ3N0sq_nYur3UqcOXgjMYxzg,1934
128
128
  cognite/neat/rules/importers/_rdf/_owl2rules/_owl2metadata.py,sha256=3eTXm0irYJcjMV4H57xblP_iaNO_T0JErQuAYZfNaFA,2659
129
129
  cognite/neat/rules/importers/_rdf/_owl2rules/_owl2properties.py,sha256=2nuhRr7ZEEAEN94IFRYwrt_T4WqmQUzOpqrNuji_Vi4,2145
130
- cognite/neat/rules/importers/_rdf/_owl2rules/_owl2rules.py,sha256=cG8HIEI4onlh-7KB0sQK0ubgCDtwMrIPDJYJ6iToLWY,2837
131
- cognite/neat/rules/importers/_rdf/_shared.py,sha256=cAA0PUGHgfIBMq2obJyTL62tuLWFXTTM8OLO0NRBuCc,19765
132
- cognite/neat/rules/importers/_spreadsheet2rules.py,sha256=-0oYHo1PLeOblOB82SHFseAvuA-J2YcUUv52QPoC_YI,13537
133
- cognite/neat/rules/importers/_yaml2rules.py,sha256=OzeAU9fGw7LYuWz5MkSsBSC4sWYSnY4HxOzfdj520oI,4200
134
- cognite/neat/rules/models/__init__.py,sha256=DHitrcmu9in2F8NqBE1O2J4UU_-MAlY6sB1MfigY4IU,887
135
- cognite/neat/rules/models/_base.py,sha256=0wZgEDWLxKInQGw4ig3F_P_QP2FlUlMoanQvRMihHIg,11301
136
- cognite/neat/rules/models/_constants.py,sha256=OEc5d9CsULliffXVKuzfwumHQyrGJKtRA_HZ_tdM7LI,75
130
+ cognite/neat/rules/importers/_rdf/_owl2rules/_owl2rules.py,sha256=nH_hJGIEG9LKAjC7q5owggwGT40XLNiMctyxqN8u-dY,2510
131
+ cognite/neat/rules/importers/_rdf/_shared.py,sha256=qZuJm2LiB_eScbRkoTOL7Qf6CJQ124Dv2Kxylo-Rzts,19771
132
+ cognite/neat/rules/importers/_spreadsheet2rules.py,sha256=2GhBLEq6jyu2TbnX6MTlSx4LaWOdSfz213Lo45nTaM4,11036
133
+ cognite/neat/rules/importers/_yaml2rules.py,sha256=aap5Nso_7EBNrHtG4pt8tT4jNzCYUQz4twHdmqrGya8,3139
134
+ cognite/neat/rules/models/__init__.py,sha256=LlbugWml19SAewFRihYLW8v47zl_06cWvqX2F_R7KLw,1530
135
+ cognite/neat/rules/models/_base_input.py,sha256=xVgdtnXkoSncWc9wXr3yMl6ugVAUn1JpFoUOyMRNzuc,5865
136
+ cognite/neat/rules/models/_base_rules.py,sha256=hAOMx443i4jhsPKAECaepg8c1170IrpCZJ8mqMSJ8CI,10912
137
137
  cognite/neat/rules/models/_rdfpath.py,sha256=oyMpmL_t0R5Uocdm3CA9iDLT2ZJVr2BIuz4cxaUlabM,11881
138
- cognite/neat/rules/models/_types/__init__.py,sha256=l1tGxzE7ezNHIL72AoEvNHN2IFuitxOLxiHJG__s6t4,305
139
- cognite/neat/rules/models/_types/_field.py,sha256=VM40gfADOzw5UFy-olCBotComra0MsAafjyUlaIgFV8,2875
140
- cognite/neat/rules/models/asset/__init__.py,sha256=qNon0kHleCPo2eT82TmeBAfiDDdwdKNU-Xdewuz8JRA,231
141
- cognite/neat/rules/models/asset/_converter.py,sha256=PrTh9ZZkqSJBviiJE4xc3pClCsaWu2tTYOdgwg6_VOk,150
142
- cognite/neat/rules/models/asset/_rules.py,sha256=eYV32f31RZPFfp0yEEMTiMU-RGF1IQDBvYZOr9_gDTI,5911
143
- cognite/neat/rules/models/asset/_rules_input.py,sha256=LiT-85CVgDz2ng65CtrRa77r4rnmg3E4Q6DC7-gv0dE,6257
138
+ cognite/neat/rules/models/_types.py,sha256=VM40gfADOzw5UFy-olCBotComra0MsAafjyUlaIgFV8,2875
139
+ cognite/neat/rules/models/asset/__init__.py,sha256=Z2tQEABW-q66bmHNcxMuIxPmYQBcGdiSZt7fHGe01dQ,363
140
+ cognite/neat/rules/models/asset/_rules.py,sha256=NYQU2eXXIL2kyLk8RR0vsNamsycMk390o_UKUdsz9zE,5279
141
+ cognite/neat/rules/models/asset/_rules_input.py,sha256=2Skh7OVk2X5k7L62O8uZvLmpogJfQeYD7lZbzejEZRw,3375
144
142
  cognite/neat/rules/models/asset/_serializer.py,sha256=ixqRf9qEzvChgysRaDX4g_vHVDtRBCsPYC9sOn0-ShE,3365
145
- cognite/neat/rules/models/asset/_validation.py,sha256=vLaamjMHA_nlahD0pn-5mmkiW_81sMp1C5ejFtDp_Xc,2008
146
- cognite/neat/rules/models/data_types.py,sha256=mHTjWh47VzLwrr0w6dRf59LW7pTTGRTgsxvtW9p0JWw,6020
147
- cognite/neat/rules/models/dms/__init__.py,sha256=Wzyqzz2ZIjpUbDg04CMuuIAw-f2A02DayNeqO9R-2Hw,491
148
- cognite/neat/rules/models/dms/_converter.py,sha256=zbJYupVve2vLlj39ThY5dZPfV33hDkjWcah8r4lqu9M,5807
149
- cognite/neat/rules/models/dms/_exporter.py,sha256=EN0ifg3vzJzo3Xv0wPS40sphD6MONbV4POjLMEoYMls,25800
150
- cognite/neat/rules/models/dms/_rules.py,sha256=JEwqGMcTi0yHsJJZoUm3GRtMli-i3_SWPp1210F6cFQ,20751
151
- cognite/neat/rules/models/dms/_rules_input.py,sha256=bGarQoDNZmBuSZh_l7ARsZH86_hVWmlX73GmyOI3zGE,13645
143
+ cognite/neat/rules/models/asset/_validation.py,sha256=3goorodISq_mlyXroaivcMOZ-QV8sd27IK9-iGKnQ28,2014
144
+ cognite/neat/rules/models/data_types.py,sha256=jTYsWqQPuvwHytInRU0Y2TGF4aVBF83v0vp_SH9KgLA,9722
145
+ cognite/neat/rules/models/dms/__init__.py,sha256=CUqUlVjz4yZX_-61F-2ofSoV7N9MlSYx2N7vM-omp7E,640
146
+ cognite/neat/rules/models/dms/_exporter.py,sha256=YGFX6jCapxcWTcvhkQL821jMZ3lAEr3NkVZcgUiUeK4,28206
147
+ cognite/neat/rules/models/dms/_rules.py,sha256=iwCQx0MVQVe1R0bFIIdDD5unyuzQ7tIZDQM7NmdbJp8,14871
148
+ cognite/neat/rules/models/dms/_rules_input.py,sha256=v5-zlb4VJi5Q610rnPLU1aHKzXmGwoUTrDzAkJFfEQY,10911
152
149
  cognite/neat/rules/models/dms/_schema.py,sha256=lc6Q0EUchOAUSTRiJnWc6UPBz7LjCW5NEvIGwNakcSI,50724
153
- cognite/neat/rules/models/dms/_serializer.py,sha256=iqp2zyyf8jEcU-R3PERuN8nu248xIqyxiWj4owAn92g,6406
154
- cognite/neat/rules/models/dms/_validation.py,sha256=Qd3zggB84GUeB-bNKE52sG04GYWaMUqiF47lbzqwHoQ,15884
155
- cognite/neat/rules/models/domain.py,sha256=qG1387w6E4XIviOb7EwAjMaavUUQBweYlmYrZnj-FRI,2936
156
- cognite/neat/rules/models/entities.py,sha256=jImGRqBH9Ej43tOMNFKOqqDDqftIjW6zCqt_vCj6ylw,20903
157
- cognite/neat/rules/models/information/__init__.py,sha256=HR6g8xgyU53U7Ck8pPdbT70817Q4NC1r1pCRq5SA8iw,291
158
- cognite/neat/rules/models/information/_converter.py,sha256=tDgardgQFS6NLhs3CKEEv88C2J7xLaRF7aE9RBuM-S8,13948
159
- cognite/neat/rules/models/information/_rules.py,sha256=RwS1M2Pw_VNvlH2MhqcEUjZe-rkIBTva6JYDEaLFVfU,13447
160
- cognite/neat/rules/models/information/_rules_input.py,sha256=AOTslaehKZH67VJaJO5bu8tT-1iSQz2uwf9mWFpK_44,10580
150
+ cognite/neat/rules/models/dms/_serializer.py,sha256=2Cu9BSS5cNfOc-sUvIUc5da3vh5koKfoDcx4s_Tt-R4,8585
151
+ cognite/neat/rules/models/dms/_validation.py,sha256=lfEUs0l21t0UL6Jjk-7E1hTwrdUT48VsHrXAhOP0LzM,15822
152
+ cognite/neat/rules/models/domain.py,sha256=YtVb3JIkZfcA9qrMA-RapHMv-_Q40JtxrY1oLVOFev0,4298
153
+ cognite/neat/rules/models/entities/__init__.py,sha256=ORRN2bkgbotGKAzxU66ff5JrbWd9z6wCISjgICBpFdA,1501
154
+ cognite/neat/rules/models/entities/_constants.py,sha256=r_Knlqmmb6QFgiSS0Yb_9UrhwYnaSBCYy2Wt9gODLhw,2316
155
+ cognite/neat/rules/models/entities/_loaders.py,sha256=uzMRAULggTxrP3B27_78i6anui3br4Ck6o9vmctqxkk,2691
156
+ cognite/neat/rules/models/entities/_multi_value.py,sha256=3DejtsIWJOA96y9wZMhjDBP5lOxJH9l27YZUxr9JIEY,2060
157
+ cognite/neat/rules/models/entities/_single_value.py,sha256=7d4aGkIqLF9X43p_r1GIEIYxVYzlEnm8KwdkihXGtJs,16416
158
+ cognite/neat/rules/models/entities/_types.py,sha256=lilHNUyviUHuYHZOT0ogrCqAfEpA32M1VOzr_JwdhD8,2127
159
+ cognite/neat/rules/models/entities/_wrapped.py,sha256=FxC8HztW_tUUtuArAOwxyFfkdJnSEB4bgZoNmmmfiPk,7137
160
+ cognite/neat/rules/models/information/__init__.py,sha256=fVvgXt-JuyZCP_mLgIVaeKD9pdAXe2BWUxU_BZs8e5g,480
161
+ cognite/neat/rules/models/information/_rules.py,sha256=X-jKm1_c8ZwTrsSSS_RbF1jNlXm9dc38UIjQPk3WExQ,13051
162
+ cognite/neat/rules/models/information/_rules_input.py,sha256=wKBISvbJ5IsPhl72hsF4hmOiza8nqN-4tTczl-Mif-w,5274
161
163
  cognite/neat/rules/models/information/_serializer.py,sha256=yti9I_xJruxrib66YIBInhze___Io-oPTQH6uWDumPE,3503
162
- cognite/neat/rules/models/information/_validation.py,sha256=JCVCWlW4tZbamTdyQq5UIkramifImvW2UptUQNDLHkU,9224
163
- cognite/neat/rules/models/wrapped_entities.py,sha256=ThhjnNNrpgz0HeORIQ8Q894trxP73P7T_TuZj6qH2CU,7157
164
- cognite/neat/rules/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- cognite/neat/rules/transformers/_base.py,sha256=-6kGqdw1JkDjcLw9JVnlHOOQP01GP3bvlabBWSWx-G8,450
164
+ cognite/neat/rules/models/information/_validation.py,sha256=Fa5S-rQozSCkIDpS4dPQn7U0lM71DOecAMCqL8K8Uag,9230
165
+ cognite/neat/rules/transformers/__init__.py,sha256=Iun5-3uDmzUzcO4IFneJ453PWAx6F_c-5LhkvrIrSc0,666
166
+ cognite/neat/rules/transformers/_base.py,sha256=FABG_8Xg_LUZPwVLQmKvxlcIDtI5phGLpEGpxNcJWNM,3269
167
+ cognite/neat/rules/transformers/_converters.py,sha256=AuCvFjwYQWIQpg7OMuYmm0vqUNC9sd1Zc2Xnletm3LU,22295
168
+ cognite/neat/rules/transformers/_map_onto.py,sha256=eXPhontrcJdRm2ILopwkFoPcwfM8L-BNv-CapL30klg,4824
169
+ cognite/neat/rules/transformers/_pipelines.py,sha256=of3NJ4gsLeKr3NiTfBMQVl1J5b2IwI5JWm8FP7oQ3B4,2438
170
+ cognite/neat/rules/transformers/_verification.py,sha256=rPSeDKkpe-hCJ0iiBx6yycvSANwnCS78PUFTDYgmNcA,4448
166
171
  cognite/neat/store/__init__.py,sha256=G-VG_YwfRt1kuPao07PDJyZ3w_0-eguzLUM13n-Z_RA,64
167
172
  cognite/neat/store/_base.py,sha256=HC7PpqQV_KMxdF61aocwU3e7ljvpVHp4xvNwNKIrhBU,12442
168
- cognite/neat/store/_provenance.py,sha256=HIXa-p7yc2l3HFkQWMnGPhn-t_FROEG21thADGkgy0c,3590
173
+ cognite/neat/store/_provenance.py,sha256=sniVJhLmvj0ulKhoUZzFLwjAsp7cQyRPxunZtLmMW4A,3902
169
174
  cognite/neat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
175
  cognite/neat/utils/auth.py,sha256=k0sEfTpK_bamMjAkj7jN6n9yta8TaqHTFkZUjUgpwik,12770
171
176
  cognite/neat/utils/auxiliary.py,sha256=A--zKPcu9tdEjJDvIX_mFiTsYaMhOgo7PtBPQzeMkoc,5716
172
177
  cognite/neat/utils/cdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- cognite/neat/utils/cdf/data_classes.py,sha256=HWFpphCTHDkpnVwwtVb3gOLB76GKJ_F5XfLAf5wcd34,9615
178
+ cognite/neat/utils/cdf/data_classes.py,sha256=XdPsHfmE3G-4o1AT_rNRiT916kWRoUpOMfgCyYjI0xU,10461
174
179
  cognite/neat/utils/cdf/loaders/__init__.py,sha256=s2aPR5XLo6WZ0ybstAJlcGFYkA7CyHW1XO-NYpL0V6o,483
175
180
  cognite/neat/utils/cdf/loaders/_base.py,sha256=ryNC_AMXIESWXuTVJ-02L-HSVSpD6V49XdLTRYeFg70,1764
176
181
  cognite/neat/utils/cdf/loaders/_data_modeling.py,sha256=0jynnwZ7utnG2KIkVRJBNvDshUCzwX29LZuGSlm6qUM,13216
177
182
  cognite/neat/utils/cdf/loaders/_ingestion.py,sha256=QbF4ntaGUum6yTRTq9WNg8n49TQpfzF1T7H-Bx740ws,6326
178
183
  cognite/neat/utils/collection_.py,sha256=fX4eAMau5AsUs1Dm5PlzINxR64kUjncEEHeoL_JT9rU,582
179
184
  cognite/neat/utils/rdf_.py,sha256=VXDBQUt86vRntiGhejK35PlsbvKCUkuQQa1cMYz4SIc,5656
180
- cognite/neat/utils/regex_patterns.py,sha256=M01rIfK6aRexP60qIrbG0qwBYaHj_ukmMC5leatSlic,1950
185
+ cognite/neat/utils/regex_patterns.py,sha256=rXOBW9d-n_eAffm9zVRIPFB7ElLS8VDdsvFDsr01Q-M,2155
181
186
  cognite/neat/utils/spreadsheet.py,sha256=LI0c7dlW0zXHkHw0NvB-gg6Df6cDcE3FbiaHBYLXdzQ,2714
182
187
  cognite/neat/utils/text.py,sha256=PvTEsEjaTu8SE8yYaKUrce4msboMj933dK7-0Eey_rE,3652
183
188
  cognite/neat/utils/time_.py,sha256=O30LUiDH9TdOYz8_a9pFqTtJdg8vEjC3qHCk8xZblG8,345
@@ -201,8 +206,8 @@ cognite/neat/workflows/steps/lib/current/__init__.py,sha256=c22IznGdCSNCpXCi_yon
201
206
  cognite/neat/workflows/steps/lib/current/graph_extractor.py,sha256=VHZpeo-QB_qSJu2QuU9uISFgw8LgQGeMVvSc1KORw3c,4738
202
207
  cognite/neat/workflows/steps/lib/current/graph_loader.py,sha256=4FxE7A0ZCSwGmVP-dcWISwupBQo6TZzUr_1GMQ0klIM,1689
203
208
  cognite/neat/workflows/steps/lib/current/graph_store.py,sha256=UydcYMoF2d2m8gOKAtlul8yCfKS3jFJJCTF2psM2flg,1582
204
- cognite/neat/workflows/steps/lib/current/rules_exporter.py,sha256=QjJjXVFkI2mZiczyysaF264hehGeEWhSbIsK29Pho2w,23919
205
- cognite/neat/workflows/steps/lib/current/rules_importer.py,sha256=Azi7VreTw7b7KFIrNoXNfQgq2iwpwc3FVOHOo_GWASU,17787
209
+ cognite/neat/workflows/steps/lib/current/rules_exporter.py,sha256=qLMlB3MqTZhD5q9A8YypksUQ7kOhwi6qGnNXdky_G9w,27752
210
+ cognite/neat/workflows/steps/lib/current/rules_importer.py,sha256=ytyIDg9_2AZWxMvH1rE044QI8jab5kdHNR-FKyKBaXE,17978
206
211
  cognite/neat/workflows/steps/lib/current/rules_validator.py,sha256=phHSwyZzWQ0QK-2CFKUmFCQJU5lrWuZjmaDJUH8UYVg,5046
207
212
  cognite/neat/workflows/steps/lib/io/__init__.py,sha256=k7IPbIq3ey19oRc5sA_15F99-O6dxzqbm1LihGRRo5A,32
208
213
  cognite/neat/workflows/steps/lib/io/io_steps.py,sha256=N4d5lCh7UwBlVj-jL3RQEVA-NznfCUfT19Oh7kDIko0,16931
@@ -211,8 +216,8 @@ cognite/neat/workflows/steps_registry.py,sha256=FjMsFBlFFy82ABUzDnWoFidYODV3pp3c
211
216
  cognite/neat/workflows/tasks.py,sha256=dqlJwKAb0jlkl7abbY8RRz3m7MT4SK8-7cntMWkOYjw,788
212
217
  cognite/neat/workflows/triggers.py,sha256=_BLNplzoz0iic367u1mhHMHiUrCwP-SLK6_CZzfODX0,7071
213
218
  cognite/neat/workflows/utils.py,sha256=gKdy3RLG7ctRhbCRwaDIWpL9Mi98zm56-d4jfHDqP1E,453
214
- cognite_neat-0.88.3.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
215
- cognite_neat-0.88.3.dist-info/METADATA,sha256=ai_ZZOJ1z0ZKlVCp0syVwY4-vDGFqwdDzdoC4FR3PyU,9441
216
- cognite_neat-0.88.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
217
- cognite_neat-0.88.3.dist-info/entry_points.txt,sha256=61FPqiWb25vbqB0KI7znG8nsg_ibLHBvTjYnkPvNFso,50
218
- cognite_neat-0.88.3.dist-info/RECORD,,
219
+ cognite_neat-0.89.0.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
220
+ cognite_neat-0.89.0.dist-info/METADATA,sha256=Clo2UFQRsNCKjslhU42UhpuMSU4HvN1Kvj0Od0BYbm4,9441
221
+ cognite_neat-0.89.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
222
+ cognite_neat-0.89.0.dist-info/entry_points.txt,sha256=61FPqiWb25vbqB0KI7znG8nsg_ibLHBvTjYnkPvNFso,50
223
+ cognite_neat-0.89.0.dist-info/RECORD,,