cognite-neat 0.74.0__py3-none-any.whl → 0.75.1__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 (152) 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/models/_entity.py +142 -0
  88. cognite/neat/rules/models/rdfpath.py +6 -8
  89. cognite/neat/rules/models/{_rules → rules}/__init__.py +5 -5
  90. cognite/neat/rules/models/{_rules/base.py → rules/_base.py} +1 -1
  91. cognite/neat/rules/models/{_rules/dms_architect_rules.py → rules/_dms_architect_rules.py} +5 -5
  92. cognite/neat/rules/models/{_rules/dms_schema.py → rules/_dms_schema.py} +1 -1
  93. cognite/neat/rules/models/{_rules/domain_rules.py → rules/_domain_rules.py} +2 -2
  94. cognite/neat/rules/models/{_rules/information_rules.py → rules/_information_rules.py} +15 -15
  95. cognite/neat/rules/models/{_rules → rules}/_types/_base.py +18 -134
  96. cognite/neat/workflows/steps/data_contracts.py +4 -4
  97. cognite/neat/workflows/steps/lib/graph_store.py +1 -1
  98. cognite/neat/workflows/steps/lib/rules_exporter.py +1 -1
  99. cognite/neat/workflows/steps/lib/rules_importer.py +2 -2
  100. cognite/neat/workflows/steps/lib/rules_validator.py +2 -2
  101. cognite/neat/workflows/steps/lib/v1/graph_contextualization.py +1 -1
  102. cognite/neat/workflows/steps/lib/v1/graph_extractor.py +5 -5
  103. cognite/neat/workflows/steps/lib/v1/graph_loader.py +7 -7
  104. cognite/neat/workflows/steps/lib/v1/graph_store.py +7 -1
  105. cognite/neat/workflows/steps/lib/v1/graph_transformer.py +2 -2
  106. cognite/neat/workflows/steps/lib/v1/rules_exporter.py +7 -7
  107. cognite/neat/workflows/steps/lib/v1/rules_importer.py +13 -13
  108. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.1.dist-info}/METADATA +1 -1
  109. cognite_neat-0.75.1.dist-info/RECORD +258 -0
  110. cognite_neat-0.74.0.dist-info/RECORD +0 -237
  111. /cognite/neat/{graph/loader/core → legacy}/__init__.py +0 -0
  112. /cognite/neat/{graph/extractor → legacy/graph/extractors}/__init__.py +0 -0
  113. /cognite/neat/{graph/loader → legacy/graph/loaders}/_exceptions.py +0 -0
  114. /cognite/neat/{graph/transformation → legacy/graph/loaders/core}/__init__.py +0 -0
  115. /cognite/neat/{graph/loader → legacy/graph/loaders}/validator.py +0 -0
  116. /cognite/neat/{rules/_analysis → legacy/graph/transformations}/__init__.py +0 -0
  117. /cognite/neat/{graph/transformation → legacy/graph/transformations}/query_generator/__init__.py +0 -0
  118. /cognite/neat/{rules → legacy/rules}/examples/Rules-Nordic44-to-TNT.xlsx +0 -0
  119. /cognite/neat/{rules → legacy/rules}/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
  120. /cognite/neat/{rules → legacy/rules}/examples/power-grid-containers.yaml +0 -0
  121. /cognite/neat/{rules → legacy/rules}/examples/power-grid-example.xlsx +0 -0
  122. /cognite/neat/{rules → legacy/rules}/examples/power-grid-model.yaml +0 -0
  123. /cognite/neat/{rules → legacy/rules}/examples/rules-template.xlsx +0 -0
  124. /cognite/neat/{rules → legacy/rules}/examples/sheet2cdf-transformation-rules.xlsx +0 -0
  125. /cognite/neat/{rules → legacy/rules}/examples/skos-rules.xlsx +0 -0
  126. /cognite/neat/{rules → legacy/rules}/examples/source-to-solution-mapping-rules.xlsx +0 -0
  127. /cognite/neat/{rules/exporter → legacy/rules/exporters}/__init__.py +0 -0
  128. /cognite/neat/{rules/exporter → legacy/rules/exporters}/_core/__init__.py +0 -0
  129. /cognite/neat/{rules/importer → legacy/rules/importers}/__init__.py +0 -0
  130. /cognite/neat/{rules/importer → legacy/rules/importers}/_json2rules.py +0 -0
  131. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/__init__.py +0 -0
  132. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2classes.py +0 -0
  133. /cognite/neat/{rules/importer → legacy/rules/importers}/_owl2rules/_owl2properties.py +0 -0
  134. /cognite/neat/{rules → legacy/rules}/models/__init__.py +0 -0
  135. /cognite/neat/{rules → legacy/rules}/models/_base.py +0 -0
  136. /cognite/neat/{rules → legacy/rules}/models/tables.py +0 -0
  137. /cognite/neat/rules/models/{_rules → rules}/_types/__init__.py +0 -0
  138. /cognite/neat/rules/models/{_rules → rules}/_types/_field.py +0 -0
  139. /cognite/neat/rules/models/{_rules → rules}/_types/_value.py +0 -0
  140. /cognite/neat/workflows/examples/{Export DMS → Export_DMS}/workflow.yaml +0 -0
  141. /cognite/neat/workflows/examples/{Export Rules to Ontology → Export_Rules_to_Ontology}/workflow.yaml +0 -0
  142. /cognite/neat/workflows/examples/{Extract DEXPI Graph and Export Rules → Extract_DEXPI_Graph_and_Export_Rules}/workflow.yaml +0 -0
  143. /cognite/neat/workflows/examples/{Extract RDF Graph and Generate Assets → Extract_RDF_Graph_and_Generate_Assets}/workflow.yaml +0 -0
  144. /cognite/neat/workflows/examples/{Import DMS → Import_DMS}/workflow.yaml +0 -0
  145. /cognite/neat/workflows/examples/{Ontology to Data Model → Ontology_to_Data_Model}/workflow.yaml +0 -0
  146. /cognite/neat/workflows/examples/{Validate Rules → Validate_Rules}/workflow.yaml +0 -0
  147. /cognite/neat/workflows/examples/{Validate Solution Model → Validate_Solution_Model}/workflow.yaml +0 -0
  148. /cognite/neat/workflows/examples/{Visualize Data Model Using Mock Graph → Visualize_Data_Model_Using_Mock_Graph}/workflow.yaml +0 -0
  149. /cognite/neat/workflows/examples/{Visualize Semantic Data Model → Visualize_Semantic_Data_Model}/workflow.yaml +0 -0
  150. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.1.dist-info}/LICENSE +0 -0
  151. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.1.dist-info}/WHEEL +0 -0
  152. {cognite_neat-0.74.0.dist-info → cognite_neat-0.75.1.dist-info}/entry_points.txt +0 -0
