dsp-tools 17.0.0.post21__tar.gz → 17.0.0.post25__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 dsp-tools might be problematic. Click here for more details.
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/PKG-INFO +1 -1
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/pyproject.toml +1 -1
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/parsing/parsing_utils.py +2 -5
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/models/api_responses.py +7 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/models/validation.py +1 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/prepare_data/make_data_graph.py +4 -1
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/prepare_data/prepare_data.py +32 -5
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validate_data.py +1 -1
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validation/get_validation_report.py +2 -1
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/iri_util.py +9 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/get_parsed_resources.py +2 -5
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/docs/index.md +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/cli/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/cli/args.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/cli/call_action.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/cli/create_parsers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/cli/entry_point.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/authentication_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/authentication_client_live.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/connection.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/connection_live.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/fuseki_metrics.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/legal_info_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/legal_info_client_live.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/metadata_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/metadata_client_live.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/ontology_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/ontology_client_live.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/communicate_problems.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/constants.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/create_on_server/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/create_on_server/cardinalities.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/create_on_server/mappers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/input_problems.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/parsed_ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/parsed_project.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/rdf_ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/server_project_info.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/parsing/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/parsing/parse_ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/parsing/parse_project.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/serialisation/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/serialisation/ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/CLAUDE.md +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/json_header.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/compliance_checks.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/make_lists.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/models/deserialise.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/models/input_error.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/models/serialise.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/models/input_error.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/models/json_header.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/models/list_node_name.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/models/ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/old_lists.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/project.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/properties.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/resources.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2xml/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2xml/excel2xml_cli.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2xml/excel2xml_lib.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2xml/propertyelement.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/id2iri.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/bulk_ingest_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/create_resources/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/create_resources/apply_ingest_id.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/create_resources/upload_xml.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/create_resources/user_information.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/ingest_files/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/ingest_files/ingest_files.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/upload_files/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/upload_files/filechecker.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/upload_files/input_error.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/upload_files/upload_failures.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/ingest_xmlupload/upload_files/upload_files.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/parse_project.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/project_create_all.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/project_create_default_permissions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/project_create_lists.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/project_create_ontologies.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/create/project_validate.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/get.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/get_permissions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/get_permissions_legacy.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/context.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/group.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/helpers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/listnode.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/model.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/project.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/propertyclass.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/resourceclass.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/legacy_models/user.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/models/permissions_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/models/permissions_models.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/models/project_definition.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/resume_xmlupload/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/resume_xmlupload/resume_xmlupload.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/start_stack.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/CLAUDE.md +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/api_clients.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/constants.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/mappers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/models/input_problems.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/models/rdf_like_data.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/prepare_data/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/prepare_data/get_rdf_like_data.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/process_validation_report/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/process_validation_report/get_user_validation_message.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/process_validation_report/query_validation_result.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/process_validation_report/reformat_validation_results.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/shacl_cli_validator.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/sparql/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/sparql/cardinality_shacl.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/sparql/construct_shacl.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/sparql/legal_info_shacl.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/sparql/value_shacl.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validation/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validation/check_duplicate_files.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validation/check_for_unknown_classes.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/validation/validate_ontology.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/CLAUDE.md +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/iri_resolver.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/constants.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/jsonld_utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_file_value.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_resource_and_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/bitstream_info.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/formatted_text_value.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/ingest.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/input_problems.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/lookup_models.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/permission.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/permissions_parsed.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/processed/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/processed/file_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/processed/res.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/processed/values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/rdf_models.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/upload_clients.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/models/upload_state.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/ark2iri.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/get_processed_resources.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/iiif_uri_validator.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/list_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/prepare_xml_input.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/read_validate_xml_file.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/prepare_xml_input/transform_input_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/project_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/resource_create_client.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/richtext_id2iri.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/analyse_circular_reference_graph.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/create_info_for_graph.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/graph_models.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/stash_circular_references.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/stash_models.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/upload_stashed_resptr_props.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/stash/upload_stashed_xml_texts.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/upload_config.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/write_diagnostic_info.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/xmlupload.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/config/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/config/logger_config.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/config/warnings_config.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/custom_warnings.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/exceptions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/problems.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/xmllib_errors.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/xmllib_warnings.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/xmllib_warnings_util.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/error/xsd_validation_error_msg.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/legacy_models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/legacy_models/datetimestamp.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/legacy_models/langstring.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/legacy_models/projectContext.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/py.typed +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/schema/data.xsd +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/schema/lists-only.json +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/schema/project.json +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/schema/properties-only.json +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/schema/resources-only.json +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/start-stack/docker-compose.override-host.j2 +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/start-stack/docker-compose.override.yml +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/start-stack/docker-compose.yml +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/start-stack/dsp-app-config.json +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/start-stack/dsp-app-config.override-host.j2 +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/validate_data/api-shapes-resource-cardinalities.ttl +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/validate_data/api-shapes.ttl +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/validate_data/shacl-cli-image.yml +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/resources/validate_data/validate-ontology.ttl +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/ansi_colors.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/date_util.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/shared.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/uri_util.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/fuseki_bloating.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/json_parsing.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/rdflib_constants.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/rdflib_utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/replace_id_with_iri.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/request_utils.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/get_lookups.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/models/parsed_resource.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/xml_parsing/parse_clean_validate_xml.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/CLAUDE.md +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/general_functions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/checkers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/circumvent_circular_imports.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/constants.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/input_converters.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/serialise_file_value.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/serialise_resource.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/serialise_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/internal/type_aliases.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/config_options.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/date_formats.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/dsp_base_resources.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/file_values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/geometry.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/migration_metadata.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/serialise_permissions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/internal/values.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/licenses/__init__.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/licenses/other.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/licenses/recommended.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/permissions.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/res.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/models/root.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/value_checkers.py +0 -0
- {dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/xmllib/value_converters.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dsp-tools
|
|
3
|
-
Version: 17.0.0.
|
|
3
|
+
Version: 17.0.0.post25
|
|
4
4
|
Summary: DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.
|
|
5
5
|
Author: DaSCH - Swiss National Data and Service Center for the Humanities
|
|
6
6
|
Author-email: DaSCH - Swiss National Data and Service Center for the Humanities <info@dasch.swiss>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[project]
|
|
4
4
|
name = "dsp-tools"
|
|
5
|
-
version = "17.0.0.
|
|
5
|
+
version = "17.0.0.post25"
|
|
6
6
|
description = "DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server."
|
|
7
7
|
authors = [
|
|
8
8
|
{ name = "DaSCH - Swiss National Data and Service Center for the Humanities", email = "info@dasch.swiss" },
|
|
@@ -4,6 +4,7 @@ import regex
|
|
|
4
4
|
|
|
5
5
|
from dsp_tools.commands.create.constants import KNORA_API_STR
|
|
6
6
|
from dsp_tools.commands.create.constants import UNIVERSAL_PREFIXES
|
|
7
|
+
from dsp_tools.utils.data_formats.iri_util import make_dsp_ontology_prefix
|
|
7
8
|
from dsp_tools.utils.data_formats.uri_util import is_uri
|
|
8
9
|
|
|
9
10
|
|
|
@@ -27,7 +28,7 @@ def create_prefix_lookup(project_json: dict[str, Any], api_url: str) -> dict[str
|
|
|
27
28
|
shortcode = project_json["project"]["shortcode"]
|
|
28
29
|
for onto in project_json["project"]["ontologies"]:
|
|
29
30
|
onto_name = onto["name"]
|
|
30
|
-
defined_prefixes[onto_name] =
|
|
31
|
+
defined_prefixes[onto_name] = make_dsp_ontology_prefix(api_url, shortcode, onto_name)
|
|
31
32
|
return defined_prefixes
|
|
32
33
|
|
|
33
34
|
|
|
@@ -37,7 +38,3 @@ def _correct_external_prefix(prefixes: dict[str, str]) -> dict[str, str]:
|
|
|
37
38
|
continue
|
|
38
39
|
prefixes[prfx] = f"{namespace}/"
|
|
39
40
|
return prefixes
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def _make_dsp_ontology_prefix(api_url: str, shortcode: str, onto_name: str) -> str:
|
|
43
|
-
return f"{api_url}/ontology/{shortcode}/{onto_name}/v2#"
|
|
@@ -16,6 +16,7 @@ class SHACLValidationReport:
|
|
|
16
16
|
class ProjectDataFromApi:
|
|
17
17
|
all_lists: list[OneList]
|
|
18
18
|
enabled_licenses: EnabledLicenseIris
|
|
19
|
+
resource_iris_in_db: list[InfoForResourceInDB]
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
@dataclass
|
|
@@ -50,3 +51,9 @@ class SHACLListInfo:
|
|
|
50
51
|
@dataclass
|
|
51
52
|
class EnabledLicenseIris:
|
|
52
53
|
enabled_licenses: list[str]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass
|
|
57
|
+
class InfoForResourceInDB:
|
|
58
|
+
res_iri: str
|
|
59
|
+
res_type: str
|
|
@@ -48,7 +48,10 @@ def _make_one_value(val: RdfLikeValue, res_iri: URIRef) -> Graph:
|
|
|
48
48
|
return g
|
|
49
49
|
if val.knora_type == KnoraValueType.LINK_VALUE:
|
|
50
50
|
link_val = val.user_facing_value if val.user_facing_value else ""
|
|
51
|
-
|
|
51
|
+
if link_val.startswith("http://rdfh.ch/"):
|
|
52
|
+
triple_object: Literal | URIRef = URIRef(link_val)
|
|
53
|
+
else:
|
|
54
|
+
triple_object = DATA[link_val]
|
|
52
55
|
else:
|
|
53
56
|
triple_object = _make_one_rdflib_object(val.user_facing_value, VALUE_INFO_TRIPLE_OBJECT_TYPE[val.knora_type])
|
|
54
57
|
g.add((val_iri, prop_type_info.knora_prop, triple_object))
|
|
@@ -2,13 +2,18 @@ import importlib.resources
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
|
|
4
4
|
from loguru import logger
|
|
5
|
+
from rdflib import RDF
|
|
5
6
|
from rdflib import Graph
|
|
7
|
+
from rdflib import URIRef
|
|
6
8
|
|
|
7
9
|
from dsp_tools.clients.authentication_client import AuthenticationClient
|
|
8
10
|
from dsp_tools.clients.legal_info_client_live import LegalInfoClientLive
|
|
11
|
+
from dsp_tools.clients.metadata_client import MetadataRetrieval
|
|
12
|
+
from dsp_tools.clients.metadata_client_live import MetadataClientLive
|
|
9
13
|
from dsp_tools.commands.validate_data.api_clients import ListClient
|
|
10
14
|
from dsp_tools.commands.validate_data.api_clients import OntologyClient
|
|
11
15
|
from dsp_tools.commands.validate_data.models.api_responses import EnabledLicenseIris
|
|
16
|
+
from dsp_tools.commands.validate_data.models.api_responses import InfoForResourceInDB
|
|
12
17
|
from dsp_tools.commands.validate_data.models.api_responses import ListLookup
|
|
13
18
|
from dsp_tools.commands.validate_data.models.api_responses import OneList
|
|
14
19
|
from dsp_tools.commands.validate_data.models.api_responses import ProjectDataFromApi
|
|
@@ -42,13 +47,13 @@ def prepare_data_for_validation_from_parsed_resource(
|
|
|
42
47
|
permission_ids: list[str],
|
|
43
48
|
auth: AuthenticationClient,
|
|
44
49
|
shortcode: str,
|
|
45
|
-
) -> tuple[RDFGraphs, set[str]]:
|
|
50
|
+
) -> tuple[RDFGraphs, set[str], MetadataRetrieval]:
|
|
46
51
|
used_iris = {x.res_type for x in parsed_resources}
|
|
47
|
-
proj_info = _get_project_specific_information_from_api(auth, shortcode)
|
|
52
|
+
proj_info, metadata_retrieval_success = _get_project_specific_information_from_api(auth, shortcode)
|
|
48
53
|
list_lookup = _make_list_lookup(proj_info.all_lists)
|
|
49
54
|
data_rdf = _make_data_graph_from_parsed_resources(parsed_resources, authorship_lookup, list_lookup)
|
|
50
55
|
rdf_graphs = _create_graphs(data_rdf, shortcode, auth, proj_info, permission_ids)
|
|
51
|
-
return rdf_graphs, used_iris
|
|
56
|
+
return rdf_graphs, used_iris, metadata_retrieval_success
|
|
52
57
|
|
|
53
58
|
|
|
54
59
|
def _make_list_lookup(project_lists: list[OneList]) -> ListLookup:
|
|
@@ -60,11 +65,23 @@ def _make_list_lookup(project_lists: list[OneList]) -> ListLookup:
|
|
|
60
65
|
return ListLookup(lookup)
|
|
61
66
|
|
|
62
67
|
|
|
63
|
-
def _get_project_specific_information_from_api(
|
|
68
|
+
def _get_project_specific_information_from_api(
|
|
69
|
+
auth: AuthenticationClient, shortcode: str
|
|
70
|
+
) -> tuple[ProjectDataFromApi, MetadataRetrieval]:
|
|
64
71
|
list_client = ListClient(auth.server, shortcode)
|
|
65
72
|
all_lists = list_client.get_lists()
|
|
66
73
|
enabled_licenses = _get_license_iris(shortcode, auth)
|
|
67
|
-
|
|
74
|
+
retrieval_status, formatted_metadata = _get_metadata_info(auth, shortcode)
|
|
75
|
+
return ProjectDataFromApi(all_lists, enabled_licenses, formatted_metadata), retrieval_status
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def _get_metadata_info(
|
|
79
|
+
auth: AuthenticationClient, shortcode: str
|
|
80
|
+
) -> tuple[MetadataRetrieval, list[InfoForResourceInDB]]:
|
|
81
|
+
metadata_client = MetadataClientLive(auth.server, auth)
|
|
82
|
+
retrieval_status, metadata = metadata_client.get_resource_metadata(shortcode)
|
|
83
|
+
formatted_metadata = [InfoForResourceInDB(x["resourceIri"], x["resourceClassIri"]) for x in metadata]
|
|
84
|
+
return retrieval_status, formatted_metadata
|
|
68
85
|
|
|
69
86
|
|
|
70
87
|
def _make_data_graph_from_parsed_resources(
|
|
@@ -99,6 +116,8 @@ def _create_graphs(
|
|
|
99
116
|
api_card_shapes.parse(str(api_card_path))
|
|
100
117
|
content_shapes = shapes.content + api_shapes
|
|
101
118
|
card_shapes = shapes.cardinality + api_card_shapes
|
|
119
|
+
resources_in_db = _make_resource_in_db_graph(proj_info.resource_iris_in_db)
|
|
120
|
+
resources_in_db = _bind_prefixes_to_graph(resources_in_db, onto_iris)
|
|
102
121
|
data_rdf = _bind_prefixes_to_graph(data_rdf, onto_iris)
|
|
103
122
|
ontologies = _bind_prefixes_to_graph(ontologies, onto_iris)
|
|
104
123
|
card_shapes = _bind_prefixes_to_graph(card_shapes, onto_iris)
|
|
@@ -110,6 +129,7 @@ def _create_graphs(
|
|
|
110
129
|
cardinality_shapes=card_shapes,
|
|
111
130
|
content_shapes=content_shapes,
|
|
112
131
|
knora_api=knora_api,
|
|
132
|
+
resources_in_db_graph=resources_in_db,
|
|
113
133
|
)
|
|
114
134
|
|
|
115
135
|
|
|
@@ -143,3 +163,10 @@ def _get_license_iris(shortcode: str, auth: AuthenticationClient) -> EnabledLice
|
|
|
143
163
|
license_info = legal_client.get_licenses_of_a_project()
|
|
144
164
|
iris = [x["id"] for x in license_info]
|
|
145
165
|
return EnabledLicenseIris(iris)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
def _make_resource_in_db_graph(resources_in_db: list[InfoForResourceInDB]) -> Graph:
|
|
169
|
+
g = Graph()
|
|
170
|
+
for r in resources_in_db:
|
|
171
|
+
g.add((URIRef(r.res_iri), RDF.type, URIRef(r.res_type)))
|
|
172
|
+
return g
|
|
@@ -104,7 +104,7 @@ def validate_parsed_resources(
|
|
|
104
104
|
config: ValidateDataConfig,
|
|
105
105
|
auth: AuthenticationClient,
|
|
106
106
|
) -> bool:
|
|
107
|
-
rdf_graphs, used_iris = prepare_data_for_validation_from_parsed_resource(
|
|
107
|
+
rdf_graphs, used_iris, _ = prepare_data_for_validation_from_parsed_resource(
|
|
108
108
|
parsed_resources=parsed_resources,
|
|
109
109
|
authorship_lookup=authorship_lookup,
|
|
110
110
|
permission_ids=permission_ids,
|
|
@@ -82,10 +82,11 @@ def _create_and_write_graphs(rdf_graphs: RDFGraphs, tmp_path: Path) -> None:
|
|
|
82
82
|
card_shape_str = rdf_graphs.cardinality_shapes.serialize(format="ttl")
|
|
83
83
|
content_shape_str = rdf_graphs.content_shapes.serialize(format="ttl")
|
|
84
84
|
knora_api_str = rdf_graphs.knora_api.serialize(format="ttl")
|
|
85
|
+
res_in_db_str = rdf_graphs.resources_in_db_graph.serialize(format="ttl")
|
|
85
86
|
turtle_paths_and_graphs = [
|
|
86
87
|
(tmp_path / CARDINALITY_DATA_TTL, data_str),
|
|
87
88
|
(tmp_path / CARDINALITY_SHACL_TTL, card_shape_str + ontos_str + knora_api_str),
|
|
88
|
-
(tmp_path / CONTENT_DATA_TTL, data_str + ontos_str + knora_api_str),
|
|
89
|
+
(tmp_path / CONTENT_DATA_TTL, data_str + ontos_str + knora_api_str + res_in_db_str),
|
|
89
90
|
(tmp_path / CONTENT_SHACL_TTL, content_shape_str + ontos_str + knora_api_str),
|
|
90
91
|
]
|
|
91
92
|
for f_path, content in turtle_paths_and_graphs:
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/utils/data_formats/iri_util.py
RENAMED
|
@@ -19,3 +19,12 @@ def from_dsp_iri_to_prefixed_iri(iri: str) -> str:
|
|
|
19
19
|
if not (found := regex.search(dsp_iri_re, iri)):
|
|
20
20
|
return iri
|
|
21
21
|
return f"{found.group(1)}:{found.group(2)}"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def make_dsp_ontology_prefix(api_url: str, shortcode: str, onto_name: str) -> str:
|
|
25
|
+
api_fixed = convert_api_url_for_correct_iri_namespace_construction(api_url)
|
|
26
|
+
return f"{api_fixed}/ontology/{shortcode}/{onto_name}/v2#"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def convert_api_url_for_correct_iri_namespace_construction(api_url: str) -> str:
|
|
30
|
+
return regex.sub(r"^https", "http", api_url)
|
|
@@ -5,6 +5,7 @@ from lxml import etree
|
|
|
5
5
|
|
|
6
6
|
from dsp_tools.commands.validate_data.mappers import XML_TAG_TO_VALUE_TYPE_MAPPER
|
|
7
7
|
from dsp_tools.error.exceptions import InputError
|
|
8
|
+
from dsp_tools.utils.data_formats.iri_util import convert_api_url_for_correct_iri_namespace_construction
|
|
8
9
|
from dsp_tools.utils.rdflib_constants import KNORA_API_STR
|
|
9
10
|
from dsp_tools.utils.xml_parsing.models.parsed_resource import KnoraValueType
|
|
10
11
|
from dsp_tools.utils.xml_parsing.models.parsed_resource import ParsedFileValue
|
|
@@ -15,7 +16,7 @@ from dsp_tools.utils.xml_parsing.models.parsed_resource import ParsedValue
|
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
def get_parsed_resources(root: etree._Element, api_url: str) -> list[ParsedResource]:
|
|
18
|
-
api_url =
|
|
19
|
+
api_url = convert_api_url_for_correct_iri_namespace_construction(api_url)
|
|
19
20
|
iri_lookup = _create_from_local_name_to_absolute_iri_lookup(root, api_url)
|
|
20
21
|
all_res: list[ParsedResource] = []
|
|
21
22
|
for res in root.iterdescendants(tag="resource"):
|
|
@@ -34,10 +35,6 @@ def get_parsed_resources(root: etree._Element, api_url: str) -> list[ParsedResou
|
|
|
34
35
|
return all_res
|
|
35
36
|
|
|
36
37
|
|
|
37
|
-
def _convert_api_url_for_correct_iri_namespace_construction(api_url: str) -> str:
|
|
38
|
-
return regex.sub(r"^https", "http", api_url)
|
|
39
|
-
|
|
40
|
-
|
|
41
38
|
def _create_from_local_name_to_absolute_iri_lookup(root: etree._Element, api_url: str) -> dict[str, str]:
|
|
42
39
|
shortcode = root.attrib["shortcode"]
|
|
43
40
|
default_ontology = root.attrib["default-ontology"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/authentication_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/connection_live.py
RENAMED
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/legal_info_client.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/legal_info_client_live.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/metadata_client.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/metadata_client_live.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/ontology_client.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/clients/ontology_client_live.py
RENAMED
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/create/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/CLAUDE.md
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/__init__.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/json_header.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/lists/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/old_lists.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/project.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/properties.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/resources.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2json/utils.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/excel2xml/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/__init__.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/project/get/get.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/CLAUDE.md
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/mappers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/validate_data/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/CLAUDE.md
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/__init__.py
RENAMED
|
File without changes
|
{dsp_tools-17.0.0.post21 → dsp_tools-17.0.0.post25}/src/dsp_tools/commands/xmlupload/iri_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|