s3dgraphy 1.6.0.dev18__tar.gz → 1.6.0.dev21__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.dev18/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev21}/PKG-INFO +85 -15
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/README.md +79 -9
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/pyproject.toml +8 -8
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/datamodel_translations.json +1 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em.ttl +128 -16
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_document_types.json +2 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_extractor_types.json +2 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_qualia_types.json +2 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/node_registry.generated.json +2 -2
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +85 -66
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +1720 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +18 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +20 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +23 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +20 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +19 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +20 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +20 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +20 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/__init__.py +1 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/api.py +57 -6
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/__init__.py +2 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/resolver.py +132 -11
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/authorities/snapshots/LICENSE +54 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +37 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/authorities/snapshots/provenance.json +63 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/connections_loader.py +48 -2
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/emjson_exporter.py +1 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +26 -10
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/rdf_exporter.py +239 -10
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +25 -2
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/base_importer.py +150 -14
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/emjson_importer.py +7 -1
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/importer/fmpxml_importer.py +150 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/pyarchinit_importer.py +6 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/rdf_importer.py +106 -12
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/unified_xlsx_importer.py +45 -8
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/authoring.py +227 -12
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +62 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +181 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/emdb/usm_mapping.json +76 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +277 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +259 -0
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/mappings/source_list/source_list_mapping.json +49 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/template_emdb_mapping.json +8 -9
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +8 -11
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/merge/graph_merger.py +33 -11
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/base_node.py +13 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/group_node.py +1 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/representation_node.py +8 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/stratigraphic_node.py +35 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/__init__.py +1 -1
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/rapporti.py +53 -11
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/temporal/inference_engine.py +13 -2
- s3dgraphy-1.6.0.dev21/src/s3dgraphy/tools/deliverable_report.py +402 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21/src/s3dgraphy.egg-info}/PKG-INFO +85 -15
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/SOURCES.txt +22 -0
- s3dgraphy-1.6.0.dev21/tests/test_attach_only.py +223 -0
- s3dgraphy-1.6.0.dev21/tests/test_authority_resolver.py +355 -0
- s3dgraphy-1.6.0.dev21/tests/test_fmpxml_importer.py +140 -0
- s3dgraphy-1.6.0.dev21/tests/test_il_proprietario_si_legge.py +154 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_mapping_authoring.py +11 -8
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_mapping_csv_and_relations.py +55 -11
- s3dgraphy-1.6.0.dev21/tests/test_node_type_map_integrity.py +64 -0
- s3dgraphy-1.6.0.dev21/tests/test_one_spelling_writers.py +312 -0
- s3dgraphy-1.6.0.dev21/tests/test_physical_relation_spellings.py +215 -0
- s3dgraphy-1.6.0.dev21/tests/test_rdf_embedding.py +104 -0
- s3dgraphy-1.6.0.dev21/tests/test_rdf_reverse_edges.py +218 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_rdf_roundtrip.py +23 -5
- s3dgraphy-1.6.0.dev21/tests/test_reverse_edges.py +296 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_rm_container_node_group.py +24 -10
- s3dgraphy-1.6.0.dev21/tests/test_shipped_mappings.py +239 -0
- s3dgraphy-1.6.0.dev21/tests/test_unit_definition.py +252 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_visual_assets.py +94 -0
- s3dgraphy-1.6.0.dev21/tests/test_xlsx_containment_and_unknown_bounds.py +203 -0
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +0 -1757
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/authorities/snapshots/LICENSE +0 -22
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -23
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/authorities/snapshots/provenance.json +0 -41
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +0 -60
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +0 -118
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/emdb/usm_mapping.json +0 -67
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +0 -197
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +0 -102
- s3dgraphy-1.6.0.dev18/src/s3dgraphy/mappings/source_list/source_list_mapping.json +0 -34
- s3dgraphy-1.6.0.dev18/tests/test_authority_resolver.py +0 -81
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/LICENSE +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/MANIFEST.in +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/setup.cfg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_visual_rules.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/acquire.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/descriptor.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/mapping.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/annotation/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/annotation/paradata.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/classification.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/container.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/connector.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/consumer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/core.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/reference.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/crdt.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/diagnostics.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dissemination.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/corpus.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/devices.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/ingest.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/residency.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/connection_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/edge.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/editorial.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/html_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/json_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/migrate.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/proxy.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/store_backed.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/graph.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/iiif.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/csv_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/import_graphml.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/qualia_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/source_text.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/xml_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/indices.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/registry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/merge/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/multigraph/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/multigraph/multigraph.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/bake.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/generation.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/query.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/registry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/site_story.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/author_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/combiner_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/document_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/embargo_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/epoch_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/extractor_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/graph_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/hdt_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/license_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/narrative_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/paradata_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/project_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/property_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/resource_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/study_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/photogrammetry/delta.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/publication.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/fs_backend.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/minio_backend.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/resolver.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/rights.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/shelf/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/shelf/core.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/absorb.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/emit.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/hints.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/identity.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/study.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_db_handle.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_workspace.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/edge_registry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graph_projector.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graphml_writer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/group_projector.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/group_store.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/ingest_result.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/paradata_store.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/uuid7.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/vocab_types.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_classifier.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_detector.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/temporal/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/consumer_drift.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/wheel_drift.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/compact.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/__init__.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/utils.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/visual_layout.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/zero_hour.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/requires.txt +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/top_level.txt +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_acquisition.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_acquisition_fs.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_api_surface.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_asset_dtc_protocol.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_authority_projection.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_blend_locator.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_canonical_document_rename.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_canvas_metadata_import.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_composite_node_name.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_connection_resolver.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_consumer_drift.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_container.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_contract.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_contract_consumer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_convert_command.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_crdt.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_datamodel_i18n.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_deterministic_ids.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_devices.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dissemination_tombstones.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_corpus.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_ingest.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_neighbourhood.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_projection.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_residency.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_editorial.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_emjson_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_emjson_schema_version.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_epoch_undated_import.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_explicit_node_type_marker.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_filtered_import.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_fs_backend.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_functional_units.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_georeference_scene.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_graph_scope_migration.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_hdto_projection.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_header_key_aliases.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_iiif.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_importer_edge_hygiene.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_ipynb_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_latex_exporter.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_lossless_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_material_color.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_merge_conflicts.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_migrate_legacy_proxy.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_minio_backend.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_authorship.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_bake_docx.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_figures.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_generation.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_node.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_query.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_scaffolder.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_node_datamodel_registry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_pg_importer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_photogrammetry_delta.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_promotion.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_pyarchinit_tier2.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_recompute_warnings.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_reproject.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_resource_layer.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_resource_tier.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_semantic_purity.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_shelf.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_facets.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_hatting.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_role_uri_table.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_source_list_mapping.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_source_text.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_stamp.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_stamp_hints.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_store_backed_geometry.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_stratiminer_api.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_study_metadata.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_ttl_roundtrip.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_wheel_drift.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_xlsx_importer_graph_init.py +0 -0
- {s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/tests/test_zero_hour.py +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: s3dgraphy
|
|
3
|
-
Version: 1.6.0.
|
|
3
|
+
Version: 1.6.0.dev21
|
|
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>
|
|
7
7
|
License: GPL-3.0-or-later
|
|
8
|
-
Project-URL: Homepage, https://github.com/
|
|
8
|
+
Project-URL: Homepage, https://github.com/ExtendedMatrix/s3Dgraphy
|
|
9
9
|
Project-URL: Documentation, https://docs.extendedmatrix.org/projects/s3dgraphy/
|
|
10
|
-
Project-URL: Repository, https://github.com/
|
|
11
|
-
Project-URL: Bug Reports, https://github.com/
|
|
12
|
-
Project-URL: Source Code, https://github.com/
|
|
10
|
+
Project-URL: Repository, https://github.com/ExtendedMatrix/s3Dgraphy.git
|
|
11
|
+
Project-URL: Bug Reports, https://github.com/ExtendedMatrix/s3Dgraphy/issues
|
|
12
|
+
Project-URL: Source Code, https://github.com/ExtendedMatrix/s3Dgraphy
|
|
13
13
|
Project-URL: Extended Matrix, https://www.extendedmatrix.org
|
|
14
|
-
Project-URL: Changelog, https://github.com/
|
|
14
|
+
Project-URL: Changelog, https://github.com/ExtendedMatrix/s3Dgraphy/blob/main/CHANGELOG.md
|
|
15
15
|
Keywords: archaeology,stratigraphy,graph,3d,heritage,temporal-modeling,knowledge-graph,extended-matrix
|
|
16
16
|
Classifier: Development Status :: 4 - Beta
|
|
17
17
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -81,7 +81,7 @@ Dynamic: license-file
|
|
|
81
81
|
[](https://pypi.org/project/s3dgraphy/)
|
|
82
82
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
83
83
|
[](https://pepy.tech/project/s3dgraphy)
|
|
84
|
-
[](https://github.com/ExtendedMatrix/s3Dgraphy/actions/workflows/publish.yml)
|
|
85
85
|
|
|
86
86
|
## 3D Stratigraphic Graph Management Library
|
|
87
87
|
|
|
@@ -260,7 +260,7 @@ match exactly and case-sensitively. The same flow applies to
|
|
|
260
260
|
|
|
261
261
|
- **[User Guide](https://docs.extendedmatrix.org/projects/s3dgraphy/)** - Complete documentation
|
|
262
262
|
- **[API Reference](https://docs.extendedmatrix.org/projects/s3dgraphy/api.html)** - Detailed API docs
|
|
263
|
-
- **[Examples](https://github.com/
|
|
263
|
+
- **[Examples](https://github.com/ExtendedMatrix/s3Dgraphy/tree/main/examples)** - Code examples and tutorials
|
|
264
264
|
- **[Extended Matrix](https://www.extendedmatrix.org)** - Framework overview
|
|
265
265
|
|
|
266
266
|
## Where this sits
|
|
@@ -284,7 +284,7 @@ framework and no socket on purpose — what it does can be proved on a table.
|
|
|
284
284
|
### Setting up Development Environment
|
|
285
285
|
|
|
286
286
|
```bash
|
|
287
|
-
git clone https://github.com/
|
|
287
|
+
git clone https://github.com/ExtendedMatrix/s3Dgraphy.git
|
|
288
288
|
cd s3dgraphy
|
|
289
289
|
python3 -m venv .venv
|
|
290
290
|
.venv/bin/pip install -e ".[dev]"
|
|
@@ -339,7 +339,7 @@ git push --follow-tags
|
|
|
339
339
|
## 🤝 Contributing
|
|
340
340
|
|
|
341
341
|
We welcome contributions. Open an issue or a pull request on
|
|
342
|
-
[GitHub](https://github.com/
|
|
342
|
+
[GitHub](https://github.com/ExtendedMatrix/s3Dgraphy) — and see the
|
|
343
343
|
[Development](#-development) section above for how to run the suite and read its
|
|
344
344
|
known baseline.
|
|
345
345
|
|
|
@@ -372,7 +372,7 @@ s3Dgraphy — referencing records live or baking them into the graph.
|
|
|
372
372
|
|
|
373
373
|
The PyArchInit integration drove the design of the LocationNodeGroup in
|
|
374
374
|
s3Dgraphy 0.1.41 (insight from
|
|
375
|
-
[issue #5](https://github.com/
|
|
375
|
+
[issue #5](https://github.com/ExtendedMatrix/s3Dgraphy/issues/5) by
|
|
376
376
|
[Enzo Cocca](https://github.com/enzococca)).
|
|
377
377
|
|
|
378
378
|
To request inclusion in this list, see the [Ecosystem page](https://docs.extendedmatrix.org/en/latest/ecosystem.html) of the Extended Matrix manual.
|
|
@@ -384,9 +384,79 @@ s3Dgraphy is designed to be consumed by independent tools. **Revit**,
|
|
|
384
384
|
domain-specific tools are natural candidates for similar bridges into the
|
|
385
385
|
Extended Matrix ecosystem. If you maintain such a project and want to
|
|
386
386
|
explore an integration, open a discussion at
|
|
387
|
-
[github.com/
|
|
387
|
+
[github.com/ExtendedMatrix/s3Dgraphy/discussions](https://github.com/ExtendedMatrix/s3Dgraphy/discussions)
|
|
388
388
|
or look at the PyArchInit integration as a worked example.
|
|
389
389
|
|
|
390
|
+
## Pubblicare su PyPI
|
|
391
|
+
|
|
392
|
+
Il rilascio è **manuale** — Actions → *Publish to PyPI* → *Run workflow*, con il
|
|
393
|
+
tag e il bersaglio (`testpypi` o `pypi`) — e **non usa nessun token**.
|
|
394
|
+
|
|
395
|
+
### Perché non un token
|
|
396
|
+
|
|
397
|
+
Un token API di lunga vita nei segreti del repository è una chiave di una
|
|
398
|
+
persona che tiene in ostaggio un artefatto del progetto, e non dice **da dove**
|
|
399
|
+
viene la wheel. Misurato il 22 settembre 2026 sulla versione che i servizi
|
|
400
|
+
installano davvero:
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
curl https://pypi.org/integrity/s3dgraphy/1.6.0.dev18/\
|
|
404
|
+
s3dgraphy-1.6.0.dev18-py3-none-any.whl/provenance
|
|
405
|
+
→ 404 {"message":"No provenance available for …"}
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
Tre servizi installano questa libreria e finisce dentro le immagini Docker che
|
|
409
|
+
consegniamo a un partner: chi le specchia può risalire al Dockerfile, al commit
|
|
410
|
+
e al tag — e poi arriva alla wheel, e la catena si interrompe lì.
|
|
411
|
+
|
|
412
|
+
Il **Trusted Publisher** toglie il token e dà l'attestazione, perché sono la
|
|
413
|
+
stessa cosa vista dai due lati: PyPI si fida di un'identità — questo
|
|
414
|
+
repository, questo workflow — invece che di un segreto, e quell'identità è
|
|
415
|
+
esattamente ciò che l'attestazione afferma.
|
|
416
|
+
|
|
417
|
+
### I campi da mettere su PyPI (una volta, e li mette E.D.)
|
|
418
|
+
|
|
419
|
+
PyPI → *Your projects* → **s3dgraphy** → *Settings* → **Publishing** → *Add a
|
|
420
|
+
new publisher* → **GitHub**. Quattro campi, e questi sono i valori esatti:
|
|
421
|
+
|
|
422
|
+
| campo | valore |
|
|
423
|
+
|---|---|
|
|
424
|
+
| **Owner** | `ExtendedMatrix` |
|
|
425
|
+
| **Repository name** | `s3Dgraphy` |
|
|
426
|
+
| **Workflow name** | `publish.yml` |
|
|
427
|
+
| **Environment name** | *(vuoto)* |
|
|
428
|
+
|
|
429
|
+
`Environment name` resta vuoto perché il workflow non dichiara nessun
|
|
430
|
+
`environment:`. Se un giorno gliene si dà uno — è il modo di chiedere
|
|
431
|
+
un'approvazione umana prima del push su PyPI — quel campo va compilato con lo
|
|
432
|
+
stesso nome, e i due devono restare d'accordo.
|
|
433
|
+
|
|
434
|
+
Su **TestPyPI** la procedura è identica, sul sito `test.pypi.org`, con gli
|
|
435
|
+
stessi quattro valori: sono due indici diversi e ciascuno tiene la sua lista.
|
|
436
|
+
|
|
437
|
+
Finché quei campi non ci sono, il workflow **fallisce** al passo di publish con
|
|
438
|
+
un errore di PyPI che dice che il publisher non è configurato — che è il modo
|
|
439
|
+
giusto di fallire.
|
|
440
|
+
|
|
441
|
+
### Il cancello
|
|
442
|
+
|
|
443
|
+
Dopo ogni rilascio in produzione il workflow interroga l'indice:
|
|
444
|
+
|
|
445
|
+
```bash
|
|
446
|
+
./scripts/verifica-provenance.sh 1.6.0.dev19
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
Un publish riuscito senza provenance è un publish che ha fatto metà del lavoro
|
|
450
|
+
e lo dichiara riuscito. Lo script distingue i due guasti — l'attestazione che
|
|
451
|
+
**manca** e quella che nomina un **altro repository**, che è il più grave dei
|
|
452
|
+
due perché sembra una garanzia — e si può lanciare a mano su qualunque versione
|
|
453
|
+
già pubblicata, inclusa una di un altro progetto:
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
PACCHETTO=sigstore GITHUB_REPOSITORY=sigstore/sigstore-python \
|
|
457
|
+
./scripts/verifica-provenance.sh 4.5.0
|
|
458
|
+
```
|
|
459
|
+
|
|
390
460
|
## 📄 License
|
|
391
461
|
|
|
392
462
|
This project is licensed under the **GNU General Public License v3.0** - see the [LICENSE](LICENSE) file for details.
|
|
@@ -402,7 +472,7 @@ If you use s3dgraphy in your research, please cite:
|
|
|
402
472
|
title={s3dgraphy: 3D Stratigraphic Graph Management Library},
|
|
403
473
|
author={Demetrescu, Emanuel},
|
|
404
474
|
year={2026},
|
|
405
|
-
url={https://github.com/
|
|
475
|
+
url={https://github.com/ExtendedMatrix/s3Dgraphy},
|
|
406
476
|
version={1.6.0},
|
|
407
477
|
institution={CNR-ISPC (National Research Council - Institute of Heritage Science)}
|
|
408
478
|
}
|
|
@@ -418,11 +488,11 @@ If you use s3dgraphy in your research, please cite:
|
|
|
418
488
|
|
|
419
489
|
## 🔗 Links
|
|
420
490
|
|
|
421
|
-
- **GitHub Repository**: https://github.com/
|
|
491
|
+
- **GitHub Repository**: https://github.com/ExtendedMatrix/s3Dgraphy
|
|
422
492
|
- **PyPI Package**: https://pypi.org/project/s3dgraphy/
|
|
423
493
|
- **Documentation**: https://docs.extendedmatrix.org/projects/s3dgraphy/
|
|
424
494
|
- **Extended Matrix Website**: https://www.extendedmatrix.org
|
|
425
|
-
- **Bug Reports**: https://github.com/
|
|
495
|
+
- **Bug Reports**: https://github.com/ExtendedMatrix/s3Dgraphy/issues
|
|
426
496
|
|
|
427
497
|
---
|
|
428
498
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://pypi.org/project/s3dgraphy/)
|
|
5
5
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
6
6
|
[](https://pepy.tech/project/s3dgraphy)
|
|
7
|
-
[](https://github.com/ExtendedMatrix/s3Dgraphy/actions/workflows/publish.yml)
|
|
8
8
|
|
|
9
9
|
## 3D Stratigraphic Graph Management Library
|
|
10
10
|
|
|
@@ -183,7 +183,7 @@ match exactly and case-sensitively. The same flow applies to
|
|
|
183
183
|
|
|
184
184
|
- **[User Guide](https://docs.extendedmatrix.org/projects/s3dgraphy/)** - Complete documentation
|
|
185
185
|
- **[API Reference](https://docs.extendedmatrix.org/projects/s3dgraphy/api.html)** - Detailed API docs
|
|
186
|
-
- **[Examples](https://github.com/
|
|
186
|
+
- **[Examples](https://github.com/ExtendedMatrix/s3Dgraphy/tree/main/examples)** - Code examples and tutorials
|
|
187
187
|
- **[Extended Matrix](https://www.extendedmatrix.org)** - Framework overview
|
|
188
188
|
|
|
189
189
|
## Where this sits
|
|
@@ -207,7 +207,7 @@ framework and no socket on purpose — what it does can be proved on a table.
|
|
|
207
207
|
### Setting up Development Environment
|
|
208
208
|
|
|
209
209
|
```bash
|
|
210
|
-
git clone https://github.com/
|
|
210
|
+
git clone https://github.com/ExtendedMatrix/s3Dgraphy.git
|
|
211
211
|
cd s3dgraphy
|
|
212
212
|
python3 -m venv .venv
|
|
213
213
|
.venv/bin/pip install -e ".[dev]"
|
|
@@ -262,7 +262,7 @@ git push --follow-tags
|
|
|
262
262
|
## 🤝 Contributing
|
|
263
263
|
|
|
264
264
|
We welcome contributions. Open an issue or a pull request on
|
|
265
|
-
[GitHub](https://github.com/
|
|
265
|
+
[GitHub](https://github.com/ExtendedMatrix/s3Dgraphy) — and see the
|
|
266
266
|
[Development](#-development) section above for how to run the suite and read its
|
|
267
267
|
known baseline.
|
|
268
268
|
|
|
@@ -295,7 +295,7 @@ s3Dgraphy — referencing records live or baking them into the graph.
|
|
|
295
295
|
|
|
296
296
|
The PyArchInit integration drove the design of the LocationNodeGroup in
|
|
297
297
|
s3Dgraphy 0.1.41 (insight from
|
|
298
|
-
[issue #5](https://github.com/
|
|
298
|
+
[issue #5](https://github.com/ExtendedMatrix/s3Dgraphy/issues/5) by
|
|
299
299
|
[Enzo Cocca](https://github.com/enzococca)).
|
|
300
300
|
|
|
301
301
|
To request inclusion in this list, see the [Ecosystem page](https://docs.extendedmatrix.org/en/latest/ecosystem.html) of the Extended Matrix manual.
|
|
@@ -307,9 +307,79 @@ s3Dgraphy is designed to be consumed by independent tools. **Revit**,
|
|
|
307
307
|
domain-specific tools are natural candidates for similar bridges into the
|
|
308
308
|
Extended Matrix ecosystem. If you maintain such a project and want to
|
|
309
309
|
explore an integration, open a discussion at
|
|
310
|
-
[github.com/
|
|
310
|
+
[github.com/ExtendedMatrix/s3Dgraphy/discussions](https://github.com/ExtendedMatrix/s3Dgraphy/discussions)
|
|
311
311
|
or look at the PyArchInit integration as a worked example.
|
|
312
312
|
|
|
313
|
+
## Pubblicare su PyPI
|
|
314
|
+
|
|
315
|
+
Il rilascio è **manuale** — Actions → *Publish to PyPI* → *Run workflow*, con il
|
|
316
|
+
tag e il bersaglio (`testpypi` o `pypi`) — e **non usa nessun token**.
|
|
317
|
+
|
|
318
|
+
### Perché non un token
|
|
319
|
+
|
|
320
|
+
Un token API di lunga vita nei segreti del repository è una chiave di una
|
|
321
|
+
persona che tiene in ostaggio un artefatto del progetto, e non dice **da dove**
|
|
322
|
+
viene la wheel. Misurato il 22 settembre 2026 sulla versione che i servizi
|
|
323
|
+
installano davvero:
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
curl https://pypi.org/integrity/s3dgraphy/1.6.0.dev18/\
|
|
327
|
+
s3dgraphy-1.6.0.dev18-py3-none-any.whl/provenance
|
|
328
|
+
→ 404 {"message":"No provenance available for …"}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Tre servizi installano questa libreria e finisce dentro le immagini Docker che
|
|
332
|
+
consegniamo a un partner: chi le specchia può risalire al Dockerfile, al commit
|
|
333
|
+
e al tag — e poi arriva alla wheel, e la catena si interrompe lì.
|
|
334
|
+
|
|
335
|
+
Il **Trusted Publisher** toglie il token e dà l'attestazione, perché sono la
|
|
336
|
+
stessa cosa vista dai due lati: PyPI si fida di un'identità — questo
|
|
337
|
+
repository, questo workflow — invece che di un segreto, e quell'identità è
|
|
338
|
+
esattamente ciò che l'attestazione afferma.
|
|
339
|
+
|
|
340
|
+
### I campi da mettere su PyPI (una volta, e li mette E.D.)
|
|
341
|
+
|
|
342
|
+
PyPI → *Your projects* → **s3dgraphy** → *Settings* → **Publishing** → *Add a
|
|
343
|
+
new publisher* → **GitHub**. Quattro campi, e questi sono i valori esatti:
|
|
344
|
+
|
|
345
|
+
| campo | valore |
|
|
346
|
+
|---|---|
|
|
347
|
+
| **Owner** | `ExtendedMatrix` |
|
|
348
|
+
| **Repository name** | `s3Dgraphy` |
|
|
349
|
+
| **Workflow name** | `publish.yml` |
|
|
350
|
+
| **Environment name** | *(vuoto)* |
|
|
351
|
+
|
|
352
|
+
`Environment name` resta vuoto perché il workflow non dichiara nessun
|
|
353
|
+
`environment:`. Se un giorno gliene si dà uno — è il modo di chiedere
|
|
354
|
+
un'approvazione umana prima del push su PyPI — quel campo va compilato con lo
|
|
355
|
+
stesso nome, e i due devono restare d'accordo.
|
|
356
|
+
|
|
357
|
+
Su **TestPyPI** la procedura è identica, sul sito `test.pypi.org`, con gli
|
|
358
|
+
stessi quattro valori: sono due indici diversi e ciascuno tiene la sua lista.
|
|
359
|
+
|
|
360
|
+
Finché quei campi non ci sono, il workflow **fallisce** al passo di publish con
|
|
361
|
+
un errore di PyPI che dice che il publisher non è configurato — che è il modo
|
|
362
|
+
giusto di fallire.
|
|
363
|
+
|
|
364
|
+
### Il cancello
|
|
365
|
+
|
|
366
|
+
Dopo ogni rilascio in produzione il workflow interroga l'indice:
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
./scripts/verifica-provenance.sh 1.6.0.dev19
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
Un publish riuscito senza provenance è un publish che ha fatto metà del lavoro
|
|
373
|
+
e lo dichiara riuscito. Lo script distingue i due guasti — l'attestazione che
|
|
374
|
+
**manca** e quella che nomina un **altro repository**, che è il più grave dei
|
|
375
|
+
due perché sembra una garanzia — e si può lanciare a mano su qualunque versione
|
|
376
|
+
già pubblicata, inclusa una di un altro progetto:
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
PACCHETTO=sigstore GITHUB_REPOSITORY=sigstore/sigstore-python \
|
|
380
|
+
./scripts/verifica-provenance.sh 4.5.0
|
|
381
|
+
```
|
|
382
|
+
|
|
313
383
|
## 📄 License
|
|
314
384
|
|
|
315
385
|
This project is licensed under the **GNU General Public License v3.0** - see the [LICENSE](LICENSE) file for details.
|
|
@@ -325,7 +395,7 @@ If you use s3dgraphy in your research, please cite:
|
|
|
325
395
|
title={s3dgraphy: 3D Stratigraphic Graph Management Library},
|
|
326
396
|
author={Demetrescu, Emanuel},
|
|
327
397
|
year={2026},
|
|
328
|
-
url={https://github.com/
|
|
398
|
+
url={https://github.com/ExtendedMatrix/s3Dgraphy},
|
|
329
399
|
version={1.6.0},
|
|
330
400
|
institution={CNR-ISPC (National Research Council - Institute of Heritage Science)}
|
|
331
401
|
}
|
|
@@ -341,11 +411,11 @@ If you use s3dgraphy in your research, please cite:
|
|
|
341
411
|
|
|
342
412
|
## 🔗 Links
|
|
343
413
|
|
|
344
|
-
- **GitHub Repository**: https://github.com/
|
|
414
|
+
- **GitHub Repository**: https://github.com/ExtendedMatrix/s3Dgraphy
|
|
345
415
|
- **PyPI Package**: https://pypi.org/project/s3dgraphy/
|
|
346
416
|
- **Documentation**: https://docs.extendedmatrix.org/projects/s3dgraphy/
|
|
347
417
|
- **Extended Matrix Website**: https://www.extendedmatrix.org
|
|
348
|
-
- **Bug Reports**: https://github.com/
|
|
418
|
+
- **Bug Reports**: https://github.com/ExtendedMatrix/s3Dgraphy/issues
|
|
349
419
|
|
|
350
420
|
---
|
|
351
421
|
|
|
@@ -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.dev21"
|
|
8
8
|
description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -60,13 +60,13 @@ dependencies = [
|
|
|
60
60
|
]
|
|
61
61
|
|
|
62
62
|
[project.urls]
|
|
63
|
-
Homepage = "https://github.com/
|
|
63
|
+
Homepage = "https://github.com/ExtendedMatrix/s3Dgraphy"
|
|
64
64
|
Documentation = "https://docs.extendedmatrix.org/projects/s3dgraphy/"
|
|
65
|
-
Repository = "https://github.com/
|
|
66
|
-
"Bug Reports" = "https://github.com/
|
|
67
|
-
"Source Code" = "https://github.com/
|
|
65
|
+
Repository = "https://github.com/ExtendedMatrix/s3Dgraphy.git"
|
|
66
|
+
"Bug Reports" = "https://github.com/ExtendedMatrix/s3Dgraphy/issues"
|
|
67
|
+
"Source Code" = "https://github.com/ExtendedMatrix/s3Dgraphy"
|
|
68
68
|
"Extended Matrix" = "https://www.extendedmatrix.org"
|
|
69
|
-
Changelog = "https://github.com/
|
|
69
|
+
Changelog = "https://github.com/ExtendedMatrix/s3Dgraphy/blob/main/CHANGELOG.md"
|
|
70
70
|
|
|
71
71
|
# ─────────────────────────────────────────────────────────────────────────
|
|
72
72
|
# Optional features — pip install s3dgraphy[<extra>]
|
|
@@ -104,12 +104,12 @@ sync = [
|
|
|
104
104
|
# ingestion + projection between a Graph and the host application's
|
|
105
105
|
# SQL tables. SQLite works out of the box; add the [postgres] extra
|
|
106
106
|
# for the PostgreSQL backend. Moved from pyArchInit in 1.6.0
|
|
107
|
-
# (
|
|
107
|
+
# (ExtendedMatrix/s3Dgraphy#10).
|
|
108
108
|
"sqlalchemy>=2.0",
|
|
109
109
|
]
|
|
110
110
|
postgres = [
|
|
111
111
|
# PostgreSQL backend driver. Combine with [sync] for the SQL bridge
|
|
112
|
-
# (
|
|
112
|
+
# (ExtendedMatrix/s3Dgraphy#9 + #10). Standalone, it also enables
|
|
113
113
|
# the PG path of PyArchInitImporter when that lands.
|
|
114
114
|
"psycopg2-binary>=2.9",
|
|
115
115
|
]
|
|
@@ -842,7 +842,7 @@
|
|
|
842
842
|
},
|
|
843
843
|
"SpecialFindUnit": {
|
|
844
844
|
"description": {
|
|
845
|
-
"en": "Movable physical object whose ORIGINAL position is unknown (and sometimes whose pertinence to the site is uncertain). Distinct from in-situ artefacts — known to exist(ed) but displaced. Architectural artefacts, coins, fragments without findspot. Provenance / pertinence uncertainty is captured via paradata edges, not by class.",
|
|
845
|
+
"en": "Movable physical object whose ORIGINAL position is unknown (and sometimes whose pertinence to the site is uncertain). Distinct from in-situ artefacts — known to exist(ed) but displaced. Architectural artefacts, coins, fragments without findspot. This is also the unit for a REDEPOSITED object: a block in secondary deposition found inside a layer, which is observed where it lies but not where it was made to lie. Provenance / pertinence uncertainty is captured via paradata edges, not by class.",
|
|
846
846
|
"validated_it": false,
|
|
847
847
|
"validated_el": false,
|
|
848
848
|
"validated_he": false,
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
14
14
|
|
|
15
15
|
# ============================================================================
|
|
16
|
-
# Extended Matrix (EM) Ontology — v1.6.
|
|
16
|
+
# Extended Matrix (EM) Ontology — v1.6.5
|
|
17
17
|
# ============================================================================
|
|
18
18
|
# Formal extension of the CIDOC-CRM family + HDT-O for the Extended Matrix
|
|
19
19
|
# stratigraphic + paradata + virtual-reconstruction modeling. Companion to
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
# Python inheritance (e.g. AuthorAINode → AuthorNode) is for code reuse.
|
|
32
32
|
# * "Maps to: Python ClassName" comments anchor each class to its
|
|
33
33
|
# s3dgraphy Python counterpart for round-trip verification.
|
|
34
|
-
# *
|
|
34
|
+
# * AP11_has_physical_relation_to discrimination uses subproperties (em:abuts,
|
|
35
35
|
# em:cuts, em:fills, em:overlies, em:bondedTo, em:physicallyEquals)
|
|
36
36
|
# rather than reified relations with E55_Type tags — this is the
|
|
37
37
|
# SPARQL-friendly pattern.
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
dcterms:creator "Emanuele Demetrescu" ;
|
|
45
45
|
dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
|
|
46
46
|
dcterms:issued "2026-05-23"^^xsd:date ;
|
|
47
|
-
owl:versionInfo "1.6.
|
|
48
|
-
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."@en ;
|
|
47
|
+
owl:versionInfo "1.6.5" ;
|
|
48
|
+
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.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)."@en ;
|
|
49
49
|
owl:imports <http://www.cidoc-crm.org/cidoc-crm/> ,
|
|
50
50
|
<http://www.cidoc-crm.org/extensions/crminf/> ,
|
|
51
51
|
<http://www.cidoc-crm.org/extensions/crmarchaeo/> ,
|
|
@@ -305,7 +305,7 @@ em:RepresentationModel
|
|
|
305
305
|
a owl:Class ;
|
|
306
306
|
rdfs:label "Representation Model"@en ;
|
|
307
307
|
rdfs:subClassOf crmdig:D1_Digital_Object ;
|
|
308
|
-
rdfs:comment "A 3D model or spatialized image representing some node in the graph. Abstract base. Specialized into em:StratigraphicRepresentation, em:DocumentaryRepresentation, em:SpecialFindRepresentation. Always linked to what it represents via crm:P138_represents."@en .
|
|
308
|
+
rdfs:comment "A 3D model or spatialized image representing some node in the graph. Abstract base. Specialized into em:StratigraphicRepresentation, em:DocumentaryRepresentation, em:SpecialFindRepresentation. Always linked to what it represents via crm:P138_represents. WHAT IT IS (E.D., 21 September 2026). A representation model is a DOCUMENT WITH A DATE: it was made on a day, by somebody, from something, and it is naturally anchored to an EPOCH rather than to a unit. It is also potentially PARTIAL — a photogrammetric survey can come back with an incomplete mesh, a facade recorded from one side only, a room whose ceiling nobody could reach. Both of those together have one consequence worth stating so nobody reasons past it: the ABSENCE of a link between a model and a stratigraphic unit IS NOT INFORMATIVE. It does not mean the unit was not represented, and it does not mean the unit is not there; it means this document does not reach that far. Queries must not read a missing link as a negative claim. The PROXY has a different statute and is not the same kind of thing: em:SemanticShape is CUMULATIVE and ARGUED — a quale synthesised from several sources, inheriting the extractor/combiner chain, so it can be more COMPLETE than any single model while being far less detailed. A model is one look at the thing; a proxy is what we have concluded the thing occupies. DATING AND PROVENANCE HAVE NO FIELD OF THEIR OWN ON THIS CLASS, and that is deliberate: they travel through has_linked_resource to a ResourceNode and back up through dtc_had_output to the DTC event that produced it, where the date, the device and the author already live and are already paradata. A `date` field MUST NOT be added to RepresentationModelNode: it would duplicate the DTC chain, drift from it, and turn a documented provenance into a typed-in string."@en .
|
|
309
309
|
|
|
310
310
|
em:StratigraphicRepresentation
|
|
311
311
|
a owl:Class ;
|
|
@@ -328,7 +328,12 @@ em:SpecialFindRepresentation
|
|
|
328
328
|
em:SemanticShape
|
|
329
329
|
a owl:Class ;
|
|
330
330
|
rdfs:label "Semantic Shape (proxy geometry)"@en ;
|
|
331
|
-
|
|
331
|
+
# PROVVISORIO — crmgeo:SP6_Declarative_Place è il candidato migliore,
|
|
332
|
+
# decisione rinviata da E.D. (21 set 2026). Era crmgeo:SP5_Geometric_Place_Expression,
|
|
333
|
+
# che NON è dichiarata nel documento servito a http://www.cidoc-crm.org/extensions/crmgeo/
|
|
334
|
+
# (CRMgeo 2.0 draft: SP1,2,3,4,6,7,10,11,12,13,14,15 — SP5 sopravvive solo nella scope
|
|
335
|
+
# note di SP6). crm:E73_Information_Object è la mossa sicura che non impegna.
|
|
336
|
+
rdfs:subClassOf crm:E73_Information_Object ;
|
|
332
337
|
rdfs:comment "3D proxy geometry (convex shapes or spheres, or a .glb via rdfs:seeAlso) representing the spatial extent of a node. Lighter weight than a full RepresentationModel: intended for spatial indexing and rough containment, not for visual rendering. SINCE 2026-08-11 IT IS A PAYLOAD: the proxy of a unit is a quale — a property of type 'geometry' — and this class is what that property points at through P138i (has_semantic_shape). The reason is paradata: a lone shape cannot say where it came from, while a property inherits the extractor/combiner chain, so one proxy can be synthesised from several sources (a photogrammetric mesh and a historical photograph). The class itself did not change; who points at it did. Maps to: Python SemanticShapeNode (node_type='semantic_shape')."@en .
|
|
333
338
|
|
|
334
339
|
em:convexShape
|
|
@@ -483,7 +488,7 @@ em:confidenceLevel
|
|
|
483
488
|
# ============================================================================
|
|
484
489
|
# 11. STRATIGRAPHIC PHYSICAL RELATIONS (AP11 subproperties)
|
|
485
490
|
# ============================================================================
|
|
486
|
-
# CRMarchaeo's
|
|
491
|
+
# CRMarchaeo's AP11_has_physical_relation_to is the generic relation between
|
|
487
492
|
# two stratigraphic units. We discriminate the specific type with named
|
|
488
493
|
# subproperties — the SPARQL-friendly pattern (queries can be specific
|
|
489
494
|
# OR fall back to the generic AP11 via subproperty inference).
|
|
@@ -491,7 +496,7 @@ em:confidenceLevel
|
|
|
491
496
|
em:abuts
|
|
492
497
|
a owl:ObjectProperty ;
|
|
493
498
|
rdfs:label "abuts"@en ;
|
|
494
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
499
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
495
500
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
496
501
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
497
502
|
rdfs:comment "Source stratigraphic unit abuts against the target. Non-symmetric: A abuts B does NOT imply B abuts A (B is_abutted_by A). Maps to: connections_datamodel edge 'abuts'."@en .
|
|
@@ -499,7 +504,7 @@ em:abuts
|
|
|
499
504
|
em:cuts
|
|
500
505
|
a owl:ObjectProperty ;
|
|
501
506
|
rdfs:label "cuts"@en ;
|
|
502
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
507
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
503
508
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
504
509
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
505
510
|
rdfs:comment "Source stratigraphic unit cuts (is incised into) the target. Non-symmetric. Maps to: connections_datamodel edge 'cuts'."@en .
|
|
@@ -507,7 +512,7 @@ em:cuts
|
|
|
507
512
|
em:fills
|
|
508
513
|
a owl:ObjectProperty ;
|
|
509
514
|
rdfs:label "fills"@en ;
|
|
510
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
515
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
511
516
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
512
517
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
513
518
|
rdfs:comment "Source stratigraphic unit fills the target (typically a deposit filling a cut). Non-symmetric. Maps to: connections_datamodel edge 'fills'."@en .
|
|
@@ -515,7 +520,7 @@ em:fills
|
|
|
515
520
|
em:overlies
|
|
516
521
|
a owl:ObjectProperty ;
|
|
517
522
|
rdfs:label "overlies"@en ;
|
|
518
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
523
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
519
524
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
520
525
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
521
526
|
rdfs:comment "Source stratigraphic unit overlies (covers) the target. Non-symmetric. Maps to: connections_datamodel edge 'overlies'."@en .
|
|
@@ -523,7 +528,7 @@ em:overlies
|
|
|
523
528
|
em:bondedTo
|
|
524
529
|
a owl:ObjectProperty , owl:SymmetricProperty ;
|
|
525
530
|
rdfs:label "bonded to"@en ;
|
|
526
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
531
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
527
532
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
528
533
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
529
534
|
rdfs:comment "Two stratigraphic units are physically bonded (e.g. masonry bonding). Symmetric. Maps to: connections_datamodel edges 'bonded_to' / 'is_bonded_to'."@en .
|
|
@@ -531,7 +536,7 @@ em:bondedTo
|
|
|
531
536
|
em:physicallyEquals
|
|
532
537
|
a owl:ObjectProperty , owl:SymmetricProperty ;
|
|
533
538
|
rdfs:label "physically equals"@en ;
|
|
534
|
-
rdfs:subPropertyOf crmarchaeo:
|
|
539
|
+
rdfs:subPropertyOf crmarchaeo:AP11_has_physical_relation_to ;
|
|
535
540
|
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
536
541
|
rdfs:range crmarchaeo:A8_Stratigraphic_Unit ;
|
|
537
542
|
rdfs:comment "Two distinct stratigraphic-unit ids refer to the same physical entity (e.g. across campaigns or archives). Symmetric. Maps to: connections_datamodel edges 'equals' / 'is_physically_equal_to'."@en .
|
|
@@ -612,13 +617,13 @@ em:UnknownNode
|
|
|
612
617
|
em:NodeGroup
|
|
613
618
|
a owl:Class ;
|
|
614
619
|
rdfs:label "Node Group (abstract)"@en ;
|
|
615
|
-
rdfs:subClassOf crm:
|
|
620
|
+
rdfs:subClassOf crm:E73_Information_Object ;
|
|
616
621
|
rdfs:comment "Abstract superclass of the EM grouping axes — activity (intention), paradata (justification), timebranch (alternative time), location (place), functional unit (architectural composition). A group is a Collection of nodes and never changes what its members ARE. Maps to: Python GroupNode (node_type='Group')."@en .
|
|
617
622
|
|
|
618
623
|
em:ParadataNodeGroup
|
|
619
624
|
a owl:Class ;
|
|
620
625
|
rdfs:label "Paradata Node Group"@en ;
|
|
621
|
-
rdfs:subClassOf em:NodeGroup , crm:
|
|
626
|
+
rdfs:subClassOf em:NodeGroup , crm:E89_Propositional_Object ;
|
|
622
627
|
rdfs:comment "All the paradata of one stratigraphic unit gathered as a unit, by EM convention named '[US_name]_PD'. Distinct class so the paradata groups are findable by type rather than by naming convention. Maps to: Python ParadataNodeGroup (node_type='ParadataNodeGroup')."@en .
|
|
623
628
|
|
|
624
629
|
em:LocationNodeGroup
|
|
@@ -635,5 +640,112 @@ em:GeoPositionNode
|
|
|
635
640
|
|
|
636
641
|
|
|
637
642
|
# ============================================================================
|
|
638
|
-
#
|
|
643
|
+
# 12. TERMS THE DATAMODELS CITE — declared here for the first time
|
|
644
|
+
# (added 2026-09-21, repair pass on the CIDOC mapping)
|
|
645
|
+
# ============================================================================
|
|
646
|
+
#
|
|
647
|
+
# These eight em: terms were named by s3Dgraphy_node_datamodel.json and
|
|
648
|
+
# s3Dgraphy_connections_datamodel.json and never defined here. An undefined
|
|
649
|
+
# term is not an error anywhere: it serialises as a perfectly well-formed IRI
|
|
650
|
+
# that no reasoner can place and no query can reach through its superclass.
|
|
651
|
+
# Domain, range and superclass below are READ OFF the datamodels
|
|
652
|
+
# (em_extension.subclass_of, mapping.cidoc, allowed_connections) — nothing is
|
|
653
|
+
# invented. Where the datamodel did not say, the field is absent and the
|
|
654
|
+
# comment says so.
|
|
655
|
+
|
|
656
|
+
em:FunctionalUnit
|
|
657
|
+
a owl:Class ;
|
|
658
|
+
rdfs:label "Functional Unit"@en ;
|
|
659
|
+
rdfs:subClassOf crm:E24_Physical_Human-Made_Thing ;
|
|
660
|
+
rdfs:comment "The stratigraphic units that together make up one recognisable functional or architectural component — the column made of its US, the wall made of its US (DP-72). Physical, not curatorial: it takes E24 rather than the collection class its em:NodeGroup parent carries, because a component is a whole made of parts and not a set somebody assembled. It is likewise not an em:WorkingUnit (an activity axis: why something was done) — this answers what a set of units IS. Since 2026-09-21 it is also a bearer of the temporal index: has_first_epoch and survive_in_epoch both accept it, and the asymmetry with ActivityNodeGroup (which takes has_first_epoch and never survive_in_epoch) is the point — an activity is an event and does not survive, a thing persists. Maps to: Python FunctionalUnitNodeGroup (node_type=\'FunctionalUnitNodeGroup\')."@en .
|
|
661
|
+
|
|
662
|
+
em:RepresentationModelNodeGroup
|
|
663
|
+
a owl:Class ;
|
|
664
|
+
rdfs:label "Representation Model Container"@en ;
|
|
665
|
+
rdfs:subClassOf em:NodeGroup , crm:E73_Information_Object ;
|
|
666
|
+
rdfs:comment "The representation models that form ONE named set published under a single Document — «Survey 2015» under D.01, «Reconstruction» under D.09 (EM16-RMNG, 2026-09-10). The one group subtype that does not override its parent class: a container of models is a conceptual set, not a physical thing and not an event. Membership is 1:1 — a mesh belongs to exactly one container — and the container sits BESIDE the direct Document→model edges, never in between. Maps to: Python RepresentationModelNodeGroup (node_type=\'RepresentationModelNodeGroup\')."@en .
|
|
667
|
+
|
|
668
|
+
em:GCPSet
|
|
669
|
+
a owl:Class ;
|
|
670
|
+
rdfs:label "Ground Control Point Set"@en ;
|
|
671
|
+
rdfs:subClassOf crm:E73_Information_Object ;
|
|
672
|
+
rdfs:comment "The set of ground control points a registration was (or will be) solved from: a documented list of measured places and, for each, where it was observed. An information object that CARRIES places and measurements without being either — it is not an E53 Place and not a crmsci:S21 Measurement. Named in the EM extension because «the control points behind this registration» is the unit archaeologists actually hand each other, and CIDOC has nothing above E73 for it. The individual observations stay payload literals in this version; exploding each point into an S21 Measurement of an E53 Place is declared as a refinement, not implied. Maps to: Python GCPSetNode (node_type=\'gcp_set\')."@en .
|
|
673
|
+
|
|
674
|
+
em:RegistrationTransform
|
|
675
|
+
a owl:Class ;
|
|
676
|
+
rdfs:label "Registration Transform"@en ;
|
|
677
|
+
rdfs:subClassOf crm:E73_Information_Object ;
|
|
678
|
+
rdfs:comment "The 7-parameter similarity (rotation, translation, positive scale) that places a produced model in a frame, carrying its own error bar (rms, residuals) beside the claim rather than in a log nobody keeps. It DESCRIBES a mapping between two crmgeo:SP4 spatial coordinate reference systems, which CIDOC and CRMgeo model individually but never as a parameterised map between two of them — hence E73 as the honest superclass. Deliberately NOT an event: the alternative, leaving the parameters as literals on the D7 acquisition, loses the ability to point at «the placement» as a thing that gets superseded, and being superseded is the whole reason the transform is a node. The three modes are the SHAPE of the graph, never a flag: a transform with a CRS that has_gcp_set points at = absolute; a transform with crs=null and no control set = a site-local frame; no transform at all = nobody placed it. Maps to: Python RegistrationTransformNode (node_type=\'registration_transform\')."@en .
|
|
679
|
+
|
|
680
|
+
em:Narrative
|
|
681
|
+
a owl:Class ;
|
|
682
|
+
rdfs:label "Narrative"@en ;
|
|
683
|
+
rdfs:subClassOf crm:E33_Linguistic_Object ;
|
|
684
|
+
rdfs:comment "A narrative over the EM graph: an ordered sequence of chapters, each anchored to a lane (epoch, activity, area) or standing outside the stratigraphy (introduction, geographic placement), composed of prose blocks and embed blocks. E33 because the narrative IS linguistic content about the heritage entity — and an E33 is already an E73 Information Object in CRM, so it is versionable, licensable and embargoable like the graph itself without a second assertion. The embeds are not content but references, and project as P67_refers_to. Endorsement is a separate act and a separate edge: see em:validatedBy. Maps to: Python NarrativeNode (node_type=\'narrative\')."@en .
|
|
685
|
+
|
|
686
|
+
em:NeutralSU
|
|
687
|
+
a owl:Class ;
|
|
688
|
+
rdfs:label "Neutral Stratigraphic Unit (USNt)"@en ;
|
|
689
|
+
rdfs:subClassOf crmarchaeo:A3_Stratigraphic_Interface ;
|
|
690
|
+
rdfs:comment "PROVISIONAL (datamodel extension_status: proposed_provisional — the class is declared so the IRI stops being undefined, NOT because the CIDOC placement is settled). A void that is part of the DESIGN and not the product of a destruction: the risparmi of masonry, a window or door opening, a niche, the empty volume of a room. The wall was built around it, so nothing was ever removed — which is what separates it from the negative unit, whose void is what a destructive act left behind. A3 Stratigraphic Interface is the better-informed placeholder; the genesis it wants is CONSTRUCTIVE (A4-flavoured), not the A5 destructive modification the negative unit takes. Consequence already enforced in the connections datamodel: USNt takes is_after / is_before and nothing else — a void cannot cut, fill, abut or bond. Maps to: Python NeutralStratigraphicUnit (stratigraphic subtype token \'USNt\' since POL6, 2026-08-04)."@en .
|
|
691
|
+
|
|
692
|
+
em:hasSubEpoch
|
|
693
|
+
a owl:ObjectProperty ;
|
|
694
|
+
rdfs:label "has sub-epoch"@en ;
|
|
695
|
+
rdfs:domain crm:E4_Period ;
|
|
696
|
+
rdfs:range crm:E4_Period ;
|
|
697
|
+
rdfs:comment "Splits an epoch into ordered sub-epochs (phases): the SUBJECT is the parent epoch, the OBJECT a phase, which is itself an epoch. Direction taken from the connections datamodel, which states it in words — «Source is the parent epoch, target a phase» — and from the edge\'s own name; the reverse edge is is_in_epoch. Phases partition the parent\'s time-span: when hidden the parent holds all the units, when shown the units are distributed across the phases. NO rdfs:subPropertyOf IS ASSERTED, deliberately. The edge\'s mapping.cidoc is crm:P10_falls_within, whose containment runs the other way (a phase falls within its parent, as that mapping\'s own _comment says) — so the CRM projection of this edge is currently written source-first on the wrong end, and the superproperty here would bake that in. crm:P10i_contains is the candidate; the decision is E.D.\'s and is recorded in the repair report of 2026-09-21. Maps to: connections_datamodel edge \'has_sub_epoch\'."@en .
|
|
698
|
+
|
|
699
|
+
em:validatedBy
|
|
700
|
+
a owl:ObjectProperty ;
|
|
701
|
+
rdfs:label "validated by"@en ;
|
|
702
|
+
rdfs:subPropertyOf prov:wasInfluencedBy ;
|
|
703
|
+
rdfs:domain em:Narrative ;
|
|
704
|
+
rdfs:range em:HumanAuthor ;
|
|
705
|
+
rdfs:comment "A HUMAN author endorses a piece of content: they have read it and put their name to it (EM Narrative N4, «Who Made This?»). Distinct from em:hasAuthor, and the distinction is the point: hasAuthor says who WROTE it, human or AI; validatedBy says who accepted RESPONSIBILITY for it. The range is em:HumanAuthor and never em:AIAuthor — a model endorsing a model would be a signature with nobody behind it. It is not a quality judgement and not a peer review. The absence of the property IS the unendorsed state, so a machine draft cannot claim an endorsement it never received. Superproperty and domain/range read off the connections datamodel (mapping.cidoc prov:wasInfluencedBy; source NarrativeNode, target AuthorNode). prov:wasInfluencedBy is the domain-neutral anchor because it is true and claims nothing more: endorsement has no exact term in CIDOC-CRM or PROV-O, and the datamodel records that an E13 Attribute Assignment reification is where this would change. Maps to: connections_datamodel edge \'validated_by\'."@en .
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
# ============================================================================
|
|
709
|
+
# CRMem v1.6.3 (2026-09-21) — the first of the four surviving CRMem properties
|
|
710
|
+
# Decided by E.D. in the CIDOC-EM branch chat, 21 September 2026.
|
|
711
|
+
# ============================================================================
|
|
712
|
+
|
|
713
|
+
em:isInActivity
|
|
714
|
+
a owl:ObjectProperty ;
|
|
715
|
+
rdfs:label "is in activity"@en ;
|
|
716
|
+
rdfs:domain crm:E1_CRM_Entity ;
|
|
717
|
+
rdfs:range crm:E7_Activity ;
|
|
718
|
+
rdfs:comment "An entity of any kind — a stratigraphic unit, a quale, a document, an extractor, a whole paradata group — is CLASSIFIED UNDER an activity-shaped grouping. This is the axis of INTENTION in the Extended Matrix, orthogonal to space (is_in_location) and to time (the epoch edges), and it is a curatorial grouping and not an event anyone attended. NO SUPERPROPERTY, deliberately, and the reason is the whole justification for the term: CIDOC can say that an actor PARTICIPATED in an event (P11i), that a thing WAS PRESENT (P12i), that an object WAS USED (P16i) — but it cannot say that an arbitrary entity is classified under an activity. P12i would even pass the type check, because E28 Conceptual Object reaches E77 through E71/E70, but it would be false: a PropertyNode attended nothing. P9i needs an E4 Period in the subject and the sources here are not periods; P129i needs an E89 in the object and E7 Activity is not one. Verified against CIDOC CRM 7.1.3 and CRMarchaeo 2.1.1: CRMarchaeo has specific archaeological activities (A9, A1, A6) but no generic activity class and none of its 32 AP properties expresses membership in one. The CLASS is not ours — crm:E7_Activity is CIDOC core and ActivityNodeGroup stays mapped to it — only the property is. NAMED isInActivity and NOT participatedInActivity (the dead CIDOC-S3D desideratum it replaces), because participation is a claim this model does not make. Maps to: connections_datamodel edge 'is_in_activity' (sources StratigraphicNode/ParadataNode/ParadataNodeGroup/DocumentNode/ExtractorNode/CombinerNode/PropertyNode, target ActivityNodeGroup); mapping.cidoc stays EMPTY on purpose, and the exporter emits this property on its own."@en .
|
|
719
|
+
|
|
720
|
+
em:belongsToAlternative
|
|
721
|
+
a owl:ObjectProperty ;
|
|
722
|
+
rdfs:label "belongs to alternative"@en ;
|
|
723
|
+
rdfs:domain crm:E1_CRM_Entity ;
|
|
724
|
+
rdfs:range em:TimeBranch ;
|
|
725
|
+
rdfs:subPropertyOf crminf:J28i_is_referred_to_in ;
|
|
726
|
+
rdfs:comment "An entity belongs to one alternative reconstruction scenario rather than another. UNLIKE em:contrastsWith and em:isInActivity this term HAS an honest ceiling: CRMinf does cover membership in a set of propositions (J28/J28i, and since 1.2 the I17 pattern with J30/J31/J32), so the extension NARROWS here instead of widening. What it adds beneath that ceiling is the identity of the scenario as an addressable thing, which the bare membership property does not carry: a reader must be able to ask which units belong to scenario B, not merely that they are referred to somewhere. Maps to: connections_datamodel edges is_in_timebranch (source StratigraphicNode, target TimeBranchNodeGroup) and the deprecated has_timebranch. Replaces the dead desideratum CIDOC-S3D:belongsToAlternative, which named the same thing under a prefix that resolved to nothing."@en .
|
|
727
|
+
|
|
728
|
+
em:hasSemanticShape
|
|
729
|
+
a owl:ObjectProperty ;
|
|
730
|
+
rdfs:label "has semantic shape"@en ;
|
|
731
|
+
rdfs:domain crm:E1_CRM_Entity ;
|
|
732
|
+
rdfs:range em:SemanticShape ;
|
|
733
|
+
rdfs:comment "An entity is represented, for the purpose of spatial reasoning, by a simplified geometry that STANDS FOR it — a convex hull, a sphere, a proximity volume — as distinct from a geometry that measures it. The two answer different questions: a measured geometry says where the unit was found, a semantic shape says how it is to be reasoned about spatially when its true shape is unknown, irrelevant, or argued. NO SUPERPROPERTY: crmgeo places (SP5 and its neighbourhood) express a place expression, not a schematic stand-in, and since the proxy-as-property change of v1.6.10 the source of this relation includes a PropertyNode — a quale does not occupy a place, so a place-valued property would be false as well as imprecise. The CLASS is ours (em:SemanticShape, itself declared beneath crm:E73_Information_Object) because the stand-in is an information object and not a physical extent. Maps to: connections_datamodel edge has_semantic_shape (source Node, target SemanticShapeNode). Replaces the dead desideratum CIDOC-S3D:hasSymbolicSpatialRepresentation."@en .
|
|
734
|
+
|
|
735
|
+
# ============================================================================
|
|
736
|
+
# 13. NODE ELEMENTS — CRMem v1.6.5 (2026-10-20)
|
|
737
|
+
# Decided by E.D. on 2026-09-27: the definition of a unit is an ELEMENT
|
|
738
|
+
# OF THE NODE, like name and description — not a qualia.
|
|
739
|
+
# ============================================================================
|
|
740
|
+
|
|
741
|
+
em:hasDefinition
|
|
742
|
+
a owl:ObjectProperty ;
|
|
743
|
+
rdfs:label "has definition"@en ;
|
|
744
|
+
rdfs:subPropertyOf crm:P2_has_type ;
|
|
745
|
+
rdfs:domain crmarchaeo:A8_Stratigraphic_Unit ;
|
|
746
|
+
rdfs:range crm:E55_Type ;
|
|
747
|
+
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 .
|
|
748
|
+
|
|
749
|
+
# ============================================================================
|
|
750
|
+
# End of em.ttl v1.6.5
|
|
639
751
|
# ============================================================================
|
{s3dgraphy-1.6.0.dev18 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_document_types.json
RENAMED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"version": "2.0",
|
|
4
4
|
"last_updated": "2025-01-29",
|
|
5
5
|
"maintainers": ["Emanuel Demetrescu"],
|
|
6
|
-
"license": "CC-BY-4.0",
|
|
6
|
+
"license": "CC-BY-SA-4.0",
|
|
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.",
|
|
7
8
|
"description": "Comprehensive document types definition for Extended Matrix"
|
|
8
9
|
},
|
|
9
10
|
"vocabulary_versions": {
|