cognite/neat/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.74.0"
1
+ __version__ = "0.75.1"
@@ -9,8 +9,7 @@ from fastapi import APIRouter, UploadFile
9
9
 
10
10
  from cognite.neat.app.api.configuration import NEAT_APP
11
11
  from cognite.neat.rules import exporters, importers
12
- from cognite.neat.rules.models._rules import DMSRules
13
- from cognite.neat.rules.models._rules.base import RoleTypes
12
+ from cognite.neat.rules.models.rules import DMSRules, RoleTypes
14
13
 
15
14
  router = APIRouter()
16
15
 
@@ -16,7 +16,7 @@ from cognite.neat.app.api.data_classes.rest import (
16
16
  )
17
17
  from cognite.neat.app.api.utils.data_mapping import rdf_result_to_api_response
18
18
  from cognite.neat.app.api.utils.query_templates import query_templates
19
- from cognite.neat.graph.transformation import query_generator
19
+ from cognite.neat.legacy.graph.transformations import query_generator
20
20
  from cognite.neat.utils.utils import remove_namespace
21
21
  from cognite.neat.workflows.steps.data_contracts import RulesData, SolutionGraph, SourceGraph
22
22
 
@@ -7,10 +7,12 @@ from rdflib import Namespace
7
7
 
8
8
  from cognite.neat.app.api.configuration import NEAT_APP
9
9
  from cognite.neat.app.api.data_classes.rest import TransformationRulesUpdateRequest
10
- from cognite.neat.rules import exporter, importer, importers
11
- from cognite.neat.rules.models._base import EntityTypes
12
- from cognite.neat.rules.models._rules.base import RoleTypes
13
- from cognite.neat.rules.models.rules import Class, Classes, Metadata, Properties, Property, Rules
10
+ from cognite.neat.legacy.rules import exporters as legacy_exporters
11
+ from cognite.neat.legacy.rules import importers as legacy_importers
12
+ from cognite.neat.legacy.rules.models._base import EntityTypes
13
+ from cognite.neat.legacy.rules.models.rules import Class, Classes, Metadata, Properties, Property, Rules
14
+ from cognite.neat.rules import importers
15
+ from cognite.neat.rules.models.rules import RoleTypes
14
16
  from cognite.neat.workflows.steps.data_contracts import RulesData
15
17
  from cognite.neat.workflows.steps.lib.rules_exporter import RulesToExcel
16
18
  from cognite.neat.workflows.steps.lib.rules_importer import ExcelToRules
