cognite-neat 0.87.6__py3-none-any.whl → 0.88.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 (125) hide show
  1. cognite/neat/_version.py +1 -1
  2. cognite/neat/app/api/data_classes/rest.py +0 -19
  3. cognite/neat/app/api/explorer.py +6 -4
  4. cognite/neat/app/api/routers/crud.py +11 -21
  5. cognite/neat/app/api/routers/workflows.py +24 -94
  6. cognite/neat/graph/stores/_base.py +5 -0
  7. cognite/neat/rules/importers/_inference2rules.py +31 -35
  8. cognite/neat/workflows/steps/data_contracts.py +17 -43
  9. cognite/neat/workflows/steps/lib/current/graph_extractor.py +28 -24
  10. cognite/neat/workflows/steps/lib/current/graph_loader.py +4 -21
  11. cognite/neat/workflows/steps/lib/current/graph_store.py +18 -134
  12. cognite/neat/workflows/steps_registry.py +5 -7
  13. {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/METADATA +1 -1
  14. {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/RECORD +17 -125
  15. cognite/neat/app/api/routers/core.py +0 -91
  16. cognite/neat/app/api/routers/data_exploration.py +0 -336
  17. cognite/neat/app/api/routers/rules.py +0 -203
  18. cognite/neat/legacy/__init__.py +0 -0
  19. cognite/neat/legacy/graph/__init__.py +0 -3
  20. cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -20182
  21. cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -20163
  22. cognite/neat/legacy/graph/examples/__init__.py +0 -10
  23. cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  24. cognite/neat/legacy/graph/exceptions.py +0 -90
  25. cognite/neat/legacy/graph/extractors/__init__.py +0 -6
  26. cognite/neat/legacy/graph/extractors/_base.py +0 -14
  27. cognite/neat/legacy/graph/extractors/_dexpi.py +0 -44
  28. cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -403
  29. cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +0 -361
  30. cognite/neat/legacy/graph/loaders/__init__.py +0 -23
  31. cognite/neat/legacy/graph/loaders/_asset_loader.py +0 -511
  32. cognite/neat/legacy/graph/loaders/_base.py +0 -67
  33. cognite/neat/legacy/graph/loaders/_exceptions.py +0 -85
  34. cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
  35. cognite/neat/legacy/graph/loaders/core/labels.py +0 -58
  36. cognite/neat/legacy/graph/loaders/core/models.py +0 -136
  37. cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +0 -1046
  38. cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +0 -559
  39. cognite/neat/legacy/graph/loaders/rdf_to_dms.py +0 -309
  40. cognite/neat/legacy/graph/loaders/validator.py +0 -87
  41. cognite/neat/legacy/graph/models.py +0 -6
  42. cognite/neat/legacy/graph/stores/__init__.py +0 -13
  43. cognite/neat/legacy/graph/stores/_base.py +0 -400
  44. cognite/neat/legacy/graph/stores/_graphdb_store.py +0 -52
  45. cognite/neat/legacy/graph/stores/_memory_store.py +0 -43
  46. cognite/neat/legacy/graph/stores/_oxigraph_store.py +0 -151
  47. cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -247
  48. cognite/neat/legacy/graph/stores/_rdf_to_graph.py +0 -42
  49. cognite/neat/legacy/graph/transformations/__init__.py +0 -0
  50. cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -101
  51. cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -3
  52. cognite/neat/legacy/graph/transformations/query_generator/sparql.py +0 -575
  53. cognite/neat/legacy/graph/transformations/transformer.py +0 -322
  54. cognite/neat/legacy/rules/__init__.py +0 -0
  55. cognite/neat/legacy/rules/analysis.py +0 -231
  56. cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  57. cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
  58. cognite/neat/legacy/rules/examples/__init__.py +0 -18
  59. cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -124
  60. cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
  61. cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -224
  62. cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
  63. cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  64. cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
  65. cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
  66. cognite/neat/legacy/rules/examples/wind-energy.owl +0 -1511
  67. cognite/neat/legacy/rules/exceptions.py +0 -2972
  68. cognite/neat/legacy/rules/exporters/__init__.py +0 -20
  69. cognite/neat/legacy/rules/exporters/_base.py +0 -45
  70. cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -5
  71. cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -24
  72. cognite/neat/legacy/rules/exporters/_rules2dms.py +0 -885
  73. cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -213
  74. cognite/neat/legacy/rules/exporters/_rules2graphql.py +0 -183
  75. cognite/neat/legacy/rules/exporters/_rules2ontology.py +0 -524
  76. cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +0 -748
  77. cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -105
  78. cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -38
  79. cognite/neat/legacy/rules/exporters/_validation.py +0 -146
  80. cognite/neat/legacy/rules/importers/__init__.py +0 -22
  81. cognite/neat/legacy/rules/importers/_base.py +0 -66
  82. cognite/neat/legacy/rules/importers/_dict2rules.py +0 -158
  83. cognite/neat/legacy/rules/importers/_dms2rules.py +0 -194
  84. cognite/neat/legacy/rules/importers/_graph2rules.py +0 -308
  85. cognite/neat/legacy/rules/importers/_json2rules.py +0 -39
  86. cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -3
  87. cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +0 -239
  88. cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +0 -260
  89. cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +0 -217
  90. cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -290
  91. cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -45
  92. cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -20
  93. cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -39
  94. cognite/neat/legacy/rules/models/__init__.py +0 -5
  95. cognite/neat/legacy/rules/models/_base.py +0 -151
  96. cognite/neat/legacy/rules/models/raw_rules.py +0 -316
  97. cognite/neat/legacy/rules/models/rdfpath.py +0 -237
  98. cognite/neat/legacy/rules/models/rules.py +0 -1289
  99. cognite/neat/legacy/rules/models/tables.py +0 -9
  100. cognite/neat/legacy/rules/models/value_types.py +0 -118
  101. cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -89
  102. cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -152
  103. cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -139
  104. cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
  105. cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -65
  106. cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -116
  107. cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -67
  108. cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -64
  109. cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -95
  110. cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -111
  111. cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
  112. cognite/neat/workflows/migration/__init__.py +0 -0
  113. cognite/neat/workflows/migration/steps.py +0 -91
  114. cognite/neat/workflows/migration/wf_manifests.py +0 -33
  115. cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -7
  116. cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -82
  117. cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +0 -746
  118. cognite/neat/workflows/steps/lib/legacy/graph_loader.py +0 -606
  119. cognite/neat/workflows/steps/lib/legacy/graph_store.py +0 -307
  120. cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -58
  121. cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +0 -511
  122. cognite/neat/workflows/steps/lib/legacy/rules_importer.py +0 -612
  123. {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/LICENSE +0 -0
  124. {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/WHEEL +0 -0
  125. {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/entry_points.txt +0 -0
@@ -1,19 +1,14 @@
1
- import logging
2
- from pathlib import Path
3
- from typing import ClassVar, cast
1
+ from typing import ClassVar
4
2
 
5
- from cognite.neat.constants import DEFAULT_NAMESPACE, get_default_prefixes
6
- from cognite.neat.legacy.graph import stores
7
- from cognite.neat.workflows._exceptions import StepNotInitialized
3
+ from cognite.neat.graph.stores import NeatGraphStore
8
4
  from cognite.neat.workflows.model import FlowMessage
9
5
  from cognite.neat.workflows.steps.data_contracts import (
10
- RulesData,
11
- SolutionGraph,
12
- SourceGraph,
6
+ MultiRuleData,
7
+ NeatGraph,
13
8
  )
14
9
  from cognite.neat.workflows.steps.step_model import Configurable, Step
15
10
 
16
- __all__ = ["GraphStoreConfiguration", "GraphStoreReset"]
11
+ __all__ = ["GraphStoreConfiguration"]
17
12
 
18
13
  CATEGORY = __name__.split(".")[-1].replace("_", " ").title()
19
14
 
@@ -27,138 +22,27 @@ class GraphStoreConfiguration(Step):
27
22
  version = "private-beta"
28
23
  category = CATEGORY
29
24
  configurables: ClassVar[list[Configurable]] = [
30
- Configurable(
31
- name="Graph",
32
- value="source",
33
- label="Graph categorization, supported: source, solution ",
34
- options=["source", "solution"],
35
- ),
36
25
  Configurable(
37
26
  name="Graph store type",
38
- value=stores.OxiGraphStore.rdf_store_type,
39
- label="Graph store type, supported: oxigraph, memory,file, graphdb, sparql. ",
40
- options=["oxigraph", "memory", "file", "graphdb", "sparql"],
41
- ),
42
- Configurable(
43
- name="Disk storage directory",
44
- value="source-graph-store",
45
- label="Local directory that is used as local graph store.Only for oxigraph, file store types",
46
- ),
47
- Configurable(
48
- name="Query URL",
49
- value="",
50
- label="Query URL for SPARQL endpoint. Only for SPARQL store type",
51
- ),
52
- Configurable(
53
- name="Update URL",
54
- value="",
55
- label="Update URL for SPARQL endpoint. Only for SPARQL store type",
56
- ),
57
- Configurable(
58
- name="GraphDB API root URL",
59
- value="",
60
- label="Root url for GraphDB. Only for graphdb",
61
- ),
62
- Configurable(
63
- name="Init procedure",
64
- value="reset",
65
- label="Operations to be performed on the graph store as part of init and configuration process. \
66
- Supported options : reset, clear, none",
67
- options=["reset", "none"],
27
+ value="oxigraph",
28
+ label="Graph store type, supported: oxigraph, rdflib",
29
+ options=["oxigraph", "rdflib"],
68
30
  ),
69
31
  ]
70
32
 
71
33
  def run( # type: ignore[override]
72
- self, rules_data: RulesData | None = None
73
- ) -> (FlowMessage, SourceGraph | SolutionGraph): # type: ignore[syntax]
74
- if self.configs is None or self.data_store_path is None:
75
- raise StepNotInitialized(type(self).__name__)
76
- logging.info("Initializing graph")
77
- store_dir = self.data_store_path / Path(value) if (value := self.configs["Disk storage directory"]) else None
78
- store_type = self.configs["Graph store type"]
79
- graph_name_mapping = {"source": "SourceGraph", "solution": "SolutionGraph"}
34
+ self, rules_data: MultiRuleData | None = None
35
+ ) -> (FlowMessage, NeatGraph): # type: ignore[syntax]
36
+ store_type = self.configs.get("Graph store type", "oxigraph")
80
37
 
81
- graph_name = graph_name_mapping[self.configs["Graph"]]
82
- graph_store = cast(SourceGraph | SolutionGraph | None, self.flow_context.get(graph_name, None))
83
- if self.configs["Init procedure"] == "reset":
84
- logging.info("Resetting graph")
85
- reset_store(store_dir, graph_store.graph if graph_store else None)
86
- if graph_name in self.flow_context:
87
- del self.flow_context[graph_name]
88
- graph_store = None
89
- logging.info("Graph reset complete")
90
-
91
- prefixes = rules_data.rules.prefixes if rules_data else get_default_prefixes()
92
-
93
- if store_type == stores.OxiGraphStore.rdf_store_type and graph_store is not None:
94
- # OXIGRAPH doesn't like to be initialized twice without a good reason
95
- graph_store.graph.upsert_prefixes(prefixes)
96
- return FlowMessage(output_text="Stores already configured")
97
- try:
98
- store_cls = stores.STORE_BY_TYPE[store_type]
99
- except KeyError:
100
- return FlowMessage(output_text="Invalid store type")
101
-
102
- new_graph_store = store_cls(prefixes=prefixes, base_prefix="neat", namespace=DEFAULT_NAMESPACE)
103
- new_graph_store.init_graph(
104
- self.configs["Query URL"],
105
- self.configs["Update URL"],
106
- "neat-tnt",
107
- internal_storage_dir=store_dir,
108
- )
38
+ if store_type == "oxigraph":
39
+ store = NeatGraph(graph=NeatGraphStore.from_oxi_store(rules=rules_data.information if rules_data else None))
40
+ else:
41
+ store = NeatGraph(
42
+ graph=NeatGraphStore.from_memory_store(rules=rules_data.information if rules_data else None)
43
+ )
109
44
 
110
45
  return (
111
46
  FlowMessage(output_text="Graph store configured successfully"),
112
- (
113
- SourceGraph(graph=new_graph_store)
114
- if graph_name == "SourceGraph"
115
- else SolutionGraph(graph=new_graph_store)
116
- ),
117
- )
118
-
119
-
120
- def reset_store(data_store_dir: Path | None, graph_store: stores.NeatGraphStoreBase | None = None):
121
- if isinstance(graph_store, stores.OxiGraphStore):
122
- if graph_store:
123
- graph_store.close()
124
- graph_store.drop_graph_store_storage(data_store_dir)
125
- elif data_store_dir:
126
- graph_store.drop_graph_store_storage(data_store_dir)
127
- elif isinstance(graph_store, stores.GraphDBStore):
128
- if graph_store:
129
- graph_store.drop()
130
- graph_store.reinitialize_graph()
131
- return None
132
-
133
-
134
- class GraphStoreReset(Step):
135
- """
136
- This step resets graph stores to their initial state (clears all data)
137
- """
138
-
139
- description = "This step resets graph stores to their initial state (clears all data)."
140
- category = CATEGORY
141
- version = "private-alpha"
142
- configurables: ClassVar[list[Configurable]] = [
143
- Configurable(
144
- name="Graph",
145
- value="source",
146
- label="Graph store to be reset. Supported: solution, source ",
147
- options=["source", "solution"],
47
+ store,
148
48
  )
149
- ]
150
-
151
- def run(self) -> FlowMessage: # type: ignore[override, syntax]
152
- if self.configs is None or self.data_store_path is None:
153
- raise StepNotInitialized(type(self).__name__)
154
- graph_name_mapping = {"source": "SourceGraph", "solution": "SolutionGraph"}
155
-
156
- graph_name = graph_name_mapping[self.configs["Graph"]]
157
- graph_store = cast(SourceGraph | SolutionGraph | None, self.flow_context.get(graph_name, None))
158
- if graph_store is not None:
159
- reset_store(graph_store.graph.internal_storage_dir, graph_store.graph)
160
- if graph_name in self.flow_context:
161
- del self.flow_context[graph_name]
162
- return FlowMessage(output_text="Reset operation completed")
163
- else:
164
- return FlowMessage(output_text="Stores already reset")
@@ -12,7 +12,6 @@ from pydantic import BaseModel
12
12
  # steps
13
13
  import cognite.neat.workflows.steps.lib.current
14
14
  import cognite.neat.workflows.steps.lib.io
15
- import cognite.neat.workflows.steps.lib.legacy
16
15
  from cognite.neat.app.monitoring.metrics import NeatMetricsCollector
17
16
  from cognite.neat.config import Config
18
17
  from cognite.neat.exceptions import InvalidWorkFlowError
@@ -42,7 +41,11 @@ class StepsRegistry:
42
41
  self._step_classes: list[type[Step]] = []
43
42
  self.user_steps_path: Path = config.data_store_path / "steps"
44
43
  self.data_store_path: str = str(config.data_store_path)
45
- self.categorized_steps: dict[str, set] = {"legacy": set(), "current": set(), "io": set()}
44
+ self.categorized_steps: dict[str, set] = {
45
+ "legacy": set(),
46
+ "current": set(),
47
+ "io": set(),
48
+ }
46
49
 
47
50
  def load_step_classes(self):
48
51
  if self._step_classes:
@@ -58,11 +61,6 @@ class StepsRegistry:
58
61
  logging.info(f"Loading NEAT step {name}")
59
62
  self._step_classes.append(step_cls)
60
63
  self.categorized_steps["io"].add(name)
61
- for name, step_cls in inspect.getmembers(cognite.neat.workflows.steps.lib.legacy):
62
- if inspect.isclass(step_cls):
63
- logging.info(f"Loading NEAT step {name}")
64
- self._step_classes.append(step_cls)
65
- self.categorized_steps["legacy"].add(name)
66
64
  sys.path.append(str(Path(self.data_store_path) / "workflows"))
67
65
  try:
68
66
  if self.user_steps_path:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cognite-neat
3
- Version: 0.87.6
3
+ Version: 0.88.0
4
4
  Summary: Knowledge graph transformation
5
5
  Home-page: https://cognite-neat.readthedocs-hosted.com/
6
6
  License: Apache-2.0
@@ -1,21 +1,18 @@
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=zHK3D8i3mdcm2cU252645u9BQTB66eyTBLNGSit98n4,23
3
+ cognite/neat/_version.py,sha256=xuHXa-zClHFIs4q8BOe8iLbH5tyUvUQUVf-1smY6VQI,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
7
7
  cognite/neat/app/api/context_manager/__init__.py,sha256=2Wgf2S-Y44Z9Lbnml9e3X030H97ghbfTOrRxAUtrXaA,90
8
8
  cognite/neat/app/api/context_manager/manager.py,sha256=cVwFua80PXXM5k7nOHbynmywr_zcpcZh_NDLVmjpDwY,380
9
9
  cognite/neat/app/api/data_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- cognite/neat/app/api/data_classes/rest.py,sha256=yVWqFkBCDCGooOWaE5nun4No8B-PBa6svdenIjBINdo,1675
11
- cognite/neat/app/api/explorer.py,sha256=OlLI-RbQGjXEuDgtmFfBuTXfnRVemTJDKbL9VvXLr6Y,1891
10
+ cognite/neat/app/api/data_classes/rest.py,sha256=axMBDGcYkR-W-_XhPRNVQdwDJ-EyZJ_zg62GK8WxIZ4,1299
11
+ cognite/neat/app/api/explorer.py,sha256=m1MUbe7WLZmAUWeVa1ITiyhHIPJCb3a3bKVqoM4Xj3w,1772
12
12
  cognite/neat/app/api/routers/configuration.py,sha256=rg9GihPPYjgNj1n_wWqfASO4iMXWh_US5sgNJCwejCE,585
13
- cognite/neat/app/api/routers/core.py,sha256=WznuQHzGkhBzf_GrHFiaSCXewBiQcrT4O6kYaJtaBYA,3483
14
- cognite/neat/app/api/routers/crud.py,sha256=VCQMjvcLosELkmMZRiunyd-RK5sltQFjcCSrGk5kwXc,4597
15
- cognite/neat/app/api/routers/data_exploration.py,sha256=xTE2nK8qfnG7iqIYa4KaLByi_EZPpD6NXQg5HQtqDcg,13703
13
+ cognite/neat/app/api/routers/crud.py,sha256=a9ukRgVmH5SOIIJFpAOivlyUTJ79g5f9f493bzvHI_w,3944
16
14
  cognite/neat/app/api/routers/metrics.py,sha256=S_bUQk_GjfQq7WbEhSVdow4MUYBZ_bZNafzgcKogXK8,210
17
- cognite/neat/app/api/routers/rules.py,sha256=olITHs56xyGz7Lo7vOQWH3ju5iHtpy86vh4NzbVuxhQ,8125
18
- cognite/neat/app/api/routers/workflows.py,sha256=fPqNT0swH-sfcjD8PLK5NzKY1sVSU7GaCMkHfH78gxw,12393
15
+ cognite/neat/app/api/routers/workflows.py,sha256=eE3jqeK0WXtNE3XVJ9ZEGF147qRpOkEpSvDIByGnrVk,8873
19
16
  cognite/neat/app/api/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
17
  cognite/neat/app/api/utils/data_mapping.py,sha256=ocqRyeCLbk3gS1NrQQnDr0w-q-xbkqV60uLZzsJIdyE,564
21
18
  cognite/neat/app/api/utils/logging.py,sha256=WNmwcUOS0RRT_szeVwwu5CZ1dainx8iVXuVdtWT0n-M,806
@@ -79,7 +76,7 @@ cognite/neat/graph/queries/_base.py,sha256=82WJMT2SreLCKq00hujrk2H5W_w_Rq53bJQTK
79
76
  cognite/neat/graph/queries/_construct.py,sha256=lDquCxjiaUzL3G48ZQffrGJMcqPkWVtCdkfatgPAUKI,7208
80
77
  cognite/neat/graph/queries/_shared.py,sha256=qNABzfzj4qC_spr87n3-MdIvKTbbHQOkAiFRb7AaI0M,5328
81
78
  cognite/neat/graph/stores/__init__.py,sha256=G-VG_YwfRt1kuPao07PDJyZ3w_0-eguzLUM13n-Z_RA,64
82
- cognite/neat/graph/stores/_base.py,sha256=UrnrhusX8UMLENy7kX6LaVakmjR4-him00ljSYxy_DQ,12139
79
+ cognite/neat/graph/stores/_base.py,sha256=IpZuyJxfziuDEKl2F63hAyaMzY2u1wLxSD3Rvm2TPwI,12270
83
80
  cognite/neat/graph/stores/_oxrdflib.py,sha256=A5zeRm5_e8ui_ihGpgstRDg_N7qcLZ3QZBRGrOXSGI0,9569
84
81
  cognite/neat/graph/stores/_provenance.py,sha256=HIXa-p7yc2l3HFkQWMnGPhn-t_FROEG21thADGkgy0c,3590
85
82
  cognite/neat/graph/transformers/__init__.py,sha256=FMvlDEDJHrZL4Jb_H0AiJZO5uHXBCuLhB5HVDuinnBI,665
@@ -87,99 +84,6 @@ cognite/neat/graph/transformers/_base.py,sha256=b37Ek-9njuM5pTR_3XhnxCMrg_ip_2BM
87
84
  cognite/neat/graph/transformers/_classic_cdf.py,sha256=6xX-OBSJT5DAQrTJ-nuhCfGNaSk5Iktxn-WIMfzEIqo,13189
88
85
  cognite/neat/graph/transformers/_rdfpath.py,sha256=VfD0n-jT528jGHURygKAunX4dGysE05yNXIzI0azWtU,1754
89
86
  cognite/neat/issues.py,sha256=pxQfqfBseMDE8JM0iqZnkLXngeyeFfT0TFtu1UuAd4c,4629
90
- cognite/neat/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- cognite/neat/legacy/graph/__init__.py,sha256=31uTeejWOSd-I8iUG8GOZFhHZcQCsBitJ6X8vu2r1nU,73
92
- cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml,sha256=ujJip6XBs5n8enVDPzNnuGkMBwv8g21tIr1sEVJpK5M,1439359
93
- cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml,sha256=U2Ns-M4LRjT1fBkhmRj63ur7jDzlRtHK9yOLf_npZ_g,1437996
94
- cognite/neat/legacy/graph/examples/__init__.py,sha256=Pj_7Nwek6YrPkeH_vBeXo_VL0UQ0lbv2wE2kjEOfe50,470
95
- cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx,sha256=CV_yK5ZSbYS_ktfIZUPD8Sevs47zpswLXQUDFkGE4Gw,45798
96
- cognite/neat/legacy/graph/exceptions.py,sha256=R6pyOH774n9w2x_X_nrUr8OMAdjJMf_XPIqAvxIQaWo,3401
97
- cognite/neat/legacy/graph/extractors/__init__.py,sha256=wqCiqz-sXhUpTL5LRcrl_KFTNF0yTBRY4EzXT8pyCvA,258
98
- cognite/neat/legacy/graph/extractors/_base.py,sha256=ohiuEzwZ1Fh9ers07MCbjGOGQ0HLb-ctwgEvGy7o_AQ,363
99
- cognite/neat/legacy/graph/extractors/_dexpi.py,sha256=R4itgYxWUiPlZgRqUB4IrmLKzpsxhHrxSv7Gq4PeodM,1469
100
- cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py,sha256=sEV6P4a4OlFx_O-vtKoB1H-ex1RnD5VhqmBcazGfLwk,17695
101
- cognite/neat/legacy/graph/extractors/_mock_graph_generator.py,sha256=rBWiQGPsEBmI31UNU3v8ZoJO8BvY2ybGUualCGjemxE,14955
102
- cognite/neat/legacy/graph/loaders/__init__.py,sha256=Nap1LGaXA3AotL5U6pwY1Yc3J92Y7GC60qVPBhGl5LA,701
103
- cognite/neat/legacy/graph/loaders/_asset_loader.py,sha256=mFYIF7bzwsV7RcEoNgObW5NRj-as7XUJBs97QpogGRU,23873
104
- cognite/neat/legacy/graph/loaders/_base.py,sha256=oj1vo8dGPXxJORQXPa_kJa5G53VZBXOiIoWOngtMw5E,2383
105
- cognite/neat/legacy/graph/loaders/_exceptions.py,sha256=Ep59S5ExVG7phHpfcMEpHu82ApLbkIlvfQnWAt5p1sE,2835
106
- cognite/neat/legacy/graph/loaders/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
- cognite/neat/legacy/graph/loaders/core/labels.py,sha256=z_03w35RcAWtJFVV94jCobHlT1d2AfoJa8FgMSrHBeA,2321
108
- cognite/neat/legacy/graph/loaders/core/models.py,sha256=47KwgRuMAwTbDwPC_yRmyhhOVvqTiwgApQEPCFlmU24,5023
109
- cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py,sha256=-zHbYr16LM_gIuCxaaZY0-r0c1-env0Ms5t_j7pfdss,40645
110
- cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py,sha256=4_u4iaE3b0_cHr7sScJOLoEn6GEGIDqm21_38ukZJfw,22842
111
- cognite/neat/legacy/graph/loaders/rdf_to_dms.py,sha256=H_6ZsunCV9LAnm1oznVnzKmOCxgfjsB1kpc8pVBkJlo,13061
112
- cognite/neat/legacy/graph/loaders/validator.py,sha256=JiEp3gJUzJ8JIbb2crFfFCZ_3cGviXbb31aGusXAM_Y,3328
113
- cognite/neat/legacy/graph/models.py,sha256=AtLgZh2qyRP6NRetjQCy9qLMuTQB0CH52Zsev-qa2sk,149
114
- cognite/neat/legacy/graph/stores/__init__.py,sha256=ivvk7STSo-4wuP_CpizKUCPKmt_ufpNWRJUN9Bv5gdY,543
115
- cognite/neat/legacy/graph/stores/_base.py,sha256=TdB_3kHMmy_P6VV_ofYLsQy282kIJxmsssZORvPxens,14499
116
- cognite/neat/legacy/graph/stores/_graphdb_store.py,sha256=eSIz1wqMGMqb-agbaIGApvNXi6qayKXp2JilquWxw7k,1875
117
- cognite/neat/legacy/graph/stores/_memory_store.py,sha256=-2Z-Qa4zLGQgGocBrdroT0Z4AsZ_t6SWVhq_46FqBH4,1512
118
- cognite/neat/legacy/graph/stores/_oxigraph_store.py,sha256=Vm958VNLk3wlju47Xg6xI8nLJZH7IJT6SI1w0Go6LdI,5574
119
- cognite/neat/legacy/graph/stores/_oxrdflib.py,sha256=A5zeRm5_e8ui_ihGpgstRDg_N7qcLZ3QZBRGrOXSGI0,9569
120
- cognite/neat/legacy/graph/stores/_rdf_to_graph.py,sha256=JvgguFtlrLAaehFpSNzu6aGIxaXCbTp2Upu2LDyTzZg,1340
121
- cognite/neat/legacy/graph/transformations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- cognite/neat/legacy/graph/transformations/entity_matcher.py,sha256=CakXdgGMYXnyaihE1fFGWNcXSDuOV5F454m8URt00Rw,4765
123
- cognite/neat/legacy/graph/transformations/query_generator/__init__.py,sha256=9N7RIlM8Pf-mJXzK8ulBe-eAa3yeHYBsBFQF7geTgWE,73
124
- cognite/neat/legacy/graph/transformations/query_generator/sparql.py,sha256=dvzty2CoRsiTFqGsbqtVFJVwM1mD52P6BIRnmCfHTTc,19338
125
- cognite/neat/legacy/graph/transformations/transformer.py,sha256=Mtp9jG105B1J7lwA61FMEWuhOiuDtssMYchosJ2SMqk,14754
126
- cognite/neat/legacy/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
- cognite/neat/legacy/rules/analysis.py,sha256=-PWaFqzvMlUA6nrZissMvoQm8xwFqniIDApZSUWs9sA,8610
128
- cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx,sha256=KxiQxBdBWaXYvVAwUwVSazpDjHaG8CXamg24ZUf9Nqw,80404
129
- cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx,sha256=GyJQHv8Ec0Cvg_Qqf0jGiaHFpGOZzSEGaZd0HGdUkRY,78798
130
- cognite/neat/legacy/rules/examples/__init__.py,sha256=NrHDTZZTSOkxdX5JC83uJPY1oBpeBlAHHJvGeaBQkb0,851
131
- cognite/neat/legacy/rules/examples/power-grid-containers.yaml,sha256=dgAQ5KYT9_FHwsxPapvm00K4XJtKMbGmTs4-KnfpjDg,2782
132
- cognite/neat/legacy/rules/examples/power-grid-example.xlsx,sha256=gUklgEhawhJ-EquwZpNp7dFvrLGAOzbKIGh8hTObxMg,77055
133
- cognite/neat/legacy/rules/examples/power-grid-model.yaml,sha256=UBtwOBUkdSfkuNOOJhnOdpdPHx3Agx_BZHPMjMmTEU0,5767
134
- cognite/neat/legacy/rules/examples/rules-template.xlsx,sha256=buyxUbY5N5H52LgKST-D2FVvpjEMW4jC2chAHToknNI,75865
135
- cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx,sha256=_a93q8Yu7nv7Bq3I__RHD7pcdbfrv7urlp_AdgP2o3o,52433
136
- cognite/neat/legacy/rules/examples/skos-rules.xlsx,sha256=XjdBpbfUrJnniTCCQLOBW-8OmJyGpIT1Ig-DHQG3x04,26008
137
- cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx,sha256=LE8OvG1wo_9_Z5OuHrEQV-m01UgMwanfc9trsJHTpwI,79981
138
- cognite/neat/legacy/rules/examples/wind-energy.owl,sha256=NuomCA9FuuLF0JlSuG3OKqD4VBcHgSjDKFLV17G1zV8,65934
139
- cognite/neat/legacy/rules/exceptions.py,sha256=YLnsbXXJdDSr_szQoioEtOdqDV8PR7RdQjpMP2SWeCs,123868
140
- cognite/neat/legacy/rules/exporters/__init__.py,sha256=StzV_2Kx5e1GaZOW8ZGMgKZpdzq12rWscM8WGriN-Y8,574
141
- cognite/neat/legacy/rules/exporters/_base.py,sha256=OK2r3vJnZBA_OhANo3kI88rO4Y2gNSl171rf30reCjE,1453
142
- cognite/neat/legacy/rules/exporters/_core/__init__.py,sha256=XpimbyjA-Tub7ndk2r8yp__aXwdMwtKMuYMNsMKkAL8,102
143
- cognite/neat/legacy/rules/exporters/_core/rules2labels.py,sha256=CDcSwR7TsUGEIsYqtVh95hTArjIiGGMxS9BPZlbtiQY,771
144
- cognite/neat/legacy/rules/exporters/_rules2dms.py,sha256=SSm5CglpttjGOK0tQ3_F9HNoCT7Myo6l2XB9r0-r_Gc,37189
145
- cognite/neat/legacy/rules/exporters/_rules2excel.py,sha256=ytHsqw2j26T9yLNZHuUSItV8Jp3AvvpIwX8D5-L9GO8,8312
146
- cognite/neat/legacy/rules/exporters/_rules2graphql.py,sha256=R3j4QKZdL7sRoNBFWJM_fs7H1Q6MCVvslK3JdNRAK9Q,6255
147
- cognite/neat/legacy/rules/exporters/_rules2ontology.py,sha256=Tx51sN0LgZygjPSGU5-VnjQNmv8h1XhaU_ziaqd6F-Y,18578
148
- cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py,sha256=ae-Ws1MnlFSMW6Xb64R5syHwTEDDS9YuYU0aXxF89XU,28846
149
- cognite/neat/legacy/rules/exporters/_rules2rules.py,sha256=KlBm1hWkx4Ly5G-_gdcURUwADolMJFnueus02IW51uQ,3881
150
- cognite/neat/legacy/rules/exporters/_rules2triples.py,sha256=ItkLy6Rji4g5UqLtxaOeodGUvpQG-LVr_ss70PcCPZs,1085
151
- cognite/neat/legacy/rules/exporters/_validation.py,sha256=saDorwUqJ4Fo6yeCMSRH0Hp3AGCr-rdjb-sOGo91xL0,5767
152
- cognite/neat/legacy/rules/importers/__init__.py,sha256=h1owL8pBPEtOmlIFAdkqAABH1A_Op5plh8C53og0uag,636
153
- cognite/neat/legacy/rules/importers/_base.py,sha256=L0eMYB-Lf5sssQmXAd9ZlUzT6vcAIMeEvM833bMYn0w,2273
154
- cognite/neat/legacy/rules/importers/_dict2rules.py,sha256=scUoMMZoc0CEfsbU999cPMyG1hMzNRDTovj8ff8Lrhk,6476
155
- cognite/neat/legacy/rules/importers/_dms2rules.py,sha256=YF_rqUO88EFVoF0HAyV2ACxUMif3C3MvMM-EaaWDvHs,7874
156
- cognite/neat/legacy/rules/importers/_graph2rules.py,sha256=KdPt4dYA4qlA8yKzZai-srnxFHUBujsULb4HWrxqL3E,12240
157
- cognite/neat/legacy/rules/importers/_json2rules.py,sha256=ko0sC3-xO3ne_PQn5aF0L5SsA8m48SN2bnqmBgjkylc,1610
158
- cognite/neat/legacy/rules/importers/_owl2rules/__init__.py,sha256=tdGcrgtozdQyST-pTlxIa4cLBNTLvtk1nNYR4vOdFSw,63
159
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py,sha256=a76uAG2LS4ySBLf3R_Wd11rkhFCcQftbf1oabUSpwPA,8330
160
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py,sha256=dwGDvKi1yjkQXTAWQ1JiN3uH1XuV-9SAcblG0QKnrtI,9448
161
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py,sha256=n124XM2JVfGIDJ12rkSg0G7BNevp2tzsaPyWnQOX_Zs,8063
162
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py,sha256=SnfR2ZuJlrnwWTuSNNu4cQTazj2DoYdTHSEZpax1QSg,10557
163
- cognite/neat/legacy/rules/importers/_spreadsheet2rules.py,sha256=gaDlCqB7M0j0rud-awjlunvBOQlgbK912wabsSBqpsc,1502
164
- cognite/neat/legacy/rules/importers/_xsd2rules.py,sha256=ZR_FAzZUgfZVEFLEVDDJIH4GIsxo7y7-KdozVeyYlS0,421
165
- cognite/neat/legacy/rules/importers/_yaml2rules.py,sha256=HX47U9dldggqyjeFev5G2vLJ4sOOJpIg55QYX_9GCwI,1601
166
- cognite/neat/legacy/rules/models/__init__.py,sha256=23T73EaHuS0dsYTh6tww6gXAc7S4rdx8e5nLsDA3VFI,127
167
- cognite/neat/legacy/rules/models/_base.py,sha256=1WNXBJHJ3nwnVoeNhpm9B6TBuqWYYgChkrdK4FJIpQM,4989
168
- cognite/neat/legacy/rules/models/raw_rules.py,sha256=o7iPhV7sS7h22edcyOpvJAQFPE7PiTULZAmGmZtKZPI,12491
169
- cognite/neat/legacy/rules/models/rdfpath.py,sha256=iXEPnx0rdOzkJ68FoJmsWQBbMBABenQ_cyDlsqwPCBg,7351
170
- cognite/neat/legacy/rules/models/rules.py,sha256=yBtUwpsd3CDJkTj6jBFPOTND-Q-wZkPiBX70b_2_4GU,51371
171
- cognite/neat/legacy/rules/models/tables.py,sha256=hj7qjjIpwDXBnkVQrL47V2kjFxDz7aE4mkYOZTwepj8,171
172
- cognite/neat/legacy/rules/models/value_types.py,sha256=wAjYe0yv90FgKqMjJITxyg4QgCYaolFVM9WAr7g0bJY,4402
173
- cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml,sha256=dViI5aotf6cvcsePXjDBB_osyw1IUbNu2-rsGS1-5NM,1898
174
- cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml,sha256=ZYLsdLM2SQD3t3aB3JYoK7ps0xjuMavEhqKo49Uy1Ro,3604
175
- cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml,sha256=Iqgxs8EzKcBI4zZoXouQ6UsSZfDW-dJUqkdBmeWUx2c,3384
176
- cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml,sha256=naGAGz5uklYvI0fiNj7opLMGsrqTAC-zh6Rizh_hR60,6198
177
- cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml,sha256=i7FeD0dzUBhzorjMgo7v1mjShhgsEpobbxIAL-czt34,1364
178
- cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml,sha256=0syRT8wghjooFVaZvl1YjmtkSxelRGd0K56VWPlbKcs,2722
179
- cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml,sha256=lmuC-zttewtZl5EjnUv8RuM9t2dC-F053duNQHKoPGg,1395
180
- cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml,sha256=Oy3u9QJ7QZoKZqmY0mRMWtnJZd9agmbRZCrbvf32xis,1326
181
- cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml,sha256=wVWxEGy_L_tTHKr-XxHyoykkya0DnFi99Y1erA96Oxs,2296
182
- cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml,sha256=yWVL-NHghKtiNV2kpEX674MJwWqhOUn3j2ZOJiJbprE,2579
183
87
  cognite/neat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
88
  cognite/neat/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
89
  cognite/neat/rules/_shared.py,sha256=G0bIu5XSrtEa93qqtOS5P0IDJUkU32gX5ypFhcV6t5c,216
@@ -205,7 +109,7 @@ cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py,sha256=wW4saKva61Q_i17g
205
109
  cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py,sha256=5ee8bD4iJ3Ndhx_S234XBCuBHxYjFkJnWiwnZwbTrXs,12432
206
110
  cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py,sha256=Psj3C2jembY_Wu7WWJIFIwrMawvjISjeqfBnoRy_csw,6740
207
111
  cognite/neat/rules/importers/_dtdl2rules/spec.py,sha256=tim_MfN1J0F3Oeqk3BMgIA82d_MZvhRuRMsLK3B4PYc,11897
208
- cognite/neat/rules/importers/_inference2rules.py,sha256=EC8XxqgPlN6RJbutyk7f6M8IBYERRQh8lULYm1PFIw8,13794
112
+ cognite/neat/rules/importers/_inference2rules.py,sha256=xaB3HGVF_TsSErzE9nPn8XTfFC8nWe5Wsz4U0qlTVlM,13848
209
113
  cognite/neat/rules/importers/_owl2rules/__init__.py,sha256=tdGcrgtozdQyST-pTlxIa4cLBNTLvtk1nNYR4vOdFSw,63
210
114
  cognite/neat/rules/importers/_owl2rules/_owl2classes.py,sha256=YaEsYYRM8H7EkPgHIUVosiNdhhl6rEl2P7EtvVOqoBM,7383
211
115
  cognite/neat/rules/importers/_owl2rules/_owl2metadata.py,sha256=lGaEfGEr_MaF99pUdYmN-npknb2_9P300NWraQ_Ta8E,7558
@@ -275,7 +179,6 @@ cognite/neat/workflows/cdf_store.py,sha256=HCn76PJ7_vrBeTtBv9GDBH77B7wCzVnH13AoS
275
179
  cognite/neat/workflows/examples/Export_DMS/workflow.yaml,sha256=XmyaUAsZrN-GnoBejg9eXHQBm1U1Z-NhdKc11Wm1ieM,1987
276
180
  cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml,sha256=ZYLsdLM2SQD3t3aB3JYoK7ps0xjuMavEhqKo49Uy1Ro,3604
277
181
  cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml,sha256=Iqgxs8EzKcBI4zZoXouQ6UsSZfDW-dJUqkdBmeWUx2c,3384
278
- cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml,sha256=naGAGz5uklYvI0fiNj7opLMGsrqTAC-zh6Rizh_hR60,6198
279
182
  cognite/neat/workflows/examples/Import_DMS/workflow.yaml,sha256=i7FeD0dzUBhzorjMgo7v1mjShhgsEpobbxIAL-czt34,1364
280
183
  cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml,sha256=0syRT8wghjooFVaZvl1YjmtkSxelRGd0K56VWPlbKcs,2722
281
184
  cognite/neat/workflows/examples/Validate_Rules/workflow.yaml,sha256=lmuC-zttewtZl5EjnUv8RuM9t2dC-F053duNQHKoPGg,1395
@@ -283,37 +186,26 @@ cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml,sha256=Oy3
283
186
  cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml,sha256=wVWxEGy_L_tTHKr-XxHyoykkya0DnFi99Y1erA96Oxs,2296
284
187
  cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml,sha256=yWVL-NHghKtiNV2kpEX674MJwWqhOUn3j2ZOJiJbprE,2579
285
188
  cognite/neat/workflows/manager.py,sha256=CtxnabAmZq4APd5XA6FTBlytP3WmlbKNGjNoR04uAQ4,14102
286
- cognite/neat/workflows/migration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
- cognite/neat/workflows/migration/steps.py,sha256=YjwSDrf6W8pvKzh0vnkyA2QXJDGoYrzJ6VHNCy2oPtc,3945
288
- cognite/neat/workflows/migration/wf_manifests.py,sha256=TIJ9q_sbZ1LVJfUYVk8VRYcxrRHlwyktHRag0OJcVrE,1556
289
189
  cognite/neat/workflows/model.py,sha256=LQY7abYnz3CUEIlIEqoj0Eo6Q8yQukTQ0S_sPststCA,6570
290
190
  cognite/neat/workflows/steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
- cognite/neat/workflows/steps/data_contracts.py,sha256=piel9tnZ1q5VBDvHvMgmUnPENe9Knnah2R2wrhPvDpE,3150
191
+ cognite/neat/workflows/steps/data_contracts.py,sha256=4z_lyvlPI9IPHXYsO71a-iIk-MCryl5QoHp-UK7kbcE,2474
292
192
  cognite/neat/workflows/steps/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
293
193
  cognite/neat/workflows/steps/lib/current/__init__.py,sha256=c22IznGdCSNCpXCi_yonlbbywJE1uj6bfVCv0X2LYeE,225
294
- cognite/neat/workflows/steps/lib/current/graph_extractor.py,sha256=vW9UpJScx5dFVCSairpOdWRdBdLpkCt2kNh6litbF0o,5161
295
- cognite/neat/workflows/steps/lib/current/graph_loader.py,sha256=HfGg1HRZhbV58TFu89FTjKeUxGsbCYLeFJIQFDN_pQM,2341
296
- cognite/neat/workflows/steps/lib/current/graph_store.py,sha256=ZkY8XfSstcn6wAggrEljNRS1tLEvxSNcbCarr0uFqtw,6556
194
+ cognite/neat/workflows/steps/lib/current/graph_extractor.py,sha256=CI12qMfG4qC7O_ccrYzlsn4154xjiCY7IOSFoJDR8U4,4707
195
+ cognite/neat/workflows/steps/lib/current/graph_loader.py,sha256=snHt-2czYLDsUfN9uWEkGh3IofVjUm2WuMXIfz1hyZw,1671
196
+ cognite/neat/workflows/steps/lib/current/graph_store.py,sha256=VZpe6rfrmVfK4imZr42QVhGw98E2c71hQDzDDUg5xwM,1589
297
197
  cognite/neat/workflows/steps/lib/current/rules_exporter.py,sha256=1SKBYDnyDr975oMr9aOQVHExHjPQ0-whDDBNpTQ4K1A,23807
298
198
  cognite/neat/workflows/steps/lib/current/rules_importer.py,sha256=23dxamGHSbJoG7qUqL4KiGznSmDTVHw1EfqhLCeAwDM,14695
299
199
  cognite/neat/workflows/steps/lib/current/rules_validator.py,sha256=4fKlFpnNxgc435WRU1q3m_3TEA8M0iUzgAgCS7Bz1R8,4843
300
200
  cognite/neat/workflows/steps/lib/io/__init__.py,sha256=k7IPbIq3ey19oRc5sA_15F99-O6dxzqbm1LihGRRo5A,32
301
201
  cognite/neat/workflows/steps/lib/io/io_steps.py,sha256=QAGypoi1vP32BRiIgBZ0B4qsbFMcwhzpRiVUUnWysLA,16874
302
- cognite/neat/workflows/steps/lib/legacy/__init__.py,sha256=725aFzVqhE0tbVOAW70zWXTGKFiYImVupRZ4C5_IkUo,274
303
- cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py,sha256=I5ZD1xeO5LvBhtecZZHxZn2a4reJQPxCo9-UYVnTMYU,3919
304
- cognite/neat/workflows/steps/lib/legacy/graph_extractor.py,sha256=FNiyLHo49UGsFG1qDm5gB1JlgnnCwiKboCQIABstIIM,31198
305
- cognite/neat/workflows/steps/lib/legacy/graph_loader.py,sha256=Vp8ZXmLZc-mMkqMLwmiPVN7wIBIlai-aEMvYA6sI0sM,27269
306
- cognite/neat/workflows/steps/lib/legacy/graph_store.py,sha256=H6MLJcmLrL0eTqpvMuwJmSjmJXpDP4n0jYyyg6BDxTg,12962
307
- cognite/neat/workflows/steps/lib/legacy/graph_transformer.py,sha256=jTM620LOHrx9bW7rzfktFY-8DMvQJPvzdpuVsWxyU9M,2351
308
- cognite/neat/workflows/steps/lib/legacy/rules_exporter.py,sha256=ARe5HAxxuOLboOM3e2M4Q5gUMgU5O-RJWS8TIbgWLeA,20466
309
- cognite/neat/workflows/steps/lib/legacy/rules_importer.py,sha256=MKr4yVC5fOuyBKBSH_TOHZOf4uSkNl2YZaNLYIGmoRA,28069
310
202
  cognite/neat/workflows/steps/step_model.py,sha256=bYX0PhlW-B76fBksBPENGGf8foOT6gvJL-2aUO5JimY,2943
311
- cognite/neat/workflows/steps_registry.py,sha256=fkTX14ZA7_gkUYfWIlx7A1XbCidvqR23MrFiX4HmZ3U,11007
203
+ cognite/neat/workflows/steps_registry.py,sha256=85YtD6eW5SQ71pdr5-2EF3drwzjrL4aHgh-c6eIbDWo,10705
312
204
  cognite/neat/workflows/tasks.py,sha256=dqlJwKAb0jlkl7abbY8RRz3m7MT4SK8-7cntMWkOYjw,788
313
205
  cognite/neat/workflows/triggers.py,sha256=_BLNplzoz0iic367u1mhHMHiUrCwP-SLK6_CZzfODX0,7071
314
206
  cognite/neat/workflows/utils.py,sha256=gKdy3RLG7ctRhbCRwaDIWpL9Mi98zm56-d4jfHDqP1E,453
315
- cognite_neat-0.87.6.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
316
- cognite_neat-0.87.6.dist-info/METADATA,sha256=652vw8eKhaR_1-682l1xl4ODE8CC89qx1jlIjRyxRXg,9493
317
- cognite_neat-0.87.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
318
- cognite_neat-0.87.6.dist-info/entry_points.txt,sha256=61FPqiWb25vbqB0KI7znG8nsg_ibLHBvTjYnkPvNFso,50
319
- cognite_neat-0.87.6.dist-info/RECORD,,
207
+ cognite_neat-0.88.0.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
208
+ cognite_neat-0.88.0.dist-info/METADATA,sha256=ipX7CoI_73W58-ytVFI4Iu6MyndHog51JANgZDwQU4w,9493
209
+ cognite_neat-0.88.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
210
+ cognite_neat-0.88.0.dist-info/entry_points.txt,sha256=61FPqiWb25vbqB0KI7znG8nsg_ibLHBvTjYnkPvNFso,50
211
+ cognite_neat-0.88.0.dist-info/RECORD,,
@@ -1,91 +0,0 @@
1
- import json
2
- import shutil
3
- import tempfile
4
- from copy import deepcopy
5
- from pathlib import Path
6
- from typing import cast
7
-
8
- from fastapi import APIRouter, UploadFile
9
-
10
- from cognite.neat.app.api.configuration import NEAT_APP
11
- from cognite.neat.rules import exporters, importers
12
- from cognite.neat.rules.models import DMSRules, RoleTypes
13
-
14
- router = APIRouter()
15
-
16
-
17
- @router.post("/api/core/convert")
18
- async def convert_data_model_to_rules(file: UploadFile):
19
- suffix = Path(cast(str, file.filename)).suffix
20
-
21
- if suffix not in [".xlsx", ".ttl", ".owl", ".json", ".yaml"]:
22
- return {
23
- "filename": None,
24
- "content": None,
25
- "issues": [f"File type {suffix} not supported. Supported types are ['.xlsx', '.ttl', '.json', '.yaml']"],
26
- }
27
-
28
- with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as temp:
29
- shutil.copyfileobj(file.file, temp) # type: ignore # known issue with mypy
30
- temp_filepath = Path(temp.name)
31
-
32
- # read as Excel rules
33
- if suffix == ".xlsx":
34
- rules, issues = importers.ExcelImporter(filepath=temp_filepath).to_rules(role=RoleTypes.dms)
35
-
36
- # load as OWL
37
- elif suffix in [".ttl", ".owl"]:
38
- rules, issues = importers.OWLImporter(filepath=temp_filepath).to_rules(role=RoleTypes.dms)
39
-
40
- # load as YAML
41
- elif suffix in [".yml", ".yaml"]:
42
- rules, issues = importers.YAMLImporter.from_file(temp_filepath).to_rules(role=RoleTypes.dms)
43
-
44
- # load as JSON
45
- elif suffix == ".json":
46
- with temp_filepath.open() as temp:
47
- json_data = json.load(temp)
48
- rules, issues = importers.YAMLImporter(raw_data=json.loads(json_data)).to_rules(role=RoleTypes.dms)
49
-
50
- # Remove the temporary file
51
- temp_filepath.unlink()
52
-
53
- return {"filename": file.filename, "content": rules.model_dump(by_alias=True) if rules else None, "issues": issues}
54
-
55
-
56
- @router.post("/api/core/rules2dms")
57
- async def convert_rules_to_dms(rules: DMSRules):
58
- dms_schema = exporters.DMSExporter().export(rules)
59
- containers = {f"{container.space}:{container.external_id}": container.dump() for container in dms_schema.containers}
60
- views = {f"{view.space}:{view.external_id}": view.dump() for view in dms_schema.views}
61
-
62
- if views and containers:
63
- _to_visualization_compliant_views(views, containers)
64
-
65
- return {
66
- "views": list(views.values()) if views else None,
67
- "containers": list(containers.values()) if containers else None,
68
- }
69
-
70
-
71
- def _to_visualization_compliant_views(views, containers):
72
- for view in views.values():
73
- for property in view["properties"].values():
74
- # needs coping information from container:
75
- if property.get("container", None) and property["container"]["type"] == "container":
76
- container_id = f"{property['container']['space']}:{property['container']['externalId']}"
77
- container_property_def = deepcopy(
78
- containers[container_id]["properties"][property["containerPropertyIdentifier"]]
79
- )
80
- property["type"] = container_property_def["type"]
81
- container_property_def.pop("type")
82
- property.update(container_property_def)
83
-
84
-
85
- @router.post("/api/core/publish-rules")
86
- async def publish_rules_as_data_model(rules: DMSRules):
87
- if NEAT_APP.cdf_client:
88
- uploaded = exporters.DMSExporter().export_to_cdf(rules, NEAT_APP.cdf_client)
89
- return {"uploaded": uploaded}
90
- else:
91
- return {"uploaded": []}