cognite-neat 0.74.0__py3-none-any.whl → 0.75.2__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 (153) hide show
  1. cognite/neat/_version.py +1 -1
  2. cognite/neat/app/api/routers/core.py +1 -2
  3. cognite/neat/app/api/routers/data_exploration.py +1 -1
  4. cognite/neat/app/api/routers/rules.py +13 -7
  5. cognite/neat/constants.py +2 -2
  6. cognite/neat/graph/extractors/_mock_graph_generator.py +4 -4
  7. cognite/neat/graph/stores/_base.py +2 -23
  8. cognite/neat/legacy/graph/__init__.py +3 -0
  9. cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +20182 -0
  10. cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +20163 -0
  11. cognite/neat/legacy/graph/examples/__init__.py +7 -0
  12. cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  13. cognite/neat/legacy/graph/exceptions.py +91 -0
  14. cognite/neat/{graph/extractor → legacy/graph/extractors}/_base.py +1 -1
  15. cognite/neat/{graph/extractor → legacy/graph/extractors}/_dexpi.py +2 -2
  16. cognite/neat/{graph/extractor → legacy/graph/extractors}/_graph_capturing_sheet.py +6 -6
  17. cognite/neat/{graph/extractor → legacy/graph/extractors}/_mock_graph_generator.py +6 -5
  18. cognite/neat/{graph/loader → legacy/graph/loaders}/__init__.py +1 -1
  19. cognite/neat/{graph/loader → legacy/graph/loaders}/_asset_loader.py +3 -3
  20. cognite/neat/{graph/loader → legacy/graph/loaders}/_base.py +4 -4
  21. cognite/neat/{graph/loader → legacy/graph/loaders}/core/labels.py +2 -2
  22. cognite/neat/{graph/loader → legacy/graph/loaders}/core/models.py +1 -1
  23. cognite/neat/{graph/loader → legacy/graph/loaders}/core/rdf_to_assets.py +3 -3
  24. cognite/neat/{graph/loader → legacy/graph/loaders}/core/rdf_to_relationships.py +5 -5
  25. cognite/neat/{graph/loader → legacy/graph/loaders}/rdf_to_dms.py +5 -5
  26. cognite/neat/legacy/graph/models.py +6 -0
  27. cognite/neat/legacy/graph/stores/__init__.py +13 -0
  28. cognite/neat/legacy/graph/stores/_base.py +384 -0
  29. cognite/neat/legacy/graph/stores/_graphdb_store.py +51 -0
  30. cognite/neat/legacy/graph/stores/_memory_store.py +43 -0
  31. cognite/neat/legacy/graph/stores/_oxigraph_store.py +147 -0
  32. cognite/neat/legacy/graph/stores/_oxrdflib.py +247 -0
  33. cognite/neat/legacy/graph/stores/_rdf_to_graph.py +40 -0
  34. cognite/neat/{graph/transformation → legacy/graph/transformations}/entity_matcher.py +1 -1
  35. cognite/neat/{graph/transformation → legacy/graph/transformations}/query_generator/sparql.py +9 -7
  36. cognite/neat/{graph/transformation → legacy/graph/transformations}/transformer.py +12 -5
  37. cognite/neat/legacy/rules/__init__.py +0 -0
  38. cognite/neat/{rules → legacy/rules}/analysis.py +2 -2
  39. cognite/neat/legacy/rules/examples/__init__.py +18 -0
  40. cognite/neat/legacy/rules/examples/wind-energy.owl +1511 -0
  41. cognite/neat/legacy/rules/exceptions.py +2972 -0
  42. cognite/neat/{rules/exporter → legacy/rules/exporters}/_base.py +2 -2
  43. cognite/neat/{rules/exporter → legacy/rules/exporters}/_core/rules2labels.py +1 -1
  44. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2dms.py +6 -6
  45. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2excel.py +1 -1
  46. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2graphql.py +5 -5
  47. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2ontology.py +6 -6
  48. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2pydantic_models.py +8 -8
  49. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2rules.py +3 -2
  50. cognite/neat/{rules/exporter → legacy/rules/exporters}/_rules2triples.py +3 -2
  51. cognite/neat/{rules/exporter → legacy/rules/exporters}/_validation.py +2 -2
  52. cognite/neat/{rules/importer → legacy/rules/importers}/_base.py +2 -2
  53. cognite/neat/{rules/importer → legacy/rules/importers}/_dict2rules.py +1 -1
  54. cognite/neat/{rules/importer → legacy/rules/importers}/_dms2rules.py +2 -2
  55. cognite/neat/{rules/importer → legacy/rules/importers}/_graph2rules.py +5 -4
  56. cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2metadata.py +11 -7
  57. cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2rules.py +5 -5
  58. cognite/neat/{rules/importer → legacy/rules/importers}/_spreadsheet2rules.py +2 -2
  59. cognite/neat/{rules/importer → legacy/rules/importers}/_xsd2rules.py +1 -1
  60. cognite/neat/{rules/importer → legacy/rules/importers}/_yaml2rules.py +1 -1
  61. cognite/neat/{rules → legacy/rules}/models/raw_rules.py +4 -4
  62. cognite/neat/legacy/rules/models/rdfpath.py +238 -0
  63. cognite/neat/{rules → legacy/rules}/models/rules.py +4 -4
  64. cognite/neat/{rules → legacy/rules}/models/value_types.py +1 -1
  65. cognite/neat/rules/_shared.py +1 -1
  66. cognite/neat/rules/analysis/__init__.py +3 -0
  67. cognite/neat/rules/{_analysis → analysis}/_base.py +1 -1
  68. cognite/neat/rules/{_analysis → analysis}/_information_rules.py +3 -3
  69. cognite/neat/rules/examples/__init__.py +0 -9
  70. cognite/neat/rules/exporters/_base.py +1 -1
  71. cognite/neat/rules/exporters/_rules2dms.py +4 -4
  72. cognite/neat/rules/exporters/_rules2excel.py +2 -2
  73. cognite/neat/rules/exporters/_rules2ontology.py +4 -4
  74. cognite/neat/rules/exporters/_rules2yaml.py +1 -1
  75. cognite/neat/rules/exporters/_validation.py +2 -2
  76. cognite/neat/rules/importers/_base.py +1 -1
  77. cognite/neat/rules/importers/_dms2rules.py +10 -10
  78. cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +2 -2
  79. cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +3 -3
  80. cognite/neat/rules/importers/_dtdl2rules/spec.py +1 -1
  81. cognite/neat/rules/importers/_owl2rules/_owl2classes.py +1 -1
  82. cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +6 -6
  83. cognite/neat/rules/importers/_owl2rules/_owl2properties.py +1 -1
  84. cognite/neat/rules/importers/_owl2rules/_owl2rules.py +2 -2
  85. cognite/neat/rules/importers/_spreadsheet2rules.py +2 -2
  86. cognite/neat/rules/importers/_yaml2rules.py +1 -1
  87. cognite/neat/rules/issues/dms.py +1 -1
  88. cognite/neat/rules/models/_entity.py +142 -0
  89. cognite/neat/rules/models/rdfpath.py +6 -8
  90. cognite/neat/rules/models/{_rules → rules}/__init__.py +5 -5
  91. cognite/neat/rules/models/{_rules/base.py → rules/_base.py} +1 -1
  92. cognite/neat/rules/models/{_rules/dms_architect_rules.py → rules/_dms_architect_rules.py} +5 -5
  93. cognite/neat/rules/models/{_rules/dms_schema.py → rules/_dms_schema.py} +12 -4
  94. cognite/neat/rules/models/{_rules/domain_rules.py → rules/_domain_rules.py} +2 -2
  95. cognite/neat/rules/models/{_rules/information_rules.py → rules/_information_rules.py} +15 -15
  96. cognite/neat/rules/models/{_rules → rules}/_types/_base.py +18 -134
  97. cognite/neat/workflows/steps/data_contracts.py +4 -4
  98. cognite/neat/workflows/steps/lib/graph_store.py +1 -1
  99. cognite/neat/workflows/steps/lib/rules_exporter.py +1 -1
  100. cognite/neat/workflows/steps/lib/rules_importer.py +2 -2
  101. cognite/neat/workflows/steps/lib/rules_validator.py +2 -2
  102. cognite/neat/workflows/steps/lib/v1/graph_contextualization.py +1 -1
  103. cognite/neat/workflows/steps/lib/v1/graph_extractor.py +5 -5
  104. cognite/neat/workflows/steps/lib/v1/graph_loader.py +7 -7
  105. cognite/neat/workflows/steps/lib/v1/graph_store.py +7 -1
  106. cognite/neat/workflows/steps/lib/v1/graph_transformer.py +2 -2
  107. cognite/neat/workflows/steps/lib/v1/rules_exporter.py +7 -7
  108. cognite/neat/workflows/steps/lib/v1/rules_importer.py +13 -13
  109. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.2.dist-info}/METADATA +1 -1
  110. cognite_neat-0.75.2.dist-info/RECORD +258 -0
  111. cognite_neat-0.74.0.dist-info/RECORD +0 -237
  112. /cognite/neat/{graph/loader/core → legacy}/__init__.py +0 -0
  113. /cognite/neat/{graph/extractor → legacy/graph/extractors}/__init__.py +0 -0
  114. /cognite/neat/{graph/loader → legacy/graph/loaders}/_exceptions.py +0 -0
  115. /cognite/neat/{graph/transformation → legacy/graph/loaders/core}/__init__.py +0 -0
  116. /cognite/neat/{graph/loader → legacy/graph/loaders}/validator.py +0 -0
  117. /cognite/neat/{rules/_analysis → legacy/graph/transformations}/__init__.py +0 -0
  118. /cognite/neat/{graph/transformation → legacy/graph/transformations}/query_generator/__init__.py +0 -0
  119. /cognite/neat/{rules → legacy/rules}/examples/Rules-Nordic44-to-TNT.xlsx +0 -0
  120. /cognite/neat/{rules → legacy/rules}/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  121. /cognite/neat/{rules → legacy/rules}/examples/power-grid-containers.yaml +0 -0
  122. /cognite/neat/{rules → legacy/rules}/examples/power-grid-example.xlsx +0 -0
  123. /cognite/neat/{rules → legacy/rules}/examples/power-grid-model.yaml +0 -0
  124. /cognite/neat/{rules → legacy/rules}/examples/rules-template.xlsx +0 -0
  125. /cognite/neat/{rules → legacy/rules}/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  126. /cognite/neat/{rules → legacy/rules}/examples/skos-rules.xlsx +0 -0
  127. /cognite/neat/{rules → legacy/rules}/examples/source-to-solution-mapping-rules.xlsx +0 -0
  128. /cognite/neat/{rules/exporter → legacy/rules/exporters}/__init__.py +0 -0
  129. /cognite/neat/{rules/exporter → legacy/rules/exporters}/_core/__init__.py +0 -0
  130. /cognite/neat/{rules/importer → legacy/rules/importers}/__init__.py +0 -0
  131. /cognite/neat/{rules/importer → legacy/rules/importers}/_json2rules.py +0 -0
  132. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/__init__.py +0 -0
  133. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2classes.py +0 -0
  134. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2properties.py +0 -0
  135. /cognite/neat/{rules → legacy/rules}/models/__init__.py +0 -0
  136. /cognite/neat/{rules → legacy/rules}/models/_base.py +0 -0
  137. /cognite/neat/{rules → legacy/rules}/models/tables.py +0 -0
  138. /cognite/neat/rules/models/{_rules → rules}/_types/__init__.py +0 -0
  139. /cognite/neat/rules/models/{_rules → rules}/_types/_field.py +0 -0
  140. /cognite/neat/rules/models/{_rules → rules}/_types/_value.py +0 -0
  141. /cognite/neat/workflows/examples/{Export DMS → Export_DMS}/workflow.yaml +0 -0
  142. /cognite/neat/workflows/examples/{Export Rules to Ontology → Export_Rules_to_Ontology}/workflow.yaml +0 -0
  143. /cognite/neat/workflows/examples/{Extract DEXPI Graph and Export Rules → Extract_DEXPI_Graph_and_Export_Rules}/workflow.yaml +0 -0
  144. /cognite/neat/workflows/examples/{Extract RDF Graph and Generate Assets → Extract_RDF_Graph_and_Generate_Assets}/workflow.yaml +0 -0
  145. /cognite/neat/workflows/examples/{Import DMS → Import_DMS}/workflow.yaml +0 -0
  146. /cognite/neat/workflows/examples/{Ontology to Data Model → Ontology_to_Data_Model}/workflow.yaml +0 -0
  147. /cognite/neat/workflows/examples/{Validate Rules → Validate_Rules}/workflow.yaml +0 -0
  148. /cognite/neat/workflows/examples/{Validate Solution Model → Validate_Solution_Model}/workflow.yaml +0 -0
  149. /cognite/neat/workflows/examples/{Visualize Data Model Using Mock Graph → Visualize_Data_Model_Using_Mock_Graph}/workflow.yaml +0 -0
  150. /cognite/neat/workflows/examples/{Visualize Semantic Data Model → Visualize_Semantic_Data_Model}/workflow.yaml +0 -0
  151. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.2.dist-info}/LICENSE +0 -0
  152. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.2.dist-info}/WHEEL +0 -0
  153. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.2.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,7 @@
