cognite-neat 0.123.29__tar.gz → 0.123.31__tar.gz
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-0.123.29 → cognite_neat-0.123.31}/.github/workflows/code-quality.yaml +26 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.pre-commit-config.yaml +1 -1
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/PKG-INFO +1 -1
- cognite_neat-0.123.31/cognite/neat/_data_model/models/dms/__init__.py +10 -0
- cognite_neat-0.123.31/cognite/neat/_data_model/models/dms/_base.py +27 -0
- cognite_neat-0.123.31/cognite/neat/_data_model/models/dms/_constants.py +2 -0
- cognite_neat-0.123.31/cognite/neat/_data_model/models/dms/_space.py +44 -0
- cognite_neat-0.123.31/cognite/neat/_utils/auxiliary.py +32 -0
- cognite_neat-0.123.31/cognite/neat/_version.py +2 -0
- cognite_neat-0.123.31/cognite/neat/data_model/models/entities/__init__.py +9 -0
- cognite_neat-0.123.31/cognite/neat/data_model/models/entities/_constants.py +17 -0
- cognite_neat-0.123.31/cognite/neat/data_model/models/entities/_identifiers.py +61 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_base.py +0 -4
- cognite_neat-0.123.31/last_changelog_entry.md +3 -0
- cognite_neat-0.123.31/last_git_message.txt +16 -0
- cognite_neat-0.123.31/last_version.txt +1 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/pyproject.toml +9 -3
- cognite_neat-0.123.31/test-pyodide.js +55 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow.py +0 -29
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_read.py +1 -1
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_plugins.py +0 -19
- cognite_neat-0.123.31/tests/tests_unit/test_rules/test_models/test_identifiers.py +179 -0
- cognite_neat-0.123.31/tests/tests_unit/test_rules/test_transformers/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit/test_session/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit/test_store/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit/test_utils/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_data_model/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_data_model/test_models/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_data_model/test_models/test_dms/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_resources.py +20 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_data_model/test_models/test_entities/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_utils/__init__.py +0 -0
- cognite_neat-0.123.31/tests/tests_unit_v1/test_utils/test_auxiliary.py +68 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/uv.lock +28 -1
- cognite_neat-0.123.29/cognite/neat/_version.py +0 -2
- cognite_neat-0.123.29/cognite/neat/session/_session/_data_model/__init__.py +0 -3
- cognite_neat-0.123.29/cognite/neat/session/_session/_data_model/_read.py +0 -193
- cognite_neat-0.123.29/cognite/neat/session/_session/_data_model/_routes.py +0 -45
- cognite_neat-0.123.29/cognite/neat/session/_session/_data_model/_show.py +0 -147
- cognite_neat-0.123.29/cognite/neat/session/_session/_data_model/_write.py +0 -335
- cognite_neat-0.123.29/last_changelog_entry.md +0 -5
- cognite_neat-0.123.29/last_git_message.txt +0 -17
- cognite_neat-0.123.29/last_version.txt +0 -1
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.coveragerc +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.gemini/styleguide.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/CODEOWNERS +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/pull_request_template.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/renovate.json +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.github/workflows/release.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.gitignore +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/.readthedocs.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/CODE_OF_CONDUCT.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/CONTRIBUTING.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/LICENSE +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/README.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cdf.toml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/codecov.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core → cognite_neat-0.123.31/cognite/neat/_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_client/_api → cognite_neat-0.123.31/cognite/neat/_data_model/models}/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_client/data_classes → cognite_neat-0.123.31/cognite/neat/_data_model/models/entities}/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_data_model → cognite_neat-0.123.31/cognite/neat/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_instances → cognite_neat-0.123.31/cognite/neat/core}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/__init__.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_instances/extractors/_classic_cdf → cognite_neat-0.123.31/cognite/neat/core/_client/_api}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/_api/data_modeling_loaders.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/_api/neat_instances.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/_api/schema.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/_api/statistics.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/_api_client.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/core/_utils → cognite_neat-0.123.31/cognite/neat/core/_client/data_classes}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/data_classes/data_modeling.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/data_classes/neat_sequence.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/data_classes/schema.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/data_classes/statistics.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_client/testing.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_config.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_constants.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/plugins/data_model → cognite_neat-0.123.31/cognite/neat/core/_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/_constants.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/_shared.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/analysis/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/analysis/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/catalog/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/catalog/classic_model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_data_model2dms.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_data_model2excel.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_data_model2instance_template.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_data_model2ontology.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/exporters/_data_model2yaml.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_base_file_reader.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_dict2data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_dms2data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_graph2data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_rdf/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_rdf/_shared.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/_base_unverified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/_base_verified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/_import_contexts.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/_types.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/conceptual/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/conceptual/_unverified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/conceptual/_validation.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/conceptual/_verified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/data_types.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_loaders.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_multi_value.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_restrictions.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_single_value.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_types.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/entities/_wrapped.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/mapping/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/mapping/_classic2core.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/mapping/_classic2core.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/physical/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/physical/_exporter.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/physical/_unverified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/physical/_validation.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/models/physical/_verified.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/_converters.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/_mapping.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/_union_conceptual.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_data_model/transformers/_verification.py +0 -0
- {cognite_neat-0.123.29/cognite/neat/session/_session → cognite_neat-0.123.31/cognite/neat/core/_instances}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/_shared.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/_tracking/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/_tracking/base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/_tracking/log.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/examples/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_base.py +0 -0
- {cognite_neat-0.123.29/tests → cognite_neat-0.123.31/cognite/neat/core/_instances/extractors/_classic_cdf}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_events.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_files.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_dict.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_dms.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_dms_graph.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_raw.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/loaders/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/loaders/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/queries/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/queries/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/queries/_queries.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/queries/_select.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/queries/_update.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/_prune_graph.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/_rdfpath.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_instances/transformers/_value_type.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/_contextmanagers.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/_factory.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/_external.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/_general.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/_properties.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/_resources.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/errors/_wrapper.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/formatters.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/_external.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/_general.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/_models.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/_properties.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/_resources.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_issues/warnings/user_modeling.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_shared.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_store/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_store/_data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_store/_instance.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_store/_provenance.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_store/exceptions.py +0 -0
- {cognite_neat-0.123.29/tests/tests_end_to_end → cognite_neat-0.123.31/cognite/neat/core/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/auth.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/collection_.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/graph_transformations_report.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/io_.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/rdf_.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/reader/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/reader/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/spreadsheet.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/tarjan.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/text.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/time_.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/upload.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/core/_utils/xml_.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration → cognite_neat-0.123.31/cognite/neat/data_model}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/plugins/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/plugins/_issues.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/plugins/_manager.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_api → cognite_neat-0.123.31/cognite/neat/plugins/data_model}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/plugins/data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/plugins/data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_collector.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_drop.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_experimental.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_explore.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_fix.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_inspect.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_mapping.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_plugin.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_prepare.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_read.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_set.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_show.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_state/README.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_state.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_subset.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_template.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_to.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/_wizard.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/engine/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/engine/_import.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/engine/_interface.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/engine/_load.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/cognite/neat/session/exceptions.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/dev.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/aml-dm.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/aml-instances-full.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/authorship.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/base-components.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/change_validate_step.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/container_spec.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/core_extension.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/core_extension_excel.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/data-exploration.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/data-model-nordic44.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm-classes.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm-object-shapes.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm-prefixes.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/execution-history.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/export_dms_config.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/export_dms_executed.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/export_dms_workflow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/features.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/graph-etl-flow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/high-level-io.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/instances-nordic44.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/instances-sheet.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/logo.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/metadata-sheet.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/multi-hop.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/neat-high-level.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/neat-two_flows.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/neat_shift_tab.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/neat_tab.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/prefixes-sheet.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/run_workflow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/step-configurables.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/step-metrics.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/validate_workflow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wf-overview.gif +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/work-in-progress.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/workflow-context.jpg +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/data-modeling-principles.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/conceptual/overview.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/conceptual/reference.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/data_model.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/physical/enum.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/physical/overview.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/physical/properties.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/physical/reference.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/physical/views.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/excel_data_modeling/units.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/gettingstarted/installation.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/gettingstarted/why-neat.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/index.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/base.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/drop.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/fix.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/inspect.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/mapping.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/prepare.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/read.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/set.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/show.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/subset.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/template.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/NeatSession/to.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/issues/base.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/issues/errors.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/issues/user_model_warnings.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/issues/warnings.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/reference/overview.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/docs/tutorials/introduction/introduction.ipynb +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/mkdocs.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/clean_space.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/core_classic_mapping.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/create_classic_core_mapping_yaml.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/dependency_profiler.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/docs_generate_reference.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/docs_generate_unit.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/generate_steps_md.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/.gitignore +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/README.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/config.dev.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/manual_test_dms_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/migration.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/oxi_remote/README.md +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/oxi_remote/docker-compose.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/test_lookup_table.csv +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/scripts/windfarm_to_toolkit.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_graph → cognite_neat-0.123.31/tests}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/config.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/conftest.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/aml-raw-graph.ttl +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/aml_example.aml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/car.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/dexpi-raw-graph.ttl +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/dexpi_example.xml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/iodd_Piab-piCOMPACT10X-20230509-IODD1.1.xml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_graph/low-quality-graph.ttl +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/assets.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/events.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/files.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/labels.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/relationships.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/sequence_rows.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/sequences.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/asset_centric_cdf/timeseries.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_instances/classic_windfarm.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/broken_concepts.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/dangling-properties.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/info-arch-car-rules.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/info_with_cdm_ref.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/information-unknown-value-type.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/only_concepts.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conceptual/ontology.ttl +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conversion/single_concept.conceptual.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/conversion/single_concept.physical.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/non_neat/cognite_core_v1.zip +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/non_neat/referencing_core/MyDescribable.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/non_neat/referencing_core/MyDescribable.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/non_neat/referencing_core/enterprise.datamodel.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/non_neat/windturbine.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/partial-model/complete.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/partial-model/part1.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/partial-model/part2.ttl +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/partial-model/part3.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/car_dms_rules_deprecated.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/dm_raw_filter.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/dm_view_space_different.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/dms-unknown-value-type.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/isa_plus_cdm.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/missing-in-model-value.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/mixed-up-version.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/physical_singleton_issue.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/pump_example_duplicated_resources.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/pump_example_with_missing_cells.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/pump_example_with_missing_cells_raise_issues.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/1.Production.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/10.SimNode.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/12.SimSubNode.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/13.SimEdge.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/14.Property.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/15.Coordinate.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/16.Coordinates.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/17.ModelExecutionEnvironment.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/18.Coordinate.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/19.Coordinates.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/2.SimulationModel.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/20.SimEdge.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/21.ProductionTimeseries.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/22.SimNode.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/23.Production.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/24.SimSubNode.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/25.SimulationResultFile.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/26.InputProperty.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/28.OutputProperty.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/29.Property.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/3.strongly-coupled-model.datamodel.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/30.SimulationModel.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/31.SimNodeAndEdge.view.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/5.my.space.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/6.ModelExecutionEnvironment.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/7.ProductionTimeseries.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/8.SimNodeAndEdge.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical/strongly_connected_model/data_models/9.SimulationResultFile.container.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/inconsistent_container_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/invalid_metadata.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/invalid_property_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/missing_view_container_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/too_many_containers_per_view.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_invalid/views_without_properties.xlsx +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/invalid_indices.expected_issues.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/invalid_indices.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/invalid_yaml.expected_issues.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/invalid_yaml.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/multiple_indices_on_property.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.expected_issues.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.yaml +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_graph/test_loaders → cognite_neat-0.123.31/tests/tests_end_to_end}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml_new_endpoint.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_neat_client → cognite_neat-0.123.31/tests/tests_integration}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/conftest.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_rules → cognite_neat-0.123.31/tests/tests_integration/test_api}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_api/test_conversion.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_api/test_validate_rules.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_client_available.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_rules/test_exporters → cognite_neat-0.123.31/tests/tests_integration/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_rules/test_importers → cognite_neat-0.123.31/tests/tests_integration/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_session → cognite_neat-0.123.31/tests/tests_integration/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_neat_client/test_statistics.py +0 -0
- {cognite_neat-0.123.29/tests/tests_integration/test_utils → cognite_neat-0.123.31/tests/tests_integration/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit → cognite_neat-0.123.31/tests/tests_integration/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_graph → cognite_neat-0.123.31/tests/tests_integration/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_graph/test_extractors → cognite_neat-0.123.31/tests/tests_integration/test_session}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_create_enterprise.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_data_model_to.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_graph_flow.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_read/test_read_cdm.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_graph/test_loaders → cognite_neat-0.123.31/tests/tests_integration/test_utils}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_graph/test_transformers → cognite_neat-0.123.31/tests/tests_unit}/__init__.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_issues → cognite_neat-0.123.31/tests/tests_unit/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_neat_client → cognite_neat-0.123.31/tests/tests_unit/test_graph/test_extractors}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_graph_read.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_rules → cognite_neat-0.123.31/tests/tests_unit/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_provenance.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_rules/test_exporters → cognite_neat-0.123.31/tests/tests_unit/test_graph/test_transformers}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_rules/test_importers → cognite_neat-0.123.31/tests/tests_unit/test_issues}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_issues/test_formatters.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_issues/test_issue_behavior.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_issues/test_issues_metatests.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_rules/test_models → cognite_neat-0.123.31/tests/tests_unit/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_neat_client/test_instances.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_neat_client/test_loaders.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_neat_client/test_schema.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_neat_package_metadata.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_rules/test_transformers → cognite_neat-0.123.31/tests/tests_unit/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_analysis.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_session → cognite_neat-0.123.31/tests/tests_unit/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_store → cognite_neat-0.123.31/tests/tests_unit/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/constants.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_graph_data_model_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
- {cognite_neat-0.123.29/tests/tests_unit/test_utils → cognite_neat-0.123.31/tests/tests_unit/test_rules/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_data_types.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_entities.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_restrictions.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_models/utils.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_rules/test_transformers/test_union_conceptual.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_session/test_flows.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_session/test_meta.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_session/test_plugin.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_session/test_read.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_session/test_to_yaml.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_store/test_select_queries.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_store/tests_rules_store.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_cdf_classes.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_rdf.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_tarjan.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_text.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_unit/test_utils/test_utils.py +0 -0
- {cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/utils.py +0 -0
|
@@ -148,3 +148,29 @@ jobs:
|
|
|
148
148
|
fs.writeFileSync('last_git_message.txt', description);
|
|
149
149
|
- name: Validate Changelog section in PR description
|
|
150
150
|
run: uv run python dev.py changelog
|
|
151
|
+
|
|
152
|
+
build_and_test_jupyter_pyodide:
|
|
153
|
+
runs-on: ubuntu-latest
|
|
154
|
+
steps:
|
|
155
|
+
- uses: actions/checkout@v5
|
|
156
|
+
|
|
157
|
+
- name: Install uv and set the python version
|
|
158
|
+
uses: astral-sh/setup-uv@v6
|
|
159
|
+
with:
|
|
160
|
+
python-version: ${{ env.MAIN_PYTHON_VERSION }}
|
|
161
|
+
|
|
162
|
+
- name: Build package using uv
|
|
163
|
+
run: uv build
|
|
164
|
+
- name: Set up Node.js
|
|
165
|
+
uses: actions/setup-node@v5
|
|
166
|
+
with:
|
|
167
|
+
node-version: "22"
|
|
168
|
+
- name: Install dependencies
|
|
169
|
+
run: npm install pyodide@0.27.6 # JupyterLite currently using pyodide 0.26.2
|
|
170
|
+
- name: Install neat in pyodide environment
|
|
171
|
+
run: |
|
|
172
|
+
whl_file=$(find dist -name "*.whl" | sed 's|^dist/||') # Find the built wheel file, remove dist/ prefix
|
|
173
|
+
echo "Found built wheel file: $whl_file"
|
|
174
|
+
NEAT_FILE_PATH=$whl_file \
|
|
175
|
+
PACKAGES="[\"pyodide-http\", \"pandas\", \"typing-extensions>=4.14.0\", \"http://localhost:3000/dist/$whl_file\"]" \
|
|
176
|
+
node test-pyodide.js
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.123.
|
|
3
|
+
Version: 0.123.31
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Project-URL: Documentation, https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
Project-URL: Homepage, https://cognite-neat.readthedocs-hosted.com/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Generic, TypeVar
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel
|
|
5
|
+
from pydantic.alias_generators import to_camel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class BaseModelObject(BaseModel, alias_generator=to_camel, extra="ignore"):
|
|
9
|
+
"""Base class for all object. This includes resources and nested objects."""
|
|
10
|
+
|
|
11
|
+
...
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Resource(BaseModelObject):
|
|
15
|
+
"""Base class for all data modeling resources."""
|
|
16
|
+
|
|
17
|
+
...
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T_Resource = TypeVar("T_Resource", bound=Resource)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class WriteableResource(Generic[T_Resource], Resource, ABC):
|
|
24
|
+
@abstractmethod
|
|
25
|
+
def as_request(self) -> T_Resource:
|
|
26
|
+
"""Convert the response model to a request model by removing read-only fields."""
|
|
27
|
+
raise NotImplementedError()
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from abc import ABC
|
|
2
|
+
|
|
3
|
+
from pydantic import Field, field_validator
|
|
4
|
+
|
|
5
|
+
from cognite.neat.core._utils.text import humanize_collection
|
|
6
|
+
|
|
7
|
+
from ._base import WriteableResource
|
|
8
|
+
from ._constants import FORBIDDEN_SPACES, SPACE_FORMAT_PATTERN
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Space(WriteableResource["SpaceRequest"], ABC):
|
|
12
|
+
space: str = Field(
|
|
13
|
+
description="The Space identifier (id).",
|
|
14
|
+
min_length=1,
|
|
15
|
+
max_length=43,
|
|
16
|
+
pattern=SPACE_FORMAT_PATTERN,
|
|
17
|
+
)
|
|
18
|
+
name: str | None = Field(None, description="Name of the space.", max_length=1024)
|
|
19
|
+
description: str | None = Field(None, description="The description of the space.", max_length=255)
|
|
20
|
+
|
|
21
|
+
@field_validator("space")
|
|
22
|
+
def check_forbidden_space_value(cls, val: str) -> str:
|
|
23
|
+
"""Check the space name not present in forbidden set"""
|
|
24
|
+
if val in FORBIDDEN_SPACES:
|
|
25
|
+
raise ValueError(f"{val!r} is a reserved space. Reserved Spaces: {humanize_collection(FORBIDDEN_SPACES)}")
|
|
26
|
+
return val
|
|
27
|
+
|
|
28
|
+
def as_request(self) -> "SpaceRequest":
|
|
29
|
+
return SpaceRequest.model_validate(self.model_dump(by_alias=True))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class SpaceResponse(Space):
|
|
33
|
+
created_time: int = Field(
|
|
34
|
+
description="When the space was created. The number of milliseconds since 00:00:00 Thursday, 1 January 1970, "
|
|
35
|
+
"Coordinated Universal Time (UTC), minus leap seconds."
|
|
36
|
+
)
|
|
37
|
+
last_updated_time: int = Field(
|
|
38
|
+
description="When the space was last updated. The number of milliseconds since 00:00:00 Thursday, "
|
|
39
|
+
"1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
|
|
40
|
+
)
|
|
41
|
+
is_global: bool = Field(description="Whether the space is a global space.")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class SpaceRequest(Space): ...
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import inspect
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from typing import TypeVar
|
|
4
|
+
|
|
5
|
+
T_Cls = TypeVar("T_Cls")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_concrete_subclasses(base_cls: type[T_Cls], exclude_direct_abc_inheritance: bool = True) -> list[type[T_Cls]]:
|
|
9
|
+
"""
|
|
10
|
+
Returns a list of all concrete subclasses of the given base class.
|
|
11
|
+
Args:
|
|
12
|
+
base_cls (type[T_Cls]): The base class to find subclasses for.
|
|
13
|
+
exclude_direct_abc_inheritance (bool): If True, excludes classes that directly inherit from `abc.ABC`.
|
|
14
|
+
This is used as a marker to filter out intermediate base classes. Defaults to True.
|
|
15
|
+
Returns:
|
|
16
|
+
list[type[T_Cls]]: A list of concrete subclasses of the base class.
|
|
17
|
+
"""
|
|
18
|
+
to_check = [base_cls]
|
|
19
|
+
subclasses: list[type[T_Cls]] = []
|
|
20
|
+
seen: set[type[T_Cls]] = {base_cls}
|
|
21
|
+
while to_check:
|
|
22
|
+
current_cls = to_check.pop()
|
|
23
|
+
for subclass in current_cls.__subclasses__():
|
|
24
|
+
if subclass in seen:
|
|
25
|
+
continue
|
|
26
|
+
if (not inspect.isabstract(subclass)) and (
|
|
27
|
+
not exclude_direct_abc_inheritance or ABC not in subclass.__bases__
|
|
28
|
+
):
|
|
29
|
+
subclasses.append(subclass)
|
|
30
|
+
seen.add(subclass)
|
|
31
|
+
to_check.append(subclass)
|
|
32
|
+
return subclasses
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from pydantic import BaseModel
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class _UndefinedType(BaseModel): ...
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class _UnknownType(BaseModel):
|
|
8
|
+
def __str__(self) -> str:
|
|
9
|
+
return "#N/A"
|
|
10
|
+
|
|
11
|
+
def __hash__(self) -> int:
|
|
12
|
+
return hash(str(self))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# This is a trick to make Undefined and Unknown singletons
|
|
16
|
+
Undefined = _UndefinedType()
|
|
17
|
+
Unknown = _UnknownType()
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from pydantic import HttpUrl, RootModel, ValidationError
|
|
2
|
+
|
|
3
|
+
from cognite.neat.core._utils.auxiliary import local_import
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class URI(RootModel[str]):
|
|
7
|
+
def __init__(self, value: str):
|
|
8
|
+
try:
|
|
9
|
+
# Use Pydantic's HttpUrl to validate the URI
|
|
10
|
+
_ = HttpUrl(value)
|
|
11
|
+
except ValidationError as e:
|
|
12
|
+
raise ValueError(f"Invalid URI: {value}") from e
|
|
13
|
+
super().__init__(value)
|
|
14
|
+
|
|
15
|
+
def __str__(self) -> str:
|
|
16
|
+
return self.root
|
|
17
|
+
|
|
18
|
+
def __repr__(self) -> str:
|
|
19
|
+
return f"URI({self.root!r})"
|
|
20
|
+
|
|
21
|
+
def as_rdflib_uriref(self): # type: ignore[no-untyped-def]
|
|
22
|
+
# rdflib is an optional dependency, so import here
|
|
23
|
+
local_import("rdflib", "rdflib")
|
|
24
|
+
from rdflib import URIRef
|
|
25
|
+
|
|
26
|
+
return URIRef(self.root)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class NameSpace(RootModel[str]):
|
|
30
|
+
def __init__(self, value: str):
|
|
31
|
+
try:
|
|
32
|
+
# Use Pydantic's HttpUrl to validate the URI
|
|
33
|
+
_ = HttpUrl(value)
|
|
34
|
+
except ValidationError as e:
|
|
35
|
+
raise ValueError(f"Invalid Namespace: {value}") from e
|
|
36
|
+
super().__init__(value)
|
|
37
|
+
|
|
38
|
+
def __str__(self) -> str:
|
|
39
|
+
return self.root
|
|
40
|
+
|
|
41
|
+
def __repr__(self) -> str:
|
|
42
|
+
return f"NameSpace({self.root!r})"
|
|
43
|
+
|
|
44
|
+
def term(self, name: str) -> URI:
|
|
45
|
+
# need to handle slices explicitly because of __getitem__ override
|
|
46
|
+
return URI(self.root + (name if isinstance(name, str) else ""))
|
|
47
|
+
|
|
48
|
+
def __getitem__(self, key: str) -> URI: # type: ignore[override]
|
|
49
|
+
return self.term(key)
|
|
50
|
+
|
|
51
|
+
def __getattr__(self, name: str) -> URI:
|
|
52
|
+
if name.startswith("__"): # ignore any special Python names!
|
|
53
|
+
raise AttributeError
|
|
54
|
+
return self.term(name)
|
|
55
|
+
|
|
56
|
+
def as_rdflib_namespace(self): # type: ignore[no-untyped-def]
|
|
57
|
+
# rdflib is an optional dependency, so import here
|
|
58
|
+
local_import("rdflib", "rdflib")
|
|
59
|
+
from rdflib import Namespace
|
|
60
|
+
|
|
61
|
+
return Namespace(self.root)
|
|
@@ -33,7 +33,6 @@ from ._mapping import MappingAPI
|
|
|
33
33
|
from ._plugin import PluginAPI
|
|
34
34
|
from ._prepare import PrepareAPI
|
|
35
35
|
from ._read import ReadAPI
|
|
36
|
-
from ._session._data_model import DataModelAPI
|
|
37
36
|
from ._set import SetAPI
|
|
38
37
|
from ._show import ShowAPI
|
|
39
38
|
from ._state import SessionState
|
|
@@ -116,9 +115,6 @@ class NeatSession:
|
|
|
116
115
|
if load_engine != "skip" and (engine_version := load_neat_engine(client, load_engine)):
|
|
117
116
|
print(f"Neat Engine {engine_version} loaded.")
|
|
118
117
|
|
|
119
|
-
# new API for data model operations
|
|
120
|
-
self.data_model = DataModelAPI(self._state)
|
|
121
|
-
|
|
122
118
|
def _select_most_performant_store(self) -> Literal["memory", "oxigraph"]:
|
|
123
119
|
"""Select the most performant store based on the current environment."""
|
|
124
120
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Removing object oriented Neat session endpoints (#1288)
|
|
2
|
+
|
|
3
|
+
# Description
|
|
4
|
+
|
|
5
|
+
New object oriented session endpoints are removed due to agreed strategy
|
|
6
|
+
for neat version 1, which will be based on this new approach.
|
|
7
|
+
|
|
8
|
+
## Bump
|
|
9
|
+
|
|
10
|
+
- [x] Patch
|
|
11
|
+
- [ ] Minor
|
|
12
|
+
- [ ] Skip
|
|
13
|
+
|
|
14
|
+
## Changelog
|
|
15
|
+
### Removed
|
|
16
|
+
- Object oriented session endpoints
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.123.30
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "cognite-neat"
|
|
3
|
-
version = "0.123.
|
|
3
|
+
version = "0.123.31"
|
|
4
4
|
readme = "README.md"
|
|
5
5
|
description = "Knowledge graph transformation"
|
|
6
6
|
authors = [
|
|
@@ -95,6 +95,7 @@ dev = [
|
|
|
95
95
|
"tqdm>=4.67.1, <5",
|
|
96
96
|
"deepdiff>=8.2.0, <9.0.0",
|
|
97
97
|
"hypothesis>=6.135.0, <7.0.0",
|
|
98
|
+
"polyfactory>=2.22.2",
|
|
98
99
|
]
|
|
99
100
|
|
|
100
101
|
[tool.uv]
|
|
@@ -126,12 +127,17 @@ allow_redefinition = true
|
|
|
126
127
|
namespace_packages = true
|
|
127
128
|
show_error_codes = true
|
|
128
129
|
plugins = ["pydantic.mypy"]
|
|
129
|
-
|
|
130
|
+
# We use reflection a lot in this codebace, and mypy does not understand that
|
|
131
|
+
# finding all subclasses of an abstract class gives you concrete implementations.
|
|
132
|
+
# Thus, we disable the type-abstract error.
|
|
133
|
+
disable_error_code = ["type-abstract"]
|
|
130
134
|
|
|
131
135
|
[tool.pydantic-mypy]
|
|
132
136
|
init_forbid_extra = true
|
|
133
137
|
init_typed = true
|
|
134
|
-
|
|
138
|
+
# We use dynamic alias creation as much as possible. This is to ensure
|
|
139
|
+
# all aliases are consistentenly camelCase.
|
|
140
|
+
warn_required_dynamic_aliases = false
|
|
135
141
|
|
|
136
142
|
[build-system]
|
|
137
143
|
requires = ["hatchling >= 1.26"]
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Description: This script is used to test the Pygen installation in a Pyodide environment.
|
|
2
|
+
// We are using JupyterLite and stlite, both pyodide based Python runtimes. To ensure that pygen works
|
|
3
|
+
// in these runtimes, we need to test the installation of the pygen in a Pyodide environment.
|
|
4
|
+
// This script will start an HTTP server to serve the pygen wheel file and then try to install the pygen in Python.
|
|
5
|
+
// If the installation is successful, it will run a simple Python script to test pygen.
|
|
6
|
+
const { loadPyodide } = require("pyodide");
|
|
7
|
+
|
|
8
|
+
const http = require('http');
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
|
|
12
|
+
const PORT = 3000;
|
|
13
|
+
|
|
14
|
+
// The Neat wheel filename will be sent in as environment variable
|
|
15
|
+
const wheelFilePath = path.join(__dirname, 'dist', process.env.NEAT_FILE_PATH);
|
|
16
|
+
|
|
17
|
+
// Create an HTTP server to serve the wheel file
|
|
18
|
+
const server = http.createServer((req, res) => {
|
|
19
|
+
fs.readFile(wheelFilePath, (err, data) => {
|
|
20
|
+
if (err) {
|
|
21
|
+
// Handle file read errors
|
|
22
|
+
res.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
23
|
+
res.end('500 - Internal Server Error');
|
|
24
|
+
} else {
|
|
25
|
+
// Serve the file content
|
|
26
|
+
res.writeHead(200, { 'Content-Type': 'application/octet-stream' });
|
|
27
|
+
res.end(data);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Start the server and listen on the defined port. Then try to install Neat in Python
|
|
33
|
+
server.listen(PORT, () => {
|
|
34
|
+
console.log(`Server is running at http://localhost:${PORT}. Now trying to install neat.`);
|
|
35
|
+
|
|
36
|
+
async function test_cognite_neat() {
|
|
37
|
+
let pyodide = await loadPyodide();
|
|
38
|
+
await pyodide.loadPackage("micropip");
|
|
39
|
+
const micropip = pyodide.pyimport("micropip");
|
|
40
|
+
// Read packages to install from environment variable as JSON
|
|
41
|
+
|
|
42
|
+
const packages = JSON.parse(process.env.PACKAGES);
|
|
43
|
+
for (const pkg of packages) {
|
|
44
|
+
await micropip.install(pkg);
|
|
45
|
+
}
|
|
46
|
+
await pyodide.runPythonAsync("from cognite.neat import NeatSession");
|
|
47
|
+
|
|
48
|
+
return pyodide.runPythonAsync('"Neat successfully installed and imported!"');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
test_cognite_neat().then((result) => {
|
|
52
|
+
console.log("Response from Python =", result);
|
|
53
|
+
server.close();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -28,21 +28,6 @@ class TestImportersToYAMLExporter:
|
|
|
28
28
|
exported_rules = yaml.safe_load(exported_yaml_str)
|
|
29
29
|
data_regression.check(exported_rules)
|
|
30
30
|
|
|
31
|
-
def test_excel_importer_to_yaml_new_endpoint(self, data_regression: DataRegressionFixture) -> None:
|
|
32
|
-
neat = NeatSession(verbose=False)
|
|
33
|
-
|
|
34
|
-
neat.data_model.read.excel(DOC_RULES / "information-architect-david.xlsx")
|
|
35
|
-
|
|
36
|
-
neat.convert()
|
|
37
|
-
|
|
38
|
-
exported_yaml_str = neat.to.yaml()
|
|
39
|
-
|
|
40
|
-
exported_rules = yaml.safe_load(exported_yaml_str)
|
|
41
|
-
data_regression.check(exported_rules)
|
|
42
|
-
|
|
43
|
-
exported_rules = yaml.safe_load(exported_yaml_str)
|
|
44
|
-
data_regression.check(exported_rules)
|
|
45
|
-
|
|
46
31
|
def test_prohibiting_conversion_with_nice_message(self) -> None:
|
|
47
32
|
neat = NeatSession()
|
|
48
33
|
|
|
@@ -57,20 +42,6 @@ class TestImportersToYAMLExporter:
|
|
|
57
42
|
"[ERROR] Cannot convert: Convert to physical expects conceptual data model"
|
|
58
43
|
)
|
|
59
44
|
|
|
60
|
-
def test_prohibiting_conversion_with_nice_message_new_endpoint(self) -> None:
|
|
61
|
-
neat = NeatSession()
|
|
62
|
-
|
|
63
|
-
neat.data_model.read.ontology(SchemaData.Conceptual.ontology_with_regex_warnings)
|
|
64
|
-
|
|
65
|
-
output = io.StringIO()
|
|
66
|
-
with contextlib.redirect_stdout(output):
|
|
67
|
-
neat.convert()
|
|
68
|
-
|
|
69
|
-
printed_statements = output.getvalue()
|
|
70
|
-
assert printed_statements.startswith(
|
|
71
|
-
"[ERROR] Cannot convert: Convert to physical expects conceptual data model"
|
|
72
|
-
)
|
|
73
|
-
|
|
74
45
|
@pytest.mark.freeze_time("2017-05-21")
|
|
75
46
|
@pytest.mark.skip("Needs NEAT-608 to be completed")
|
|
76
47
|
def test_ontology_importer_to_yaml(self, data_regression: DataRegressionFixture, tmp_path: Path) -> None:
|
{cognite_neat-0.123.29 → cognite_neat-0.123.31}/tests/tests_integration/test_session/test_read.py
RENAMED
|
@@ -41,7 +41,7 @@ class TestRead:
|
|
|
41
41
|
neat = NeatSession(client=cognite_client)
|
|
42
42
|
# The CogniteDescribable view is referenced in the REFERENCING_CORE model read below.
|
|
43
43
|
# The data product should lookup the describable properties and include them.
|
|
44
|
-
neat.
|
|
44
|
+
neat.read.cdf.data_model(("cdf_cdm", "CogniteCore", "v1"))
|
|
45
45
|
|
|
46
46
|
exported_yaml_str = neat.to.yaml()
|
|
47
47
|
exported_rules = yaml.safe_load(exported_yaml_str)
|
|
@@ -147,16 +147,6 @@ def test_plugin_error_handling():
|
|
|
147
147
|
"[ERROR] PluginError: No plugin of type 'DataModelImporterPlugin' registered \nunder name 'csv'\n"
|
|
148
148
|
)
|
|
149
149
|
|
|
150
|
-
# Alternative access point to the plugins via read
|
|
151
|
-
output = io.StringIO()
|
|
152
|
-
with contextlib.redirect_stdout(output):
|
|
153
|
-
neat.data_model.read("csv", "./test.txt")
|
|
154
|
-
|
|
155
|
-
printed_statements = output.getvalue()
|
|
156
|
-
assert printed_statements == (
|
|
157
|
-
"[ERROR] PluginError: No plugin of type 'DataModelImporterPlugin' registered \nunder name 'csv'\n"
|
|
158
|
-
)
|
|
159
|
-
|
|
160
150
|
|
|
161
151
|
def test_plugin_read(mock_external_plugin):
|
|
162
152
|
neat = NeatSession()
|
|
@@ -166,12 +156,3 @@ def test_plugin_read(mock_external_plugin):
|
|
|
166
156
|
neat._state.data_model_store.last_verified_conceptual_data_model,
|
|
167
157
|
ConceptualDataModel,
|
|
168
158
|
)
|
|
169
|
-
|
|
170
|
-
# alternative access point to the plugins via read
|
|
171
|
-
neat = NeatSession()
|
|
172
|
-
neat.data_model.read("excel", SchemaData.Conceptual.info_arch_car_rules_xlsx)
|
|
173
|
-
|
|
174
|
-
assert isinstance(
|
|
175
|
-
neat._state.data_model_store.last_verified_conceptual_data_model,
|
|
176
|
-
ConceptualDataModel,
|
|
177
|
-
)
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
from rdflib import Namespace, URIRef
|
|
3
|
+
|
|
4
|
+
from cognite.neat.data_model.models.entities import URI, NameSpace
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class TestNameSpace:
|
|
8
|
+
def test_valid_namespace_creation(self):
|
|
9
|
+
"""Test creating a NameSpace with valid URIs."""
|
|
10
|
+
valid_namespaces = [
|
|
11
|
+
"http://example.com/",
|
|
12
|
+
"https://example.org/vocab#",
|
|
13
|
+
"http://www.w3.org/2000/01/rdf-schema#",
|
|
14
|
+
"https://schema.org/",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
for namespace_str in valid_namespaces:
|
|
18
|
+
ns = NameSpace(namespace_str)
|
|
19
|
+
assert str(ns) == namespace_str
|
|
20
|
+
assert ns.root == namespace_str
|
|
21
|
+
|
|
22
|
+
def test_invalid_namespace_creation(self):
|
|
23
|
+
"""Test that invalid URIs raise ValueError."""
|
|
24
|
+
invalid_namespaces = [
|
|
25
|
+
"not-a-uri",
|
|
26
|
+
"",
|
|
27
|
+
"://invalid",
|
|
28
|
+
"http://",
|
|
29
|
+
"just-text",
|
|
30
|
+
"ftp://files.example.com/",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
for invalid_ns in invalid_namespaces:
|
|
34
|
+
with pytest.raises(ValueError, match="Invalid Namespace"):
|
|
35
|
+
NameSpace(invalid_ns)
|
|
36
|
+
|
|
37
|
+
def test_namespace_repr(self):
|
|
38
|
+
"""Test string representation of NameSpace."""
|
|
39
|
+
ns = NameSpace("http://example.com/")
|
|
40
|
+
assert repr(ns) == "NameSpace('http://example.com/')"
|
|
41
|
+
|
|
42
|
+
def test_term_method(self):
|
|
43
|
+
"""Test creating terms using the term method."""
|
|
44
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
45
|
+
|
|
46
|
+
term = ns.term("Person")
|
|
47
|
+
assert isinstance(term, URI)
|
|
48
|
+
assert str(term) == "http://example.com/vocab#Person"
|
|
49
|
+
|
|
50
|
+
term = ns.term("hasName")
|
|
51
|
+
assert str(term) == "http://example.com/vocab#hasName"
|
|
52
|
+
|
|
53
|
+
def test_getitem_method(self):
|
|
54
|
+
"""Test creating terms using bracket notation."""
|
|
55
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
56
|
+
|
|
57
|
+
term = ns["Person"]
|
|
58
|
+
assert isinstance(term, URI)
|
|
59
|
+
assert str(term) == "http://example.com/vocab#Person"
|
|
60
|
+
|
|
61
|
+
term = ns["hasAge"]
|
|
62
|
+
assert str(term) == "http://example.com/vocab#hasAge"
|
|
63
|
+
|
|
64
|
+
def test_getattr_method(self):
|
|
65
|
+
"""Test creating terms using attribute access."""
|
|
66
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
67
|
+
|
|
68
|
+
term = ns.Person
|
|
69
|
+
assert isinstance(term, URI)
|
|
70
|
+
assert str(term) == "http://example.com/vocab#Person"
|
|
71
|
+
|
|
72
|
+
term = ns.hasName
|
|
73
|
+
assert str(term) == "http://example.com/vocab#hasName"
|
|
74
|
+
|
|
75
|
+
def test_getattr_special_names(self):
|
|
76
|
+
"""Test that special Python names raise AttributeError."""
|
|
77
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
78
|
+
|
|
79
|
+
with pytest.raises(AttributeError):
|
|
80
|
+
_ = ns.__special__
|
|
81
|
+
|
|
82
|
+
def test_as_rdflib_namespace(self):
|
|
83
|
+
"""Test conversion to rdflib Namespace."""
|
|
84
|
+
pytest.importorskip("rdflib")
|
|
85
|
+
|
|
86
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
87
|
+
rdflib_ns = ns.as_rdflib_namespace()
|
|
88
|
+
|
|
89
|
+
assert isinstance(rdflib_ns, Namespace)
|
|
90
|
+
assert str(rdflib_ns) == "http://example.com/vocab#"
|
|
91
|
+
|
|
92
|
+
@pytest.mark.parametrize(
|
|
93
|
+
"term_name",
|
|
94
|
+
[
|
|
95
|
+
"Person",
|
|
96
|
+
"hasName",
|
|
97
|
+
"Organization",
|
|
98
|
+
"member_of",
|
|
99
|
+
"CamelCase",
|
|
100
|
+
"snake_case",
|
|
101
|
+
"kebab-case",
|
|
102
|
+
],
|
|
103
|
+
)
|
|
104
|
+
def test_various_term_names(self, term_name: str):
|
|
105
|
+
"""Test creating terms with various naming conventions."""
|
|
106
|
+
ns = NameSpace("http://example.com/vocab#")
|
|
107
|
+
|
|
108
|
+
# Test all three ways of creating terms
|
|
109
|
+
term1 = ns.term(term_name)
|
|
110
|
+
term2 = ns[term_name]
|
|
111
|
+
term3 = getattr(ns, term_name)
|
|
112
|
+
|
|
113
|
+
expected = f"http://example.com/vocab#{term_name}"
|
|
114
|
+
assert str(term1) == expected
|
|
115
|
+
assert str(term2) == expected
|
|
116
|
+
assert str(term3) == expected
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class TestURI:
|
|
120
|
+
def test_valid_uri_creation(self):
|
|
121
|
+
"""Test creating URI with valid URIs."""
|
|
122
|
+
valid_uris = [
|
|
123
|
+
"http://example.com",
|
|
124
|
+
"https://example.org/path",
|
|
125
|
+
"http://www.w3.org/2000/01/rdf-schema#Class",
|
|
126
|
+
"https://schema.org/Person",
|
|
127
|
+
]
|
|
128
|
+
|
|
129
|
+
for uri_str in valid_uris:
|
|
130
|
+
uri = URI(uri_str)
|
|
131
|
+
assert str(uri) == uri_str
|
|
132
|
+
assert uri.root == uri_str
|
|
133
|
+
|
|
134
|
+
def test_invalid_uri_creation(self):
|
|
135
|
+
"""Test that invalid URIs raise ValueError."""
|
|
136
|
+
invalid_uris = [
|
|
137
|
+
"not-a-uri",
|
|
138
|
+
"",
|
|
139
|
+
"://invalid",
|
|
140
|
+
"http://",
|
|
141
|
+
"just-text",
|
|
142
|
+
"file:///path/to/file",
|
|
143
|
+
"mailto:user@example.com",
|
|
144
|
+
"ftp://files.example.com/file.txt",
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
for invalid_uri in invalid_uris:
|
|
148
|
+
with pytest.raises(ValueError, match="Invalid URI"):
|
|
149
|
+
URI(invalid_uri)
|
|
150
|
+
|
|
151
|
+
def test_uri_repr(self):
|
|
152
|
+
"""Test string representation of URI."""
|
|
153
|
+
uri = URI("http://example.com/Person")
|
|
154
|
+
assert repr(uri) == "URI('http://example.com/Person')"
|
|
155
|
+
|
|
156
|
+
def test_as_rdflib_uriref(self):
|
|
157
|
+
"""Test conversion to rdflib URIRef."""
|
|
158
|
+
pytest.importorskip("rdflib")
|
|
159
|
+
|
|
160
|
+
uri = URI("http://example.com/Person")
|
|
161
|
+
uriref = uri.as_rdflib_uriref()
|
|
162
|
+
|
|
163
|
+
assert isinstance(uriref, URIRef)
|
|
164
|
+
assert str(uriref) == "http://example.com/Person"
|
|
165
|
+
|
|
166
|
+
@pytest.mark.parametrize(
|
|
167
|
+
"uri_str",
|
|
168
|
+
[
|
|
169
|
+
"http://example.com",
|
|
170
|
+
"https://www.w3.org/2000/01/rdf-schema#Class",
|
|
171
|
+
"https://schema.org/Person",
|
|
172
|
+
"http://xmlns.com/foaf/0.1/name",
|
|
173
|
+
],
|
|
174
|
+
)
|
|
175
|
+
def test_various_uri_formats(self, uri_str: str):
|
|
176
|
+
"""Test creating URIs with various formats."""
|
|
177
|
+
uri = URI(uri_str)
|
|
178
|
+
assert str(uri) == uri_str
|
|
179
|
+
assert uri.root == uri_str
|
|
File without changes
|
|
File without changes
|
|
File without changes
|