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.
- cognite/neat/_version.py +1 -1
- cognite/neat/app/api/data_classes/rest.py +0 -19
- cognite/neat/app/api/explorer.py +6 -4
- cognite/neat/app/api/routers/crud.py +11 -21
- cognite/neat/app/api/routers/workflows.py +24 -94
- cognite/neat/graph/stores/_base.py +5 -0
- cognite/neat/rules/importers/_inference2rules.py +31 -35
- cognite/neat/workflows/steps/data_contracts.py +17 -43
- cognite/neat/workflows/steps/lib/current/graph_extractor.py +28 -24
- cognite/neat/workflows/steps/lib/current/graph_loader.py +4 -21
- cognite/neat/workflows/steps/lib/current/graph_store.py +18 -134
- cognite/neat/workflows/steps_registry.py +5 -7
- {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/METADATA +1 -1
- {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/RECORD +17 -125
- cognite/neat/app/api/routers/core.py +0 -91
- cognite/neat/app/api/routers/data_exploration.py +0 -336
- cognite/neat/app/api/routers/rules.py +0 -203
- cognite/neat/legacy/__init__.py +0 -0
- cognite/neat/legacy/graph/__init__.py +0 -3
- cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -20182
- cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -20163
- cognite/neat/legacy/graph/examples/__init__.py +0 -10
- cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- cognite/neat/legacy/graph/exceptions.py +0 -90
- cognite/neat/legacy/graph/extractors/__init__.py +0 -6
- cognite/neat/legacy/graph/extractors/_base.py +0 -14
- cognite/neat/legacy/graph/extractors/_dexpi.py +0 -44
- cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -403
- cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +0 -361
- cognite/neat/legacy/graph/loaders/__init__.py +0 -23
- cognite/neat/legacy/graph/loaders/_asset_loader.py +0 -511
- cognite/neat/legacy/graph/loaders/_base.py +0 -67
- cognite/neat/legacy/graph/loaders/_exceptions.py +0 -85
- cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
- cognite/neat/legacy/graph/loaders/core/labels.py +0 -58
- cognite/neat/legacy/graph/loaders/core/models.py +0 -136
- cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +0 -1046
- cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +0 -559
- cognite/neat/legacy/graph/loaders/rdf_to_dms.py +0 -309
- cognite/neat/legacy/graph/loaders/validator.py +0 -87
- cognite/neat/legacy/graph/models.py +0 -6
- cognite/neat/legacy/graph/stores/__init__.py +0 -13
- cognite/neat/legacy/graph/stores/_base.py +0 -400
- cognite/neat/legacy/graph/stores/_graphdb_store.py +0 -52
- cognite/neat/legacy/graph/stores/_memory_store.py +0 -43
- cognite/neat/legacy/graph/stores/_oxigraph_store.py +0 -151
- cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -247
- cognite/neat/legacy/graph/stores/_rdf_to_graph.py +0 -42
- cognite/neat/legacy/graph/transformations/__init__.py +0 -0
- cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -101
- cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -3
- cognite/neat/legacy/graph/transformations/query_generator/sparql.py +0 -575
- cognite/neat/legacy/graph/transformations/transformer.py +0 -322
- cognite/neat/legacy/rules/__init__.py +0 -0
- cognite/neat/legacy/rules/analysis.py +0 -231
- cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
- cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
- cognite/neat/legacy/rules/examples/__init__.py +0 -18
- cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -124
- cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
- cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -224
- cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
- cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
- cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
- cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
- cognite/neat/legacy/rules/examples/wind-energy.owl +0 -1511
- cognite/neat/legacy/rules/exceptions.py +0 -2972
- cognite/neat/legacy/rules/exporters/__init__.py +0 -20
- cognite/neat/legacy/rules/exporters/_base.py +0 -45
- cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -5
- cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -24
- cognite/neat/legacy/rules/exporters/_rules2dms.py +0 -885
- cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -213
- cognite/neat/legacy/rules/exporters/_rules2graphql.py +0 -183
- cognite/neat/legacy/rules/exporters/_rules2ontology.py +0 -524
- cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +0 -748
- cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -105
- cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -38
- cognite/neat/legacy/rules/exporters/_validation.py +0 -146
- cognite/neat/legacy/rules/importers/__init__.py +0 -22
- cognite/neat/legacy/rules/importers/_base.py +0 -66
- cognite/neat/legacy/rules/importers/_dict2rules.py +0 -158
- cognite/neat/legacy/rules/importers/_dms2rules.py +0 -194
- cognite/neat/legacy/rules/importers/_graph2rules.py +0 -308
- cognite/neat/legacy/rules/importers/_json2rules.py +0 -39
- cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -3
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +0 -239
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +0 -260
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +0 -217
- cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -290
- cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -45
- cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -20
- cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -39
- cognite/neat/legacy/rules/models/__init__.py +0 -5
- cognite/neat/legacy/rules/models/_base.py +0 -151
- cognite/neat/legacy/rules/models/raw_rules.py +0 -316
- cognite/neat/legacy/rules/models/rdfpath.py +0 -237
- cognite/neat/legacy/rules/models/rules.py +0 -1289
- cognite/neat/legacy/rules/models/tables.py +0 -9
- cognite/neat/legacy/rules/models/value_types.py +0 -118
- cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -89
- cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -152
- cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -139
- cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
- cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -65
- cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -116
- cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -67
- cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -64
- cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -95
- cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -111
- cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -270
- cognite/neat/workflows/migration/__init__.py +0 -0
- cognite/neat/workflows/migration/steps.py +0 -91
- cognite/neat/workflows/migration/wf_manifests.py +0 -33
- cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -7
- cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -82
- cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +0 -746
- cognite/neat/workflows/steps/lib/legacy/graph_loader.py +0 -606
- cognite/neat/workflows/steps/lib/legacy/graph_store.py +0 -307
- cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -58
- cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +0 -511
- cognite/neat/workflows/steps/lib/legacy/rules_importer.py +0 -612
- {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/LICENSE +0 -0
- {cognite_neat-0.87.6.dist-info → cognite_neat-0.88.0.dist-info}/WHEEL +0 -0
- {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
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
from typing import ClassVar, cast
|
|
1
|
+
from typing import ClassVar
|
|
4
2
|
|
|
5
|
-
from cognite.neat.
|
|
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
|
-
|
|
11
|
-
|
|
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"
|
|
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=
|
|
39
|
-
label="Graph store type, supported: oxigraph,
|
|
40
|
-
options=["oxigraph", "
|
|
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:
|
|
73
|
-
) -> (FlowMessage,
|
|
74
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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] = {
|
|
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,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=
|
|
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=
|
|
11
|
-
cognite/neat/app/api/explorer.py,sha256=
|
|
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/
|
|
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/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
295
|
-
cognite/neat/workflows/steps/lib/current/graph_loader.py,sha256=
|
|
296
|
-
cognite/neat/workflows/steps/lib/current/graph_store.py,sha256=
|
|
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=
|
|
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.
|
|
316
|
-
cognite_neat-0.
|
|
317
|
-
cognite_neat-0.
|
|
318
|
-
cognite_neat-0.
|
|
319
|
-
cognite_neat-0.
|
|
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": []}
|