1
+ from pathlib import Path
2
+
3
+ # we should make this a proper package that loads examples
4
+ # similar how they handle it in xarray:
5
+ # https://github.com/pydata/xarray/blob/main/xarray/tutorial.py
6
+ # Currently there are simple paths to the examples which are then easily loaded in the notebooks
7
+ nordic44_knowledge_graph = Path(__file__).parent / "Knowledge-Graph-Nordic44.xml"
@@ -0,0 +1,91 @@
1
+ """This module contains the definition of validation errors and warnings raised during graph methods
2
+ """
3
+
4
+ from cognite.neat.constants import DEFAULT_DOCS_URL
5
+ from cognite.neat.exceptions import NeatException
6
+
7
+ DOCS_BASE_URL = f"{DEFAULT_DOCS_URL}api/exceptions.html#{__name__}"
8
+
9
+
10
+ class UnsupportedPropertyType(NeatException):
11
+ """Unsupported property type when processing the graph capturing sheet
12
+
13
+ Args:
14
+ property_type: property type that is not supported
15
+ verbose: flag that indicates whether to provide enhanced exception message, by default False
16
+ """
17
+
18
+ type_: str = "UnsupportedPropertyType"
19
+ code: int = 1000
20
+ description: str = "Unsupported property type when processing the graph capturing sheet."
21
+ example: str = ""
22
+ fix: str = ""
23
+
24
+ def __init__(self, property_type: str, verbose: bool = False):
25
+ self.property_type = property_type
26
+
27
+ self.message = (
28
+ f"Property type {self.property_type} is not supported. "
29
+ " Only the following property types are supported: DatatypeProperty and ObjectProperty"
30
+ f"\nFor more information visit: {DOCS_BASE_URL}.{self.__class__.__name__}"
31
+ )
32
+
33
+ if verbose:
34
+ self.message += f"\nDescription: {self.description}"
35
+ self.message += f"\nExample: {self.example}"
36
+ self.message += f"\nFix: {self.fix}"
37
+ super().__init__(self.message)
38
+
39
+
40
+ class NamespaceRequired(NeatException):
41
+ """The functionality requires namespace in the TransformationRules.
42
+
43
+ Args:
44
+ functionality: functionality that requires namespace
45
+ verbose: flag that indicates whether to provide enhanced exception message, by default False
46
+ """
47
+
48
+ type_ = "NamespaceRequired"
49
+ description: str = "The functionality requires namespace in the TransformationRules."
50
+ example: str = ""
51
+ fix: str = ""
52
+
53
+ def __init__(self, functionality: str, verbose: bool = False):
54
+ self.message = (
55
+ f"Namespace is required to be set in the Transformation rules"
56
+ f"to use {functionality}."
57
+ f"\nFor more information visit: {DOCS_BASE_URL}.{self.__class__.__name__}"
58
+ )
59
+
60
+ if verbose:
61
+ self.message += f"\nDescription: {self.description}"
62
+ self.message += f"\nExample: {self.example}"
63
+ self.message += f"\nFix: {self.fix}"
64
+ super().__init__(self.message)
65
+
66
+
67
+ class DatasetIdRequired(NeatException):
68
+ """The functionality requires data_set_id in the TransformationRules.
69
+
70
+ Args:
71
+ functionality: functionality that requires namespace
72
+ verbose: flag that indicates whether to provide enhanced exception message, by default False
73
+ """
74
+
75
+ type_ = "DatasetIdRequired"
76
+ description: str = "The functionality requires data_set_id in the TransformationRules."
77
+ example: str = ""
78
+ fix: str = ""
79
+
80
+ def __init__(self, functionality: str, verbose: bool = False):
81
+ self.message = (
82
+ f"DataSetId is required to be set in the Transformation rules"
83
+ f"to use {functionality}."
84
+ f"\nFor more information visit: {DOCS_BASE_URL}.{self.__class__.__name__}"
85
+ )
86
+
87
+ if verbose:
88
+ self.message += f"\nDescription: {self.description}"
89
+ self.message += f"\nExample: {self.example}"
90
+ self.message += f"\nFix: {self.fix}"
91
+ super().__init__(self.message)
@@ -1,7 +1,7 @@
1
1
  from abc import abstractmethod
