s3dgraphy 1.6.0.dev24__tar.gz → 1.6.0.dev26__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.
- {s3dgraphy-1.6.0.dev24/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev26}/PKG-INFO +2 -2
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/pyproject.toml +2 -2
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/datamodel_translations.json +99 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em.ttl +51 -3
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_qualia_types.json +13 -5
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_visual_rules.json +13 -1
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/node_registry.generated.json +6 -1
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +75 -15
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +71 -16
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/__init__.py +1 -1
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/ai_validation.py +104 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/api.py +141 -3
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/crdt.py +30 -0
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/datamodel.py +267 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/rdf_exporter.py +314 -16
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/mapped_xlsx_importer.py +82 -13
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/qualia_importer.py +24 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/rdf_importer.py +139 -4
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/importer/sheet_header.py +128 -0
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/language.py +181 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/authoring.py +38 -1
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/emdb/usm_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/template_emdb_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +4 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/__init__.py +4 -0
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/nodes/translation_node.py +100 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/study.py +10 -1
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/tools/consumer_drift.py +315 -0
- s3dgraphy-1.6.0.dev26/src/s3dgraphy/translation.py +301 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26/src/s3dgraphy.egg-info}/PKG-INFO +2 -2
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy.egg-info/SOURCES.txt +11 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy.egg-info/requires.txt +1 -1
- s3dgraphy-1.6.0.dev26/tests/test_consumer_drift.py +219 -0
- s3dgraphy-1.6.0.dev26/tests/test_datamodel_fingerprint.py +175 -0
- s3dgraphy-1.6.0.dev26/tests/test_em_ttl_matches_the_datamodels.py +149 -0
- s3dgraphy-1.6.0.dev26/tests/test_la_lingua_dei_dati.py +410 -0
- s3dgraphy-1.6.0.dev26/tests/test_la_riga_d_intestazione.py +238 -0
- s3dgraphy-1.6.0.dev26/tests/test_le_traduzioni.py +435 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_mapping_csv_and_relations.py +8 -5
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_qualia_dai_d7_d8.py +4 -2
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_rdf_reverse_edges.py +2 -1
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_file_node.py +5 -4
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_revision.py +4 -1
- s3dgraphy-1.6.0.dev26/tests/test_verifica_provenance.py +139 -0
- s3dgraphy-1.6.0.dev24/src/s3dgraphy/tools/consumer_drift.py +0 -188
- s3dgraphy-1.6.0.dev24/tests/test_consumer_drift.py +0 -99
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/LICENSE +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/MANIFEST.in +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/README.md +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/setup.cfg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/author_ai.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/12_gnss_survey.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/13_field_drawing.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/14_recording_sheet.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/15_decimation.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/16_georeferencing.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/17_format_conversion.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/18_classification.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/dtc/19_vectorization.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/embargo.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/license.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/narrative.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/resource_file.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/acquisition/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/acquisition/acquire.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/acquisition/descriptor.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/acquisition/mapping.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/annotation/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/annotation/migrate_reading.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/annotation/paradata.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/annotation/reading.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/classification.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/container.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/contract/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/contract/connector.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/contract/consumer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/contract/core.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/contract/reference.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/diagnostics.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dissemination.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/capture.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/corpus.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/devices.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/ingest.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/dtc/residency.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/edges/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/edges/connection_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/edges/connections_loader.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/edges/edge.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/editorial.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/emjson_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/html_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/json_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/aton.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/gltf.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/migrate.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/proxy.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/reading_glb.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/store_backed.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/geometry/wkt.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/graph.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/iiif.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/base_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/csv_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/emjson_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/import_graphml.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/source_text.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/unified_xlsx_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/importer/xml_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/indices.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/mappings/registry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/merge/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/merge/graph_merger.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/multigraph/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/multigraph/multigraph.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/bake.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/generation.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/query.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/registry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/narrative/site_story.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/author_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/base_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/combiner_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/document_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/dtc_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/embargo_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/epoch_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/extractor_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/graph_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/group_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/hdt_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/license_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/narrative_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/paradata_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/project_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/property_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/representation_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/resource_file_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/resource_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/stratigraphic_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/nodes/study_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/ownership.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/photogrammetry/delta.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/publication.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resolvers/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/files.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/fs_backend.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/minio_backend.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/resources/tiles3tz.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/rights.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/shelf/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/shelf/core.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/stamp/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/stamp/absorb.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/stamp/emit.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/stamp/hints.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/stamp/identity.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/_db_handle.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/_workspace.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/edge_registry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/graph_projector.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/graphml_writer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/group_projector.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/group_store.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/ingest_result.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/paradata_store.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/rapporti.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/uuid7.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/vocab_types.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_classifier.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_detector.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/temporal/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/temporal/inference_engine.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/deliverable_report.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/glyph_sheet.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/glyphs_from_svg.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/tools/wheel_drift.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/transforms/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/transforms/compact.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/utils/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/utils/utils.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/utils/visual_layout.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/zero_hour.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy.egg-info/top_level.txt +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_acquisition.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_acquisition_fs.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_add_resource.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_ai_validation_nodes.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_api_surface.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_asset_dtc_protocol.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_aton_shapes.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_attach_only.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_authority_projection.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_authority_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_blend_locator.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_canonical_document_rename.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_canvas_metadata_import.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_capture_acquisition.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_capture_rdf_class.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_chronology_on_request.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_coating_unit.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_composite_node_name.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_connection_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_container.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_containment_tpq.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_contract.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_contract_consumer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_convert_command.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_crdt.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_datamodel_i18n.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_deterministic_ids.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_devices.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dissemination_tombstones.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dtc_corpus.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dtc_ingest.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dtc_neighbourhood.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dtc_projection.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_dtc_residency.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_edge_ui_phrases.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_editorial.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_emjson_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_emjson_schema_version.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_epoch_properties_and_sub_epochs.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_epoch_undated_import.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_explicit_node_type_marker.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_extracted_from_unit.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_filtered_import.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_fmpxml_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_fs_backend.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_functional_units.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_georeference_scene.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_gltf_stitch.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_glyph_paths.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_graph_indices_edges.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_graph_scope_migration.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_hdto_projection.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_header_key_aliases.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_iiif.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_il_proprietario_si_legge.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_importer_edge_hygiene.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_ipynb_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_latex_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_lossless_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_mapping_authoring.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_masonry_unit.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_material_color.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_merge_conflicts.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_migrate_legacy_proxy.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_minio_backend.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_authorship.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_bake_docx.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_figures.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_generation.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_mentions.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_node.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_query.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_scaffolder.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_site_place.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_narrative_unvalidated_export.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_node_datamodel_registry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_node_type_map_integrity.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_one_spelling_writers.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_pg_importer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_photogrammetry_delta.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_physical_relation_spellings.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_promotion.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_property_owners.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_proxy_resource.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_proxy_retype.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_pyarchinit_tier2.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_rdf_embedding.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_rdf_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reading_coords.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reading_glb.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reading_migration.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reading_place.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reading_rdf.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_recompute_warnings.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reproject.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_files_implicit.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_layer.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_representations.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_resource_tier.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_reverse_edges.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_rm_container_node_group.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_semantic_purity.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_shelf.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_shelf_facets.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_shelf_hatting.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_shelf_role_uri_table.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_shipped_mappings.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_source_list_mapping.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_source_text.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_stamp.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_stamp_hints.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_stamp_title_description.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_store_backed_geometry.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_stratiminer_api.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_study_metadata.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_tileset_resource.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_ttl_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_unit_definition.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_visual_assets.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_wheel_drift.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_xlsx_containment_and_unknown_bounds.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_xlsx_importer_graph_init.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_xlsx_source_column.py +0 -0
- {s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/tests/test_zero_hour.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: s3dgraphy
|
|
3
|
-
Version: 1.6.0.
|
|
3
|
+
Version: 1.6.0.dev26
|
|
4
4
|
Summary: 3D Stratigraphic Graph Management Library for archaeological and heritage applications
|
|
5
5
|
Author-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
|
|
6
6
|
Maintainer-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
|
|
@@ -35,7 +35,7 @@ Requires-Dist: pandas>=2.0.0
|
|
|
35
35
|
Requires-Dist: lxml>=4.9.0
|
|
36
36
|
Requires-Dist: openpyxl>=3.0.0
|
|
37
37
|
Requires-Dist: networkx>=3.0
|
|
38
|
-
Requires-Dist: dtcstamp>=0.1.
|
|
38
|
+
Requires-Dist: dtcstamp>=0.1.2
|
|
39
39
|
Provides-Extra: rdf
|
|
40
40
|
Requires-Dist: rdflib>=7.0; extra == "rdf"
|
|
41
41
|
Provides-Extra: rdf-embedded
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "s3dgraphy"
|
|
7
|
-
version = "1.6.0.
|
|
7
|
+
version = "1.6.0.dev26"
|
|
8
8
|
description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -56,7 +56,7 @@ dependencies = [
|
|
|
56
56
|
# the four above. It has zero dependencies of its own and is one module, so
|
|
57
57
|
# it can also simply be copied; s3dgraphy depends on it rather than
|
|
58
58
|
# vendoring it, because two copies of a format rule drift.
|
|
59
|
-
"dtcstamp>=0.1.
|
|
59
|
+
"dtcstamp>=0.1.2", # 0.1.1 lacks stamp_description: import s3dgraphy.stamp fails (MICRO-DTCSTAMP-012)
|
|
60
60
|
]
|
|
61
61
|
|
|
62
62
|
[project.urls]
|
|
@@ -2057,6 +2057,46 @@
|
|
|
2057
2057
|
"de": "TSU"
|
|
2058
2058
|
}
|
|
2059
2059
|
},
|
|
2060
|
+
"TranslationNode": {
|
|
2061
|
+
"description": {
|
|
2062
|
+
"en": "ONE TRANSLATION of one text field of one node (E.D. 2026-10-01, «Le traduzioni»). The ORIGINAL stays a string in its own field, in the language it was written in — data.lang on the node says which, else the study's working language — and a translation never overwrites it: the original is testimony. Each translation is a node of its own, reached from the translated node by has_translation (reverse is_translation_of). Fields in data: lang (the language of ARRIVAL, BCP 47 — the same key as every node's data.lang, so its own text takes its tag by the ordinary cascade); from_lang (the language of DEPARTURE, the original's WHEN it was translated: written, because the original can change); field (the translated field in the CRDT's vocabulary: description, or data.<key> — a PropertyNode's value is data.value; name is never translated, names are invariant identities); text; method (manual | ai | edition); source_digest ('sha256:<hex>' of the original text translated, NFC + UTF-8: when the original changes the digests differ and the translation is «da riallineare», which no signature clears); review_requested (true when the translator asks for a review, «da rivedere»). WHO translated is has_author (an AuthorNode); WHEN is the editorial stamp created_at. An AI translation carries data.ai_assisted and stays among the warnings until a person verifies it (data.validated_by / validated_at, the same two fields that close a requested review: ai_validation.verify). A translation from a published EDITION reaches the DocumentNode of that edition with extracted_from: a published translation is a source, Vitruvius read through a translator is an interpretation.",
|
|
2063
|
+
"validated_it": false,
|
|
2064
|
+
"validated_el": false,
|
|
2065
|
+
"validated_he": false,
|
|
2066
|
+
"validated_es": false,
|
|
2067
|
+
"validated_pl": false,
|
|
2068
|
+
"validated_ro": false,
|
|
2069
|
+
"validated_fr": false,
|
|
2070
|
+
"validated_de": false,
|
|
2071
|
+
"it": "UNA TRADUZIONE di un campo di testo di un nodo (E.D. 1 ott 2026, «Le traduzioni»). L'ORIGINALE resta una stringa nel suo campo, nella lingua in cui è nato (data.lang del nodo, altrimenti la lingua dello studio), e una traduzione non lo sovrascrive mai: l'originale è testimonianza. Ogni traduzione è un nodo, raggiunto da has_translation, con lang (arrivo), from_lang (partenza, scritta perché l'originale può cambiare), field (description o data.<chiave>; il nome non si traduce), text, method (manual | ai | edition), source_digest (sha256 dell'originale tradotto: se cambia, la traduzione è «da riallineare») e review_requested («da rivedere»). Chi ha tradotto: has_author; una traduzione AI resta tra gli avvisi finché una persona non la verifica (validated_by); da un'edizione: extracted_from verso il DocumentNode.",
|
|
2072
|
+
"el": "ΜΙΑ ΜΕΤΑΦΡΑΣΗ ενός πεδίου κειμένου ενός κόμβου (E.D. 1/10/2026). Το ΠΡΩΤΟΤΥΠΟ μένει συμβολοσειρά στο πεδίο του, στη γλώσσα όπου γράφτηκε (data.lang του κόμβου, αλλιώς η γλώσσα της μελέτης), και η μετάφραση δεν το αντικαθιστά ποτέ. Κάθε μετάφραση είναι κόμβος, που συνδέεται με has_translation, με lang (άφιξη), from_lang (αφετηρία), field, text, method (manual | ai | edition), source_digest (sha256 του πρωτοτύπου: αν αλλάξει, η μετάφραση χρειάζεται ευθυγράμμιση) και review_requested. Ποιος μετέφρασε: has_author· μια μετάφραση AI μένει στις προειδοποιήσεις ώσπου να την επαληθεύσει ένα πρόσωπο (validated_by)· από έκδοση: extracted_from προς τον DocumentNode.",
|
|
2073
|
+
"he": "תרגום אחד של שדה טקסט אחד של צומת (E.D. 1.10.2026). המקור נשאר מחרוזת בשדה שלו, בשפה שבה נכתב (data.lang של הצומת, אחרת שפת המחקר), ותרגום לעולם אינו דורס אותו. כל תרגום הוא צומת, המחובר ב-has_translation, עם lang (שפת היעד), from_lang (שפת המקור), field, text, method (manual | ai | edition), source_digest (sha256 של המקור: אם השתנה, התרגום דורש יישור) ו-review_requested. מי תרגם: has_author; תרגום AI נשאר באזהרות עד שאדם מאמת אותו (validated_by); ממהדורה: extracted_from אל ה-DocumentNode.",
|
|
2074
|
+
"es": "UNA TRADUCCIÓN de un campo de texto de un nodo (E.D. 1 oct 2026). El ORIGINAL sigue siendo una cadena en su campo, en la lengua en que se escribió (data.lang del nodo, si no la del estudio), y una traducción nunca lo sobrescribe. Cada traducción es un nodo, alcanzado por has_translation, con lang (llegada), from_lang (partida), field, text, method (manual | ai | edition), source_digest (sha256 del original: si cambia, la traducción está «por realinear») y review_requested («por revisar»). Quién tradujo: has_author; una traducción IA queda entre los avisos hasta que una persona la verifica (validated_by); de una edición: extracted_from hacia el DocumentNode.",
|
|
2075
|
+
"pl": "JEDNO TŁUMACZENIE jednego pola tekstowego węzła (E.D. 1.10.2026). ORYGINAŁ pozostaje ciągiem w swoim polu, w języku, w którym powstał (data.lang węzła, w przeciwnym razie język badania), a tłumaczenie nigdy go nie nadpisuje. Każde tłumaczenie jest węzłem, osiąganym przez has_translation, z lang (docelowy), from_lang (źródłowy), field, text, method (manual | ai | edition), source_digest (sha256 oryginału: gdy się zmieni, tłumaczenie wymaga uzgodnienia) i review_requested. Kto przetłumaczył: has_author; tłumaczenie AI pozostaje wśród ostrzeżeń, dopóki osoba go nie zweryfikuje (validated_by); z wydania: extracted_from do DocumentNode.",
|
|
2076
|
+
"ro": "O TRADUCERE a unui câmp de text al unui nod (E.D. 1 oct 2026). ORIGINALUL rămâne un șir în câmpul său, în limba în care a fost scris (data.lang al nodului, altfel limba studiului), iar o traducere nu îl suprascrie niciodată. Fiecare traducere este un nod, atins prin has_translation, cu lang (sosire), from_lang (plecare), field, text, method (manual | ai | edition), source_digest (sha256 al originalului: dacă se schimbă, traducerea trebuie realiniată) și review_requested. Cine a tradus: has_author; o traducere AI rămâne printre avertismente până o verifică o persoană (validated_by); dintr-o ediție: extracted_from către DocumentNode.",
|
|
2077
|
+
"fr": "UNE TRADUCTION d'un champ de texte d'un nœud (E.D. 1er oct. 2026). L'ORIGINAL reste une chaîne dans son champ, dans la langue où il a été écrit (data.lang du nœud, sinon celle de l'étude), et une traduction ne l'écrase jamais. Chaque traduction est un nœud, atteint par has_translation, avec lang (arrivée), from_lang (départ), field, text, method (manual | ai | edition), source_digest (sha256 de l'original : s'il change, la traduction est « à réaligner ») et review_requested (« à revoir »). Qui a traduit : has_author ; une traduction IA reste parmi les avertissements jusqu'à ce qu'une personne la vérifie (validated_by) ; d'une édition : extracted_from vers le DocumentNode.",
|
|
2078
|
+
"de": "EINE ÜBERSETZUNG eines Textfelds eines Knotens (E.D. 1.10.2026). Das ORIGINAL bleibt eine Zeichenkette in seinem Feld, in der Sprache, in der es geschrieben wurde (data.lang des Knotens, sonst die Sprache der Studie), und eine Übersetzung überschreibt es nie. Jede Übersetzung ist ein Knoten, erreicht über has_translation, mit lang (Ziel), from_lang (Ausgang), field, text, method (manual | ai | edition), source_digest (sha256 des Originals: ändert es sich, ist die Übersetzung neu abzugleichen) und review_requested. Wer übersetzt hat: has_author; eine KI-Übersetzung bleibt unter den Warnungen, bis eine Person sie prüft (validated_by); aus einer Edition: extracted_from zum DocumentNode."
|
|
2079
|
+
},
|
|
2080
|
+
"label": {
|
|
2081
|
+
"en": "Translation",
|
|
2082
|
+
"validated_it": false,
|
|
2083
|
+
"validated_el": false,
|
|
2084
|
+
"validated_he": false,
|
|
2085
|
+
"validated_es": false,
|
|
2086
|
+
"validated_pl": false,
|
|
2087
|
+
"validated_ro": false,
|
|
2088
|
+
"validated_fr": false,
|
|
2089
|
+
"validated_de": false,
|
|
2090
|
+
"it": "Traduzione",
|
|
2091
|
+
"el": "Μετάφραση",
|
|
2092
|
+
"he": "תרגום",
|
|
2093
|
+
"es": "Traducción",
|
|
2094
|
+
"pl": "Tłumaczenie",
|
|
2095
|
+
"ro": "Traducere",
|
|
2096
|
+
"fr": "Traduction",
|
|
2097
|
+
"de": "Übersetzung"
|
|
2098
|
+
}
|
|
2099
|
+
},
|
|
2060
2100
|
"UnknownNode": {
|
|
2061
2101
|
"description": {
|
|
2062
2102
|
"en": "Fallback node for unrecognized types. This type of node should not normally appear in the system but serves exclusively to handle anomalies in the data.",
|
|
@@ -6289,6 +6329,65 @@
|
|
|
6289
6329
|
"de": "Hat Zeitzweig"
|
|
6290
6330
|
}
|
|
6291
6331
|
},
|
|
6332
|
+
"has_translation": {
|
|
6333
|
+
"label": {
|
|
6334
|
+
"en": "Has translation",
|
|
6335
|
+
"validated_it": false,
|
|
6336
|
+
"validated_el": false,
|
|
6337
|
+
"validated_he": false,
|
|
6338
|
+
"validated_es": false,
|
|
6339
|
+
"validated_pl": false,
|
|
6340
|
+
"validated_ro": false,
|
|
6341
|
+
"validated_fr": false,
|
|
6342
|
+
"validated_de": false,
|
|
6343
|
+
"it": "Ha la traduzione",
|
|
6344
|
+
"el": "Έχει μετάφραση",
|
|
6345
|
+
"he": "יש תרגום",
|
|
6346
|
+
"es": "Tiene la traducción",
|
|
6347
|
+
"pl": "Ma tłumaczenie",
|
|
6348
|
+
"ro": "Are traducerea",
|
|
6349
|
+
"fr": "A pour traduction",
|
|
6350
|
+
"de": "Hat die Übersetzung"
|
|
6351
|
+
},
|
|
6352
|
+
"ui_phrase_as_source": {
|
|
6353
|
+
"en": "{node} translated as {x}",
|
|
6354
|
+
"validated_it": false,
|
|
6355
|
+
"validated_el": false,
|
|
6356
|
+
"validated_he": false,
|
|
6357
|
+
"validated_es": false,
|
|
6358
|
+
"validated_pl": false,
|
|
6359
|
+
"validated_ro": false,
|
|
6360
|
+
"validated_fr": false,
|
|
6361
|
+
"validated_de": false,
|
|
6362
|
+
"it": "{node} tradotto come {x}",
|
|
6363
|
+
"el": "{node} μεταφρασμένο ως {x}",
|
|
6364
|
+
"he": "{node} מתורגם כ־{x}",
|
|
6365
|
+
"es": "{node} traducido como {x}",
|
|
6366
|
+
"pl": "{node} przetłumaczone jako {x}",
|
|
6367
|
+
"ro": "{node} tradus ca {x}",
|
|
6368
|
+
"fr": "{node} traduit par {x}",
|
|
6369
|
+
"de": "{node} übersetzt als {x}"
|
|
6370
|
+
},
|
|
6371
|
+
"ui_phrase_as_target": {
|
|
6372
|
+
"en": "{node} translation of {x}",
|
|
6373
|
+
"validated_it": false,
|
|
6374
|
+
"validated_el": false,
|
|
6375
|
+
"validated_he": false,
|
|
6376
|
+
"validated_es": false,
|
|
6377
|
+
"validated_pl": false,
|
|
6378
|
+
"validated_ro": false,
|
|
6379
|
+
"validated_fr": false,
|
|
6380
|
+
"validated_de": false,
|
|
6381
|
+
"it": "{node} traduzione di {x}",
|
|
6382
|
+
"el": "{node} μετάφραση του {x}",
|
|
6383
|
+
"he": "{node} תרגום של {x}",
|
|
6384
|
+
"es": "{node} traducción de {x}",
|
|
6385
|
+
"pl": "{node} tłumaczenie {x}",
|
|
6386
|
+
"ro": "{node} traducere a {x}",
|
|
6387
|
+
"fr": "{node} traduction de {x}",
|
|
6388
|
+
"de": "{node} Übersetzung von {x}"
|
|
6389
|
+
}
|
|
6390
|
+
},
|
|
6292
6391
|
"has_visual_reference": {
|
|
6293
6392
|
"ui_phrase_as_source": {
|
|
6294
6393
|
"en": "{node} shown in {x}",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
dcterms:creator "Emanuele Demetrescu" ;
|
|
47
47
|
dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
|
|
48
48
|
dcterms:issued "2026-05-23"^^xsd:date ;
|
|
49
|
-
owl:versionInfo "1.6.
|
|
50
|
-
rdfs:comment "Formal ontology for Extended Matrix (EM): a human-readable layout for knowledge graphs of archaeological stratigraphy and virtual reconstruction. Extends CIDOC-CRM, CRMarchaeo, CRMinf, CRMdig, CRMgeo, with PROV-O for agent provenance and HDT-O for digital-twin granularity. This file declares the em: classes and properties introduced in s3dgraphy v1.6.0. v1.6.9 (2026-10-18, MICRO la risorsa e i suoi file): em:ResourceFile, ONE FILE of a resource (node datamodel 1.6.17), a subclass of crmdig:D1_Digital_Object; the resource is composed of its files by crm:P106_is_composed_of (connections has_file, 1.6.30). A distinct URI because a DTC output resource is already typed crmdig:D1, and a file typed only D1 would read back as a resource. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
|
|
49
|
+
owl:versionInfo "1.6.10" ;
|
|
50
|
+
rdfs:comment "Formal ontology for Extended Matrix (EM): a human-readable layout for knowledge graphs of archaeological stratigraphy and virtual reconstruction. Extends CIDOC-CRM, CRMarchaeo, CRMinf, CRMdig, CRMgeo, with PROV-O for agent provenance and HDT-O for digital-twin granularity. This file declares the em: classes and properties introduced in s3dgraphy v1.6.0. v1.6.10 (2026-10-29, MICRO le traduzioni, decided by E.D. 2026-10-01): six DatatypeProperties for the language of the original and its translations (section 14) — em:originalLanguage on any node, which says which literal is the original once translations share its predicate, and em:sourceLanguage, em:translatedField, em:translationMethod, em:sourceDigest, em:reviewRequested on a TranslationNode, which is a plain crm:E33_Linguistic_Object reached by crm:P73_has_translation: CIDOC has the class and the relation, so no em: class is added. v1.6.9 (2026-10-18, MICRO la risorsa e i suoi file): em:ResourceFile, ONE FILE of a resource (node datamodel 1.6.17), a subclass of crmdig:D1_Digital_Object; the resource is composed of its files by crm:P106_is_composed_of (connections has_file, 1.6.30). A distinct URI because a DTC output resource is already typed crmdig:D1, and a file typed only D1 would read back as a resource. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
|
|
51
51
|
owl:imports <http://www.cidoc-crm.org/cidoc-crm/> ,
|
|
52
52
|
<http://www.cidoc-crm.org/extensions/crminf/> ,
|
|
53
53
|
<http://www.cidoc-crm.org/extensions/crmarchaeo/> ,
|
|
@@ -817,5 +817,53 @@ em:hasDefinition
|
|
|
817
817
|
rdfs:comment "The DEFINITION of a stratigraphic unit — strato di crollo, riempimento, taglio: the DEFINIZIONE box of the US sheet — as a concept of a controlled vocabulary (a SKOS concept, typed crm:E55_Type). It is a TYPE of the unit and nothing more, which is why it narrows crm:P2_has_type rather than widening anything: every em:hasDefinition triple IS a P2_has_type triple, and a CIDOC-only consumer reading the entailment loses nothing. What the subproperty adds is the ability to tell, in SPARQL, the definition from any other type a unit may carry. NOT EMITTED BY DEFAULT: the exporter writes crm:P2_has_type directly (node datamodel StratigraphicNode.properties.definition.rdf.with_concept), because an unreasoned store would otherwise not see the P2 edge at all; the switch is one line in that entry. A definition that carries only a label and no concept URI projects to nothing (rdf.label_only = null): a word is not a concept. Maps to: node_datamodel StratigraphicNode.properties.definition (em.json data.definition), inherited by every stratigraphic subtype."@en .
|
|
818
818
|
|
|
819
819
|
# ============================================================================
|
|
820
|
-
#
|
|
820
|
+
# 14. THE LANGUAGE OF THE ORIGINAL, AND ITS TRANSLATIONS — CRMem v1.6.10
|
|
821
|
+
# Decided by E.D. on 2026-10-01 («Le traduzioni»): the original stays a
|
|
822
|
+
# string in its field; each translation is a node (crm:E33, reached by
|
|
823
|
+
# crm:P73_has_translation). CIDOC names the class and the relation; these
|
|
824
|
+
# six terms say what it does not.
|
|
825
|
+
# ============================================================================
|
|
826
|
+
|
|
827
|
+
em:originalLanguage
|
|
828
|
+
a owl:DatatypeProperty ;
|
|
829
|
+
rdfs:label "original language"@en ;
|
|
830
|
+
rdfs:range xsd:string ;
|
|
831
|
+
rdfs:comment "The language the node's ORIGINAL texts are written in, as a BCP 47 tag ('la', 'it', 'und'). Written whenever the node itself declares one (em.json data.lang), equal to the study's working language or not, so a reader can tell the original literal from its translations — they share the predicate (dcterms:description \"…\"@la beside \"…\"@it) — and the round trip em.json → RDF → em.json gives data.lang back exactly where it was. NOT crm:P72_has_language: its domain is E33 Linguistic Object, and the node (a stratigraphic unit, a document) is not the text; the TranslationNode, which IS one, carries P72. Absent when the node declares nothing: its texts then take the study's language (dcterms:language on the graph), and saying 'original' would be a claim nobody made. Maps to: node_datamodel Node.properties.lang (em.json data.lang)."@en .
|
|
832
|
+
|
|
833
|
+
em:sourceLanguage
|
|
834
|
+
a owl:DatatypeProperty ;
|
|
835
|
+
rdfs:label "source language"@en ;
|
|
836
|
+
rdfs:domain crm:E33_Linguistic_Object ;
|
|
837
|
+
rdfs:range xsd:string ;
|
|
838
|
+
rdfs:comment "The language a translation was made FROM: the original's language at the moment of translating, as a BCP 47 tag. Recorded on the translation and not read off the original later, because the original can change. crm:P72_has_language on the same node is the language it was translated INTO. Maps to: node_datamodel TranslationNode.properties.from_lang (data.from_lang)."@en .
|
|
839
|
+
|
|
840
|
+
em:translatedField
|
|
841
|
+
a owl:DatatypeProperty ;
|
|
842
|
+
rdfs:label "translated field"@en ;
|
|
843
|
+
rdfs:domain crm:E33_Linguistic_Object ;
|
|
844
|
+
rdfs:range xsd:string ;
|
|
845
|
+
rdfs:comment "WHICH text of the translated node this translation translates, in the field vocabulary of the em.json CRDT: 'description', or 'data.<key>' (a PropertyNode's value is 'data.value'). Needed because crm:P73_has_translation runs from the node, and a node can hold more than one text; never 'name', names being invariant identities. Maps to: node_datamodel TranslationNode.properties.field (data.field)."@en .
|
|
846
|
+
|
|
847
|
+
em:translationMethod
|
|
848
|
+
a owl:DatatypeProperty ;
|
|
849
|
+
rdfs:label "translation method"@en ;
|
|
850
|
+
rdfs:domain crm:E33_Linguistic_Object ;
|
|
851
|
+
rdfs:range xsd:string ;
|
|
852
|
+
rdfs:comment "How a translation was made: 'manual' (a person), 'ai' (a model, and the node then carries em:aiAssistedBy until a person verifies it, em:validatedBy), or 'edition' (taken from a published translation, which the node reaches as a source). A closed list of three, a literal until a vocabulary of translation methods exists to point at. Maps to: node_datamodel TranslationNode.properties.method (data.method)."@en .
|
|
853
|
+
|
|
854
|
+
em:sourceDigest
|
|
855
|
+
a owl:DatatypeProperty ;
|
|
856
|
+
rdfs:label "source digest"@en ;
|
|
857
|
+
rdfs:domain crm:E33_Linguistic_Object ;
|
|
858
|
+
rdfs:range xsd:string ;
|
|
859
|
+
rdfs:comment "The digest of the original text a translation translated, 'sha256:<hex>' over the NFC, UTF-8 text. When the original changes the digests differ and the translation is 'to realign': it no longer translates what the node says, and the exporter stops writing its literal beside the original's (its own resource still leaves). Same form as em:checksum, which is a digest of bytes; this one is of a text. Maps to: node_datamodel TranslationNode.properties.source_digest (data.source_digest)."@en .
|
|
860
|
+
|
|
861
|
+
em:reviewRequested
|
|
862
|
+
a owl:DatatypeProperty ;
|
|
863
|
+
rdfs:label "review requested"@en ;
|
|
864
|
+
rdfs:range xsd:boolean ;
|
|
865
|
+
rdfs:comment "The author of a piece of content asks a person to review it («da rivedere»): true, or absent. Closed — not removed — by em:validatedBy / em:validatedAt, the same signature that clears AI-assisted content: the request stays written, and the signature says it was done and by whom. Introduced for translations made by hand; the field is generic. Maps to: node_datamodel TranslationNode.properties.review_requested (data.review_requested)."@en .
|
|
866
|
+
|
|
867
|
+
# ============================================================================
|
|
868
|
+
# End of em.ttl v1.6.10
|
|
821
869
|
# ============================================================================
|
{s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_qualia_types.json
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"metadata": {
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"last_updated": "2026-
|
|
3
|
+
"version": "1.6.5",
|
|
4
|
+
"last_updated": "2026-10-01",
|
|
5
5
|
"maintainers": ["Emanuel Demetrescu"],
|
|
6
6
|
"license": "CC-BY-SA-4.0",
|
|
7
7
|
"license_note": "Share-alike per allinearsi agli strumenti terminologici da cui questo datamodel prende gli ancoraggi (ICCD CC BY-SA 3.0 IT) e perche' una derivazione resti aperta. Gli identificatori AAT/CIDOC citati nei `mappings` sono RIFERIMENTI, non contenuto incorporato: lo share-alike non si propaga ai vocabolari altrui, che mantengono i propri termini.",
|
|
8
|
-
"changelog": "v1.6.2: added two descriptive qualia of the stratigraphic unit asked for by the DAI record (iDAI.field Layer, D7/D8) — proposte da Cowork per E.D., 28 set 2026, dalla scheda DAI: `feature_shape` (spatial; the shape in plan or section named with a term, AAT 300056273, E55_Type) and `boundary_distinctness` (material; how sharp the limits are: abrupt / clear / gradual / diffuse, E55_Type, no AAT evident). Both controlled vocabularies with indicative seed values; templates declare their own. v1.6.1: added the spatial qualia `geometry` — the PROXY as a quale. The geometry-without-material of a unit becomes a PropertyNode whose payload is a SemanticShapeNode (has_semantic_shape), so the proxy inherits the paradata chain a lone node could not have, and one proxy can be synthesised from several sources. CIDOC default crmgeo:SP5_Geometric_Place_Expression, flagged `confirm_with: Felicetti` (E36 is the alternative, to be decided together with em:AnnotationRegion). v1.6.0: version realigned to the EM language version (EM 1.6) — supersedes the standalone 4.x line (last was 4.2), so all EM JSON config files now share the 1.6.x scheme. Added optional `rationale` + `example` fields to qualia entries (a plain-language why + a concrete case), shown by the EMStudio vocabulary picker when creating a PropertyNode. Seeded for the temporal qualia (absolute_time_start / absolute_time_end / dating_method); to be filled in for the rest incrementally. Prior (4.x) history: v4.2 added rationale/example scaffolding; v4.1: expanded spatial elevation qualia for pyArchInit us_table quote (all E54_Dimension): elevation_relative, elevation_min_absolute, elevation_max_absolute, elevation_min_relative, elevation_max_relative, elevation_min_usm, elevation_max_usm (the generic 'elevation' = absolute MASL, used by quota_abs). Each pyArchInit quota column maps to its own qualia id so they don't collide on the single-PropertyNode-per-property_name rule. v4.0: verified all v3.0 CIDOC-CRM mappings (correct). Expanded with: volume, area, circumference in dimensional; color, texture, finish, patina, hardness, porosity in material; damage_type, fragility, completeness in state; tool_marks, joining_technique in technical; bounding_box, footprint_area in spatial; duration, terminus_post_quem, terminus_ante_quem, relative_chronology in temporal; ceremonial_function, ritual_function, defensive_function, domestic_function, symbolic_function in telic; school, workshop, period_attribution in stylistic. NEW subcategories: iconographic + semantic under cultural_interpretive (iconographic_subject, narrative_content, iconographic_program, aesthetic_value, religious_significance, monumental_status, attribution). Added provenance_history, exhibition_history, publication_history under administrative; NEW ownership subcategory (current_custodian, ownership_chain). NEW CATEGORY epistemic — meta-qualia central to EM paradata model (confidence_level, certainty_level, uncertainty_factors, methodology_used, validation_method, source_quality, primary_contributor, review_status, last_modified)."
|
|
8
|
+
"changelog": "v1.6.5 (MICRO le traduzioni, 2026-10-29, decided by E.D. 2026-10-01, domanda 3): the doubtful qualia, MEASURED. contextual.administrative.intervention_history is prose (a history of conservation interventions) and gains `natural_language: true`. provenance_history, exhibition_history, publication_history and contextual.ownership.ownership_chain are `object_chain` WITHOUT a schema: no field of theirs is declared and no code reads a structure, so what a PropertyNode stores is ONE string (the chain as written) — the whole string is marked. cultural_interpretive.semantic.attribution is an `object` WITH separate fields (attributed_to: an E39 Actor reference, attribution_type: a closed list, confidence: a float): none of them is a note, so nothing is marked — the rule is to mark only the note, and this object has none. Its value today travels as one string (\"attributed to Phidias\") and leaves untagged; marking it would need a `note` field in its schema, which is E.D.'s to add. inventory_number stays a code. v1.6.4 (MICRO la lingua dei dati, 2026-10-27, decided by E.D. 2026-09-28): cultural_interpretive.iconographic.narrative_content gains `natural_language: true` — its value is prose and leaves in RDF with its language tag (crm:P90_has_value \"la guerra di Troia\"@it), the language coming from the property node's data.lang, else the study's working language. data_type alone does not say it: inventory_number is a string too, and it is a CODE, so it is not marked and never tagged. No other quale marked: the ones whose value may be prose (intervention_history, attribution, the *_history and ownership_chain object chains) are waiting for E.D. v1.6.3 (MICRO em.ttl nel datamodel, 2026-10-26, decided by E.D. 2026-10-01 — every em: term of em.ttl is cited by a datamodel): epistemic.confidence.confidence_level.mappings gains specialised_alternative 'em:confidenceLevel', the em.ttl literal form of the same scalar, declared and NOT emitted (the exporter keeps crminf:I6_Belief_Value via J5). Mapping text only, no quale changed. v1.6.2: added two descriptive qualia of the stratigraphic unit asked for by the DAI record (iDAI.field Layer, D7/D8) — proposte da Cowork per E.D., 28 set 2026, dalla scheda DAI: `feature_shape` (spatial; the shape in plan or section named with a term, AAT 300056273, E55_Type) and `boundary_distinctness` (material; how sharp the limits are: abrupt / clear / gradual / diffuse, E55_Type, no AAT evident). Both controlled vocabularies with indicative seed values; templates declare their own. v1.6.1: added the spatial qualia `geometry` — the PROXY as a quale. The geometry-without-material of a unit becomes a PropertyNode whose payload is a SemanticShapeNode (has_semantic_shape), so the proxy inherits the paradata chain a lone node could not have, and one proxy can be synthesised from several sources. CIDOC default crmgeo:SP5_Geometric_Place_Expression, flagged `confirm_with: Felicetti` (E36 is the alternative, to be decided together with em:AnnotationRegion). v1.6.0: version realigned to the EM language version (EM 1.6) — supersedes the standalone 4.x line (last was 4.2), so all EM JSON config files now share the 1.6.x scheme. Added optional `rationale` + `example` fields to qualia entries (a plain-language why + a concrete case), shown by the EMStudio vocabulary picker when creating a PropertyNode. Seeded for the temporal qualia (absolute_time_start / absolute_time_end / dating_method); to be filled in for the rest incrementally. Prior (4.x) history: v4.2 added rationale/example scaffolding; v4.1: expanded spatial elevation qualia for pyArchInit us_table quote (all E54_Dimension): elevation_relative, elevation_min_absolute, elevation_max_absolute, elevation_min_relative, elevation_max_relative, elevation_min_usm, elevation_max_usm (the generic 'elevation' = absolute MASL, used by quota_abs). Each pyArchInit quota column maps to its own qualia id so they don't collide on the single-PropertyNode-per-property_name rule. v4.0: verified all v3.0 CIDOC-CRM mappings (correct). Expanded with: volume, area, circumference in dimensional; color, texture, finish, patina, hardness, porosity in material; damage_type, fragility, completeness in state; tool_marks, joining_technique in technical; bounding_box, footprint_area in spatial; duration, terminus_post_quem, terminus_ante_quem, relative_chronology in temporal; ceremonial_function, ritual_function, defensive_function, domestic_function, symbolic_function in telic; school, workshop, period_attribution in stylistic. NEW subcategories: iconographic + semantic under cultural_interpretive (iconographic_subject, narrative_content, iconographic_program, aesthetic_value, religious_significance, monumental_status, attribution). Added provenance_history, exhibition_history, publication_history under administrative; NEW ownership subcategory (current_custodian, ownership_chain). NEW CATEGORY epistemic — meta-qualia central to EM paradata model (confidence_level, certainty_level, uncertainty_factors, methodology_used, validation_method, source_quality, primary_contributor, review_status, last_modified)."
|
|
9
9
|
},
|
|
10
10
|
"qualia_categories": [
|
|
11
11
|
{
|
|
@@ -982,6 +982,7 @@
|
|
|
982
982
|
"cidoc_crm": "E73_Information_Object"
|
|
983
983
|
},
|
|
984
984
|
"data_type": "string_or_reference",
|
|
985
|
+
"natural_language": true,
|
|
985
986
|
"expected_extractors": ["iconographic_analysis", "literary_comparison"]
|
|
986
987
|
},
|
|
987
988
|
{
|
|
@@ -1105,7 +1106,8 @@
|
|
|
1105
1106
|
"mappings": {
|
|
1106
1107
|
"getty_aat": "300379504",
|
|
1107
1108
|
"cidoc_crm": "E11_Modification"
|
|
1108
|
-
}
|
|
1109
|
+
},
|
|
1110
|
+
"natural_language": true
|
|
1109
1111
|
},
|
|
1110
1112
|
{
|
|
1111
1113
|
"id": "conservation_status",
|
|
@@ -1148,6 +1150,7 @@
|
|
|
1148
1150
|
"cidoc_crm": "E12_Production"
|
|
1149
1151
|
},
|
|
1150
1152
|
"data_type": "object_chain",
|
|
1153
|
+
"natural_language": true,
|
|
1151
1154
|
"expected_extractors": ["archival_research", "provenance_research"]
|
|
1152
1155
|
},
|
|
1153
1156
|
{
|
|
@@ -1159,6 +1162,7 @@
|
|
|
1159
1162
|
"cidoc_crm": "E7_Activity"
|
|
1160
1163
|
},
|
|
1161
1164
|
"data_type": "object_chain",
|
|
1165
|
+
"natural_language": true,
|
|
1162
1166
|
"expected_extractors": ["archival_research", "museum_documentation"]
|
|
1163
1167
|
},
|
|
1164
1168
|
{
|
|
@@ -1170,6 +1174,7 @@
|
|
|
1170
1174
|
"cidoc_crm": "E31_Document"
|
|
1171
1175
|
},
|
|
1172
1176
|
"data_type": "object_chain",
|
|
1177
|
+
"natural_language": true,
|
|
1173
1178
|
"expected_extractors": ["bibliographic_research", "citation_analysis"]
|
|
1174
1179
|
}
|
|
1175
1180
|
]
|
|
@@ -1197,6 +1202,7 @@
|
|
|
1197
1202
|
"cidoc_crm": "E8_Acquisition"
|
|
1198
1203
|
},
|
|
1199
1204
|
"data_type": "object_chain",
|
|
1205
|
+
"natural_language": true,
|
|
1200
1206
|
"expected_extractors": ["archival_research", "provenance_research"]
|
|
1201
1207
|
}
|
|
1202
1208
|
]
|
|
@@ -1218,7 +1224,9 @@
|
|
|
1218
1224
|
"name": "Confidence Level",
|
|
1219
1225
|
"description": "Numerical confidence in the assertion (0-100%). The EM-canonical scalar for paradata-supported claims. CRM mapping changed 2026-07-10: was E54_Dimension; a confidence is the value a belief is held with, i.e. crminf:I6_Belief_Value (see WP3 coverage analysis G5 / Appendix C). The RDF exporter's qualia-precedence rule types the PropertyNode accordingly.",
|
|
1220
1226
|
"mappings": {
|
|
1221
|
-
"cidoc_crm": "crminf:I6_Belief_Value"
|
|
1227
|
+
"cidoc_crm": "crminf:I6_Belief_Value",
|
|
1228
|
+
"specialised_alternative": "em:confidenceLevel",
|
|
1229
|
+
"specialised_alternative_note": "1.6.3: em:confidenceLevel (em.ttl, xsd:decimal on any E1) is the plain-literal form of the same number, declared for a reader that wants the scalar without the CRMinf belief. NOT emitted: the RDF exporter types the PropertyNode crminf:I6_Belief_Value and links it with J5_holds_to_be (_emit_belief_propositions). Putting it in cidoc_crm's place would be the switch, and is E.D.'s decision."
|
|
1222
1230
|
},
|
|
1223
1231
|
"data_type": "percentage",
|
|
1224
1232
|
"range": [0, 100],
|
{s3dgraphy-1.6.0.dev24 → s3dgraphy-1.6.0.dev26}/src/s3dgraphy/JSON_config/em_visual_rules.json
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"formal_language": "EM",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.28",
|
|
4
4
|
"_note_material_vs_qualia_color": [
|
|
5
5
|
"DUE COSE DIVERSE CHE SI CHIAMANO ENTRAMBE color. Non confonderle: e gia successo.",
|
|
6
6
|
"1) QUI, in node_styles.<tipo>.style.material.rgba_color — il COLORE DEL MATERIALE BLENDER del proxy 3D, in float LINEARI. UNA sola chiave: `rgba_color`. Fino a S8 il file ne usava due (`color` sui 13 tipi stratigrafici, `rgba_color` sugli altri) e get_material_color() ne leggeva una sola, restituendo None per 21 tipi su 38; ora sono unificate e la vecchia `color` e letta solo come tolleranza verso file scritti prima. Un tipo che non diventa mai una mesh NON ha material affatto (i contenitori di gruppo, e da S7 i dieci nodi che rendono per icona): per loro get_material_color() torna None, ed e corretto.",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"In breve: qui si decide di che colore DISEGNARE una US; li si registra di che colore ERA."
|
|
10
10
|
],
|
|
11
11
|
"_changelog": {
|
|
12
|
+
"1.6.28": "THE TRANSLATION NODE (MICRO le traduzioni, 29 Oct 2026, decision of E.D. 1 Oct 2026). node_styles.TRANSL for TranslationNode: the narrative's neutral grey and its glyph (src/2D/narrative.svg, SHARED, declared by 2d_file_vect — the way UL / USN / USNt share US.png), with a DASHED border so a translation does not read as a narrative. Choosing a mark of its own is an act of EM iconography and is left to E.D.; no file_3d, no material: a translation never becomes a mesh.",
|
|
12
13
|
"1.6.27": "THE GLYPH OF THE FILE (MICRO-REVISIONE, 20 Oct 2026, decision of E.D. 30 Sep 2026: Claude draws it). node_styles.FILE.2d_file_vect: src/2D/link.svg -> src/2D/resource_file.svg, a sheet with a folded corner and the digest sign inside the 2017 DTC circle. WHERE, MEASURED: a resource takes its sign from node_styles.<KEY>.2d_file_vect (LINK -> src/2D/link.svg), a FILE, which EMStudio's icons.ts resolves (declaration, then src/2D/<node_type>.svg) and sync-datamodels.sh vendors from the top level of src/2D/. It is NOT a DTC glyph (dtc_kinds name the glyphs of DTC kinds, and a file is a node type, not a kind) and NOT a 2d_glyphs entry: LINK is not in 2d_render_glyph_types either, and joining that list would change how the label is laid out, which nobody asked. Still no .glb (as before). The dashed border and the LINK colour stay.",
|
|
13
14
|
"1.6.26": "THE FILE OF A RESOURCE (MICRO-RISORSA-FILE, 18 Oct 2026, decision of E.D. 30 Sep 2026). node_styles += FILE for ResourceFileNode (node datamodel 1.6.17): the LINK chain glyph and colour with a DASHED border — a file is a member of the resource it hangs from, the same family and not a second resource. NO NEW GLYPH: it reuses src/2D/link.svg, declares no .glb (LINK's src/3D/link.glb is itself among the missing 3D models, and a new type must not add to that gap), and a sign of its own is left to E.D.",
|
|
14
15
|
"1.6.25": "THE EIGHT DTC GLYPHS APPROVED (E.D., 30 Sep 2026; MICRO-GEOMETRIA-ORIGINE part 1). The eight drafts of 1.6.23 moved from src/2D/bozze/dtc_<glyph>.svg to src/2D/dtc/<glyph>.svg (12_gnss_survey … 19_vectorization), the BOZZA word removed from their comment, glyphs_from_svg --write rerun: their 2d_glyphs entries no longer carry draft: true. src/2D/bozze/ is empty again. Still without a glyph (open): the four recoveries download, local_import, uri_reference, ingest.",
|
|
@@ -3336,6 +3337,17 @@
|
|
|
3336
3337
|
},
|
|
3337
3338
|
"label_position": "over"
|
|
3338
3339
|
},
|
|
3340
|
+
"TRANSL": {
|
|
3341
|
+
"_comment": "TranslationNode (MICRO le traduzioni, E.D. 2026-10-01): one translation of one text field — a crm:E33 like the narrative, hence its grey and, until E.D. draws a mark of its own, its glyph (declared sharing). DASHED, unlike NARR's solid: the translation stands beside an original, it is not an authored object over the graph.",
|
|
3342
|
+
"2d_file_vect": "src/2D/narrative.svg",
|
|
3343
|
+
"style": {
|
|
3344
|
+
"border_color": "#5A5A66",
|
|
3345
|
+
"fill_color": "#F2F2F5",
|
|
3346
|
+
"border_style": "dashed",
|
|
3347
|
+
"shape": "rounded_rectangle"
|
|
3348
|
+
},
|
|
3349
|
+
"label_position": "over"
|
|
3350
|
+
},
|
|
3339
3351
|
"LINK": {
|
|
3340
3352
|
"file_3d": "src/3D/link.glb",
|
|
3341
3353
|
"2d_file_vect": "src/2D/link.svg",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_generated": "by `python -m s3dgraphy.tools.sync_node_datamodel` — DO NOT hand-edit. The flat class hierarchy (parent/node_type/description) is derived from the Python Node subclasses; hand-authored semantics and CIDOC mappings live in s3Dgraphy_node_datamodel.json.",
|
|
3
|
-
"s3Dgraphy_data_model_version": "1.6.
|
|
3
|
+
"s3Dgraphy_data_model_version": "1.6.20",
|
|
4
4
|
"node_types": {
|
|
5
5
|
"ActivityNodeGroup": {
|
|
6
6
|
"parent": "GroupNode",
|
|
@@ -277,6 +277,11 @@
|
|
|
277
277
|
"node_type": "TSU",
|
|
278
278
|
"description": ""
|
|
279
279
|
},
|
|
280
|
+
"TranslationNode": {
|
|
281
|
+
"parent": "Node",
|
|
282
|
+
"node_type": "translation",
|
|
283
|
+
"description": "ONE TRANSLATION of one text field of one node — a text, not a value."
|
|
284
|
+
},
|
|
280
285
|
"UnknownNode": {
|
|
281
286
|
"parent": "StratigraphicNode",
|
|
282
287
|
"node_type": "unknown",
|