@@ -90,7 +92,9 @@ def get_rules(
90
92
  try:
91
93
  # Trying to load rules V1
92
94
  if rules_schema_version == "" or rules_schema_version == "v1":
93
- rules = cast(Rules, importer.ExcelImporter(path).to_rules(return_report=False, skip_validation=False))
95
+ rules = cast(
96
+ Rules, legacy_importers.ExcelImporter(path).to_rules(return_report=False, skip_validation=False)
97
+ )
94
98
  properties = [
95
99
  {
96
100
  "class": value.class_id,
@@ -148,7 +152,9 @@ def get_rules(
148
152
  def get_original_rules_from_file(file_name: str):
149
153
  # """Endpoint for retrieving raw transformation from file"""
150
154
  path = Path(NEAT_APP.config.rules_store_path) / file_name
151
- rules = cast(Rules, importer.ExcelImporter(filepath=path).to_rules(return_report=False, skip_validation=False))
155
+ rules = cast(
156
+ Rules, legacy_importers.ExcelImporter(filepath=path).to_rules(return_report=False, skip_validation=False)
157
+ )
152
158
  return Response(content=rules.model_dump_json(), media_type="application/json")
153
159
 
154
160
 
@@ -193,5 +199,5 @@ def upsert_rules(request: TransformationRulesUpdateRequest):
193
199
  else:
194
200
  path = Path(NEAT_APP.config.data_store_path) / rules_file
195
201
 
196
- exporter.ExcelExporter(rules=rules).export_to_file(path)
202
+ legacy_exporters.ExcelExporter(rules=rules).export_to_file(path)
197
203
  return {"status": "ok"}
cognite/neat/constants.py CHANGED
@@ -7,8 +7,8 @@ from cognite import neat
7
7
  PACKAGE_DIRECTORY = Path(neat.__file__).parent
8
8
 
9
9
 
10
- EXAMPLE_RULES = PACKAGE_DIRECTORY / "rules" / "examples"
11
- EXAMPLE_GRAPHS = PACKAGE_DIRECTORY / "graph" / "examples"
10
+ EXAMPLE_RULES = PACKAGE_DIRECTORY / "legacy" / "rules" / "examples"
11
+ EXAMPLE_GRAPHS = PACKAGE_DIRECTORY / "legacy" / "graph" / "examples"
12
12
  EXAMPLE_WORKFLOWS = PACKAGE_DIRECTORY / "workflows" / "examples"
13
13
 
14
14
  DEFAULT_NAMESPACE = Namespace("http://purl.org/cognite/neat#")
@@ -13,10 +13,10 @@ import pandas as pd
13
13
  from rdflib import RDF, Literal, Namespace, URIRef
14
14
 
15
15
  from cognite.neat.graph.models import Triple
16
- from cognite.neat.rules._analysis._information_rules import InformationArchitectRulesAnalysis
17
- from cognite.neat.rules.models._rules import DMSRules, InformationRules
18
- from cognite.neat.rules.models._rules._types import ClassEntity, EntityTypes, XSDValueType
19
- from cognite.neat.rules.models._rules.information_rules import InformationProperty
16
+ from cognite.neat.rules.analysis import InformationArchitectRulesAnalysis
17
+ from cognite.neat.rules.models.rules import DMSRules, InformationRules
18
+ from cognite.neat.rules.models.rules._information_rules import InformationProperty
19
+ from cognite.neat.rules.models.rules._types import ClassEntity, EntityTypes, XSDValueType
20
20
  from cognite.neat.utils.utils import remove_namespace
21
21
 
22
22
  from ._base import BaseExtractor
@@ -14,12 +14,11 @@ from rdflib.query import Result, ResultRow
14
14
  from cognite.neat.constants import DEFAULT_NAMESPACE, PREFIXES
15
15
  from cognite.neat.graph.models import Triple
16
16
  from cognite.neat.graph.stores._rdf_to_graph import rdf_file_to_graph
17
- from cognite.neat.rules.models.rules import Rules
18
17
 
19
18
  if sys.version_info >= (3, 11):
20
- from typing import Self
19
+ pass
21
20
  else:
22
- from typing_extensions import Self
21
+ pass
23
22
 
24
23
  prom_qsm = Summary("store_query_time_summary", "Time spent processing queries", ["query"])
25
24
  prom_sq = Gauge("store_single_query_time", "Time spent processing a single query", ["query"])
@@ -64,26 +63,6 @@ class NeatGraphStoreBase(ABC):
64
63
  self.storage_dirs_to_delete: list[Path] = []
65
64
  self.queries = _Queries(self)
66
65
 
67
- @classmethod
68
- def from_rules(cls, rules: Rules) -> Self:
69
- """
70
- Creates a new instance of NeatGraphStore from TransformationRules and runs the .init_graph() method on it.
71
-
72
- Args:
73
- rules: TransformationRules object containing information about the graph store.
74
-
75
- Returns:
76
- An instantiated instance of NeatGraphStore
77
-
78
- """
79
- if rules.metadata.namespace is None:
80
- namespace = DEFAULT_NAMESPACE
81
- else:
82
- namespace = rules.metadata.namespace
83
- store = cls(prefixes=rules.prefixes, namespace=namespace)
84
- store.init_graph(base_prefix=rules.metadata.prefix)
85
- return store
86
-
87
66
  @abstractmethod
88
67
  def _set_graph(self) -> None:
89
68
  raise NotImplementedError()
@@ -0,0 +1,3 @@
1
+ from .stores import NeatGraphStoreBase
2
+
3
+ __all__ = ["NeatGraphStoreBase"]