2
2
  from collections.abc import Iterable
3
3
 
4
- from cognite.neat.graph.models import Triple
4
+ from cognite.neat.legacy.graph.models import Triple
5
5
 
6
6
 
7
7
  class BaseExtractor:
@@ -6,8 +6,8 @@ from xml.etree.ElementTree import Element
6
6
  from rdflib import OWL, RDF, RDFS, SKOS, XSD, Literal, Namespace, URIRef
7
7
 
8
8
  from cognite.neat.constants import PREFIXES
9
- from cognite.neat.graph.models import Triple
10
- from cognite.neat.rules.models._base import ALLOWED_PATTERN
9
+ from cognite.neat.legacy.graph.models import Triple
10
+ from cognite.neat.legacy.rules.models._base import ALLOWED_PATTERN
11
11
  from cognite.neat.utils.utils import get_namespace, remove_namespace
12
12
  from cognite.neat.utils.xml import get_children, iterate_tree
13
13
 
@@ -14,12 +14,12 @@ from openpyxl.worksheet.datavalidation import DataValidation
14
14
  from openpyxl.worksheet.worksheet import Worksheet
15
15
  from rdflib import RDF, XSD, Literal, Namespace, URIRef
16
16
 
17
- from cognite.neat.graph import exceptions
18
- from cognite.neat.graph.exceptions import NamespaceRequired
19
- from cognite.neat.graph.models import Triple
20
- from cognite.neat.rules.analysis import get_defined_classes, to_class_property_pairs
21
- from cognite.neat.rules.exporter._rules2rules import to_dms_name
22
- from cognite.neat.rules.models.rules import Rules
17
+ from cognite.neat.legacy.graph import exceptions
18
+ from cognite.neat.legacy.graph.exceptions import NamespaceRequired
19
+ from cognite.neat.legacy.graph.models import Triple
20
+ from cognite.neat.legacy.rules.analysis import get_defined_classes, to_class_property_pairs
21
+ from cognite.neat.legacy.rules.exporters._rules2rules import to_dms_name
22
+ from cognite.neat.legacy.rules.models.rules import Rules
23
23
 
24
24
  from ._base import BaseExtractor
25
25
 
@@ -1,5 +1,6 @@
1
1
  """This module is used to generate mock graph data for purposes of testing of NEAT.
2
2
  """
3
+
3
4
  import logging
4
5
  import random
5
6
  import warnings
@@ -10,16 +11,16 @@ import pandas as pd
10
11
  from prometheus_client import Gauge
11
12
  from rdflib import RDF, Literal, Namespace, URIRef
12
13
 
13
- from cognite.neat.graph.models import Triple
14
- from cognite.neat.rules.analysis import (
14
+ from cognite.neat.legacy.graph.models import Triple
15
+ from cognite.neat.legacy.rules.analysis import (
15
16
  get_class_linkage,
16
17
  get_classes_with_properties,
17
18
  get_defined_classes,
18
19
  get_symmetric_pairs,
19
20
  )
20
- from cognite.neat.rules.exporter._rules2rules import subset_rules
21
- from cognite.neat.rules.models import Rules
22
- from cognite.neat.rules.models.value_types import XSD_VALUE_TYPE_MAPPINGS
21
+ from cognite.neat.legacy.rules.exporters._rules2rules import subset_rules
22
+ from cognite.neat.legacy.rules.models import Rules
23
+ from cognite.neat.legacy.rules.models.value_types import XSD_VALUE_TYPE_MAPPINGS
23
24
  from cognite.neat.utils.utils import remove_namespace
24
25
 
25
26
  from ._base import BaseExtractor
@@ -1,4 +1,4 @@
1
- from cognite.neat.graph.loader.core.labels import upload_labels
1
+ from cognite.neat.legacy.graph.loaders.core.labels import upload_labels
2
2
 
3
3
  from ._asset_loader import AssetLoader
4
4
  from ._base import BaseLoader, CogniteLoader
@@ -12,9 +12,9 @@ from cognite.client.data_classes import AssetWrite, LabelDefinitionWrite, Relati
12
12
  from pydantic_core import ErrorDetails
13
13
  from rdflib.query import ResultRow
14
14
 
15
- from cognite.neat.graph.stores import NeatGraphStoreBase
16
- from cognite.neat.rules.models import Rules
17
- from cognite.neat.rules.models.rules import Property
15
+ from cognite.neat.legacy.graph.stores import NeatGraphStoreBase
16
+ from cognite.neat.legacy.rules.models import Rules
17
+ from cognite.neat.legacy.rules.models.rules import Property
18
18
  from cognite.neat.utils import remove_namespace
19
19
  from cognite.neat.utils.utils import epoch_now_ms
20
20
 
@@ -6,10 +6,10 @@ from typing import Generic, Literal, TypeVar, overload
6
6
  from cognite.client import CogniteClient
7
7
  from pydantic_core import ErrorDetails
8
8
 
9
- from cognite.neat.graph.models import Triple
10
- from cognite.neat.graph.stores import NeatGraphStoreBase
11
- from cognite.neat.graph.transformation.query_generator.sparql import build_construct_query
12
- from cognite.neat.rules.models import Rules
9
+ from cognite.neat.legacy.graph.models import Triple
10
+ from cognite.neat.legacy.graph.stores import NeatGraphStoreBase
11
+ from cognite.neat.legacy.graph.transformations.query_generator.sparql import build_construct_query
12
+ from cognite.neat.legacy.rules.models import Rules
13
13
 
14
14
  T_Output = TypeVar("T_Output")
15
15
 
@@ -5,8 +5,8 @@ from typing import cast
5
5
  from cognite.client import CogniteClient
6
6
  from cognite.client.data_classes import LabelDefinition, LabelDefinitionList
7
7
 
8
- from cognite.neat.rules.exporter._core import get_labels
9
- from cognite.neat.rules.models.rules import Rules
8
+ from cognite.neat.legacy.rules.exporters._core import get_labels
9
+ from cognite.neat.legacy.rules.models.rules import Rules
10
10
 
11
11
 
12
12
  def upload_labels(
@@ -6,7 +6,7 @@ from typing import ClassVar
6
6
  from pydantic import BaseModel, ConfigDict, root_validator, validator
7
7
  from rdflib import Namespace
8
8
 
9
- from cognite.neat.rules.models.rules import METADATA_VALUE_MAX_LENGTH
9
+ from cognite.neat.legacy.rules.models.rules import METADATA_VALUE_MAX_LENGTH
10
10
 
11
11
 
12
12
  class AssetClassMapping(BaseModel):
@@ -15,9 +15,9 @@ from deepdiff import DeepDiff # type: ignore[import]
15
15
  from rdflib import Graph
16
16
  from rdflib.term import URIRef
17
17
 
18
- from cognite.neat.graph.loader.core.models import AssetTemplate
19
- from cognite.neat.graph.stores import NeatGraphStoreBase
20
- from cognite.neat.rules.models.rules import Property, Rules
18
+ from cognite.neat.legacy.graph.loaders.core.models import AssetTemplate
19
+ from cognite.neat.legacy.graph.stores import NeatGraphStoreBase
20
+ from cognite.neat.legacy.rules.models.rules import Property, Rules
21
21
  from cognite.neat.utils.utils import chunker, datetime_utc_now, remove_namespace, retry_decorator
22
22
 
23
23
  if sys.version_info >= (3, 11):
@@ -9,11 +9,11 @@ from cognite.client import CogniteClient
9
9
  from cognite.client.data_classes import LabelFilter, Relationship, RelationshipUpdate
10
10
  from cognite.client.exceptions import CogniteDuplicatedError
11
11
 
12
- from cognite.neat.graph.exceptions import NamespaceRequired
13
- from cognite.neat.graph.loader.core.models import RelationshipDefinition, RelationshipDefinitions
14
- from cognite.neat.graph.loader.core.rdf_to_assets import _categorize_cdf_assets
15
- from cognite.neat.graph.stores import NeatGraphStoreBase
16
- from cognite.neat.rules.models.rules import Rules
12
+ from cognite.neat.legacy.graph.exceptions import NamespaceRequired
13
+ from cognite.neat.legacy.graph.loaders.core.models import RelationshipDefinition, RelationshipDefinitions
14
+ from cognite.neat.legacy.graph.loaders.core.rdf_to_assets import _categorize_cdf_assets
15
+ from cognite.neat.legacy.graph.stores import NeatGraphStoreBase
16
+ from cognite.neat.legacy.rules.models.rules import Rules
17
17
  from cognite.neat.utils.utils import chunker, datetime_utc_now, epoch_now_ms, remove_namespace, retry_decorator
18
18
 
19
19
 
@@ -8,11 +8,11 @@ from cognite.client.data_classes.data_modeling import EdgeApply, InstanceApply,
8
8
  from pydantic_core import ErrorDetails
9
9
 
10
10
  from cognite.neat.exceptions import NeatException
11
- from cognite.neat.graph.stores import NeatGraphStoreBase
12
- from cognite.neat.graph.transformation.query_generator.sparql import triples2dictionary
13
- from cognite.neat.rules.exporter._rules2dms import DMSSchemaComponents
14
- from cognite.neat.rules.exporter._rules2pydantic_models import add_class_prefix_to_xid, rules_to_pydantic_models
15
- from cognite.neat.rules.models.rules import Rules
11
+ from cognite.neat.legacy.graph.stores import NeatGraphStoreBase
12
+ from cognite.neat.legacy.graph.transformations.query_generator.sparql import triples2dictionary
13
+ from cognite.neat.legacy.rules.exporters._rules2dms import DMSSchemaComponents
14
+ from cognite.neat.legacy.rules.exporters._rules2pydantic_models import add_class_prefix_to_xid, rules_to_pydantic_models
15
+ from cognite.neat.legacy.rules.models.rules import Rules
16
16
  from cognite.neat.utils.utils import chunker, datetime_utc_now, retry_decorator
17
17
 
18
18
  from ._base import CogniteLoader
@@ -0,0 +1,6 @@
1
+ from typing import TypeAlias
2
+
3
+ from rdflib import Literal
4
+ from rdflib.term import URIRef
5
+
6
+ Triple: TypeAlias = tuple[URIRef, URIRef, Literal | URIRef]
@@ -0,0 +1,13 @@
1
+ from ._base import NeatGraphStoreBase
2
+ from ._graphdb_store import GraphDBStore
3
+ from ._memory_store import MemoryStore
4
+ from ._oxigraph_store import OxiGraphStore
5
+
6
+ STORE_BY_TYPE: dict[str, type[NeatGraphStoreBase]] = {}
7
+ for store in NeatGraphStoreBase.__subclasses__():
8
+ STORE_BY_TYPE[store.rdf_store_type] = store # type: ignore[type-abstract]
9
+
10
+ del store # Cleanup namespace
11
+ AVAILABLE_STORES = set(STORE_BY_TYPE.keys())
12
+
13
+ __all__ = ["NeatGraphStoreBase", "MemoryStore", "OxiGraphStore", "GraphDBStore", "STORE_BY_TYPE", "AVAILABLE_STORES"]