s3dgraphy 1.6.0.dev19__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.
Files changed (415) hide show
  1. {s3dgraphy-1.6.0.dev19/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev21}/PKG-INFO +85 -15
  2. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/README.md +79 -9
  3. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/pyproject.toml +8 -8
  4. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/datamodel_translations.json +1 -1
  5. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em.ttl +33 -4
  6. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/node_registry.generated.json +2 -2
  7. s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +1535 -0
  8. s3dgraphy-1.6.0.dev21/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +1720 -0
  9. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/__init__.py +1 -1
  10. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/connections_loader.py +48 -2
  11. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/emjson_exporter.py +1 -0
  12. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +26 -10
  13. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/rdf_exporter.py +111 -1
  14. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +25 -2
  15. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/base_importer.py +29 -17
  16. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/emjson_importer.py +7 -1
  17. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/rdf_importer.py +62 -5
  18. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/unified_xlsx_importer.py +45 -8
  19. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +4 -4
  20. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +4 -4
  21. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/emdb/usm_mapping.json +4 -4
  22. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +6 -6
  23. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +4 -4
  24. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +4 -4
  25. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/template_emdb_mapping.json +4 -4
  26. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +4 -4
  27. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/merge/graph_merger.py +33 -11
  28. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/base_node.py +13 -1
  29. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/group_node.py +1 -1
  30. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/representation_node.py +8 -1
  31. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/stratigraphic_node.py +35 -0
  32. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/__init__.py +1 -1
  33. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/rapporti.py +53 -11
  34. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/temporal/inference_engine.py +13 -2
  35. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21/src/s3dgraphy.egg-info}/PKG-INFO +85 -15
  36. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/SOURCES.txt +7 -0
  37. s3dgraphy-1.6.0.dev21/tests/test_il_proprietario_si_legge.py +154 -0
  38. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_mapping_csv_and_relations.py +27 -9
  39. s3dgraphy-1.6.0.dev21/tests/test_node_type_map_integrity.py +64 -0
  40. s3dgraphy-1.6.0.dev21/tests/test_one_spelling_writers.py +312 -0
  41. s3dgraphy-1.6.0.dev21/tests/test_physical_relation_spellings.py +215 -0
  42. s3dgraphy-1.6.0.dev21/tests/test_rdf_embedding.py +104 -0
  43. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_reverse_edges.py +27 -7
  44. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_rm_container_node_group.py +6 -2
  45. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_shipped_mappings.py +54 -0
  46. s3dgraphy-1.6.0.dev21/tests/test_unit_definition.py +252 -0
  47. s3dgraphy-1.6.0.dev21/tests/test_xlsx_containment_and_unknown_bounds.py +203 -0
  48. s3dgraphy-1.6.0.dev19/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +0 -1528
  49. s3dgraphy-1.6.0.dev19/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +0 -1757
  50. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/LICENSE +0 -0
  51. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/MANIFEST.in +0 -0
  52. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/setup.cfg +0 -0
  53. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
  54. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
  55. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
  56. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
  57. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
  58. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
  59. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
  60. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_qualia_types.json +0 -0
  61. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
  62. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/em_visual_rules.json +0 -0
  63. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
  64. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
  65. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
  66. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
  67. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
  68. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
  69. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
  70. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
  71. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
  72. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
  73. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
  74. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
  75. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
  76. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
  77. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
  78. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
  79. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
  80. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
  81. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
  82. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
  83. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
  84. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
  85. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
  86. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
  87. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
  88. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
  89. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
  90. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
  91. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
  92. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
  93. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
  94. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
  95. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
  96. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
  97. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
  98. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
  99. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
  100. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
  101. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
  102. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
  103. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
  104. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
  105. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
  106. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
  107. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
  108. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
  109. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
  110. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
  111. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
  112. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
  113. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
  114. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
  115. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
  116. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
  117. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
  118. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
  119. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
  120. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
  121. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
  122. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
  123. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
  124. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
  125. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
  126. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
  127. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
  128. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
  129. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
  130. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
  131. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
  132. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
  133. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
  134. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
  135. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
  136. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
  137. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
  138. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
  139. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
  140. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
  141. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
  142. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
  143. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
  144. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
  145. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
  146. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
  147. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
  148. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
  149. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
  150. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
  151. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
  152. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
  153. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
  154. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
  155. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
  156. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
  157. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
  158. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
  159. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
  160. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/__init__.py +0 -0
  161. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/acquire.py +0 -0
  162. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/descriptor.py +0 -0
  163. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/acquisition/mapping.py +0 -0
  164. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/annotation/__init__.py +0 -0
  165. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/annotation/paradata.py +0 -0
  166. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/api.py +0 -0
  167. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/__init__.py +0 -0
  168. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/resolver.py +0 -0
  169. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
  170. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
  171. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
  172. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
  173. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
  174. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
  175. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/classification.py +0 -0
  176. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/container.py +0 -0
  177. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/__init__.py +0 -0
  178. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/connector.py +0 -0
  179. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/consumer.py +0 -0
  180. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/core.py +0 -0
  181. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/contract/reference.py +0 -0
  182. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/crdt.py +0 -0
  183. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
  184. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/diagnostics.py +0 -0
  185. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dissemination.py +0 -0
  186. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/__init__.py +0 -0
  187. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/corpus.py +0 -0
  188. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/devices.py +0 -0
  189. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/ingest.py +0 -0
  190. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
  191. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/dtc/residency.py +0 -0
  192. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/__init__.py +0 -0
  193. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/connection_resolver.py +0 -0
  194. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/edges/edge.py +0 -0
  195. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/editorial.py +0 -0
  196. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/__init__.py +0 -0
  197. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
  198. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
  199. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
  200. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
  201. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
  202. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
  203. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
  204. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
  205. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
  206. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
  207. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
  208. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
  209. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
  210. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
  211. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
  212. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/html_exporter.py +0 -0
  213. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
  214. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/json_exporter.py +0 -0
  215. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
  216. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/__init__.py +0 -0
  217. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/migrate.py +0 -0
  218. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/proxy.py +0 -0
  219. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/geometry/store_backed.py +0 -0
  220. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/graph.py +0 -0
  221. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/iiif.py +0 -0
  222. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/__init__.py +0 -0
  223. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/csv_importer.py +0 -0
  224. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
  225. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/import_graphml.py +0 -0
  226. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
  227. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
  228. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/qualia_importer.py +0 -0
  229. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/source_text.py +0 -0
  230. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
  231. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/importer/xml_importer.py +0 -0
  232. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/indices.py +0 -0
  233. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/__init__.py +0 -0
  234. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/authoring.py +0 -0
  235. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/mappings/registry.py +0 -0
  236. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/merge/__init__.py +0 -0
  237. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/multigraph/__init__.py +0 -0
  238. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/multigraph/multigraph.py +0 -0
  239. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/__init__.py +0 -0
  240. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/bake.py +0 -0
  241. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/generation.py +0 -0
  242. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/query.py +0 -0
  243. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/registry.py +0 -0
  244. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/narrative/site_story.py +0 -0
  245. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/__init__.py +0 -0
  246. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
  247. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/author_node.py +0 -0
  248. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/combiner_node.py +0 -0
  249. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/document_node.py +0 -0
  250. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
  251. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
  252. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_node.py +0 -0
  253. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
  254. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/embargo_node.py +0 -0
  255. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/epoch_node.py +0 -0
  256. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/extractor_node.py +0 -0
  257. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
  258. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
  259. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/graph_node.py +0 -0
  260. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/hdt_node.py +0 -0
  261. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
  262. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/license_node.py +0 -0
  263. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/narrative_node.py +0 -0
  264. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/paradata_node.py +0 -0
  265. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/project_node.py +0 -0
  266. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/property_node.py +0 -0
  267. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/resource_node.py +0 -0
  268. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
  269. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/nodes/study_node.py +0 -0
  270. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
  271. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/photogrammetry/delta.py +0 -0
  272. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/publication.py +0 -0
  273. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/__init__.py +0 -0
  274. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
  275. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
  276. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/__init__.py +0 -0
  277. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/fs_backend.py +0 -0
  278. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/minio_backend.py +0 -0
  279. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/resources/resolver.py +0 -0
  280. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/rights.py +0 -0
  281. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/shelf/__init__.py +0 -0
  282. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/shelf/core.py +0 -0
  283. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/__init__.py +0 -0
  284. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/absorb.py +0 -0
  285. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/emit.py +0 -0
  286. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/hints.py +0 -0
  287. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/stamp/identity.py +0 -0
  288. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/study.py +0 -0
  289. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_db_handle.py +0 -0
  290. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
  291. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/_workspace.py +0 -0
  292. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
  293. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/edge_registry.py +0 -0
  294. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
  295. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graph_projector.py +0 -0
  296. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/graphml_writer.py +0 -0
  297. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/group_projector.py +0 -0
  298. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/group_store.py +0 -0
  299. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/ingest_result.py +0 -0
  300. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/paradata_store.py +0 -0
  301. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
  302. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/uuid7.py +0 -0
  303. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
  304. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/vocab_types.py +0 -0
  305. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_classifier.py +0 -0
  306. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_detector.py +0 -0
  307. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
  308. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
  309. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
  310. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
  311. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
  312. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
  313. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/temporal/__init__.py +0 -0
  314. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/__init__.py +0 -0
  315. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/consumer_drift.py +0 -0
  316. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
  317. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/deliverable_report.py +0 -0
  318. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
  319. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/tools/wheel_drift.py +0 -0
  320. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/__init__.py +0 -0
  321. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
  322. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/compact.py +0 -0
  323. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
  324. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/__init__.py +0 -0
  325. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/utils.py +0 -0
  326. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/utils/visual_layout.py +0 -0
  327. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy/zero_hour.py +0 -0
  328. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
  329. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/requires.txt +0 -0
  330. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/src/s3dgraphy.egg-info/top_level.txt +0 -0
  331. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_acquisition.py +0 -0
  332. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_acquisition_fs.py +0 -0
  333. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_api_surface.py +0 -0
  334. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_asset_dtc_protocol.py +0 -0
  335. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_attach_only.py +0 -0
  336. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_authority_projection.py +0 -0
  337. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_authority_resolver.py +0 -0
  338. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_blend_locator.py +0 -0
  339. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_canonical_document_rename.py +0 -0
  340. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_canvas_metadata_import.py +0 -0
  341. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_composite_node_name.py +0 -0
  342. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_connection_resolver.py +0 -0
  343. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_consumer_drift.py +0 -0
  344. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_container.py +0 -0
  345. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_contract.py +0 -0
  346. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_contract_consumer.py +0 -0
  347. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_convert_command.py +0 -0
  348. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_crdt.py +0 -0
  349. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_datamodel_i18n.py +0 -0
  350. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_deterministic_ids.py +0 -0
  351. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_devices.py +0 -0
  352. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dissemination_tombstones.py +0 -0
  353. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_corpus.py +0 -0
  354. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_ingest.py +0 -0
  355. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_neighbourhood.py +0 -0
  356. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_projection.py +0 -0
  357. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_dtc_residency.py +0 -0
  358. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_editorial.py +0 -0
  359. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_emjson_roundtrip.py +0 -0
  360. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_emjson_schema_version.py +0 -0
  361. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_epoch_undated_import.py +0 -0
  362. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_explicit_node_type_marker.py +0 -0
  363. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_filtered_import.py +0 -0
  364. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_fmpxml_importer.py +0 -0
  365. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_fs_backend.py +0 -0
  366. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_functional_units.py +0 -0
  367. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_georeference_scene.py +0 -0
  368. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_graph_scope_migration.py +0 -0
  369. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_hdto_projection.py +0 -0
  370. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_header_key_aliases.py +0 -0
  371. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_iiif.py +0 -0
  372. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_importer_edge_hygiene.py +0 -0
  373. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_ipynb_exporter.py +0 -0
  374. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_latex_exporter.py +0 -0
  375. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_lossless_roundtrip.py +0 -0
  376. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_mapping_authoring.py +0 -0
  377. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_material_color.py +0 -0
  378. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_merge_conflicts.py +0 -0
  379. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_migrate_legacy_proxy.py +0 -0
  380. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_minio_backend.py +0 -0
  381. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_authorship.py +0 -0
  382. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_bake_docx.py +0 -0
  383. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_figures.py +0 -0
  384. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_generation.py +0 -0
  385. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_node.py +0 -0
  386. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_query.py +0 -0
  387. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_narrative_scaffolder.py +0 -0
  388. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_node_datamodel_registry.py +0 -0
  389. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_pg_importer.py +0 -0
  390. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_photogrammetry_delta.py +0 -0
  391. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_promotion.py +0 -0
  392. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_pyarchinit_tier2.py +0 -0
  393. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_rdf_reverse_edges.py +0 -0
  394. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_rdf_roundtrip.py +0 -0
  395. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_recompute_warnings.py +0 -0
  396. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_reproject.py +0 -0
  397. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_resource_layer.py +0 -0
  398. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_resource_tier.py +0 -0
  399. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_semantic_purity.py +0 -0
  400. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_shelf.py +0 -0
  401. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_facets.py +0 -0
  402. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_hatting.py +0 -0
  403. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_shelf_role_uri_table.py +0 -0
  404. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_source_list_mapping.py +0 -0
  405. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_source_text.py +0 -0
  406. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_stamp.py +0 -0
  407. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_stamp_hints.py +0 -0
  408. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_store_backed_geometry.py +0 -0
  409. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_stratiminer_api.py +0 -0
  410. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_study_metadata.py +0 -0
  411. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_ttl_roundtrip.py +0 -0
  412. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_visual_assets.py +0 -0
  413. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_wheel_drift.py +0 -0
  414. {s3dgraphy-1.6.0.dev19 → s3dgraphy-1.6.0.dev21}/tests/test_xlsx_importer_graph_init.py +0 -0
  415. {s3dgraphy-1.6.0.dev19 → 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.dev19
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/zalmoxes-laran/s3dgraphy
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/zalmoxes-laran/s3dgraphy.git
11
- Project-URL: Bug Reports, https://github.com/zalmoxes-laran/s3dgraphy/issues
12
- Project-URL: Source Code, https://github.com/zalmoxes-laran/s3dgraphy
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/zalmoxes-laran/s3dgraphy/blob/main/CHANGELOG.md
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
  [![Python versions](https://img.shields.io/pypi/pyversions/s3dgraphy.svg)](https://pypi.org/project/s3dgraphy/)
82
82
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
83
83
  [![Downloads](https://pepy.tech/badge/s3dgraphy)](https://pepy.tech/project/s3dgraphy)
84
- [![Publish to PyPI](https://github.com/zalmoxes-laran/s3dgraphy/actions/workflows/publish.yml/badge.svg)](https://github.com/zalmoxes-laran/s3dgraphy/actions/workflows/publish.yml)
84
+ [![Publish to PyPI](https://github.com/ExtendedMatrix/s3Dgraphy/actions/workflows/publish.yml/badge.svg)](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/zalmoxes-laran/s3dgraphy/tree/main/examples)** - Code examples and tutorials
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/zalmoxes-laran/s3dgraphy.git
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/zalmoxes-laran/s3dgraphy) — and see the
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/zalmoxes-laran/s3Dgraphy/issues/5) by
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/zalmoxes-laran/s3Dgraphy/discussions](https://github.com/zalmoxes-laran/s3Dgraphy/discussions)
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/zalmoxes-laran/s3dgraphy},
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/zalmoxes-laran/s3dgraphy
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/zalmoxes-laran/s3dgraphy/issues
495
+ - **Bug Reports**: https://github.com/ExtendedMatrix/s3Dgraphy/issues
426
496
 
427
497
  ---
428
498
 
@@ -4,7 +4,7 @@
4
4
  [![Python versions](https://img.shields.io/pypi/pyversions/s3dgraphy.svg)](https://pypi.org/project/s3dgraphy/)
5
5
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
6
6
  [![Downloads](https://pepy.tech/badge/s3dgraphy)](https://pepy.tech/project/s3dgraphy)
7
- [![Publish to PyPI](https://github.com/zalmoxes-laran/s3dgraphy/actions/workflows/publish.yml/badge.svg)](https://github.com/zalmoxes-laran/s3dgraphy/actions/workflows/publish.yml)
7
+ [![Publish to PyPI](https://github.com/ExtendedMatrix/s3Dgraphy/actions/workflows/publish.yml/badge.svg)](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/zalmoxes-laran/s3dgraphy/tree/main/examples)** - Code examples and tutorials
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/zalmoxes-laran/s3dgraphy.git
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/zalmoxes-laran/s3dgraphy) — and see the
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/zalmoxes-laran/s3Dgraphy/issues/5) by
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/zalmoxes-laran/s3Dgraphy/discussions](https://github.com/zalmoxes-laran/s3Dgraphy/discussions)
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/zalmoxes-laran/s3dgraphy},
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/zalmoxes-laran/s3dgraphy
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/zalmoxes-laran/s3dgraphy/issues
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.dev19"
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/zalmoxes-laran/s3dgraphy"
63
+ Homepage = "https://github.com/ExtendedMatrix/s3Dgraphy"
64
64
  Documentation = "https://docs.extendedmatrix.org/projects/s3dgraphy/"
65
- Repository = "https://github.com/zalmoxes-laran/s3dgraphy.git"
66
- "Bug Reports" = "https://github.com/zalmoxes-laran/s3dgraphy/issues"
67
- "Source Code" = "https://github.com/zalmoxes-laran/s3dgraphy"
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/zalmoxes-laran/s3dgraphy/blob/main/CHANGELOG.md"
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
- # (zalmoxes-laran/s3Dgraphy#10).
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
- # (zalmoxes-laran/s3Dgraphy#9 + #10). Standalone, it also enables
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.2
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
@@ -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.2" ;
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."@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/> ,
@@ -717,6 +717,35 @@ em:isInActivity
717
717
  rdfs:range crm:E7_Activity ;
718
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
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
+
720
749
  # ============================================================================
721
- # End of em.ttl v1.6.3
750
+ # End of em.ttl v1.6.5
722
751
  # ============================================================================
@@ -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.5",
3
+ "s3Dgraphy_data_model_version": "1.6.9",
4
4
  "node_types": {
5
5
  "ActivityNodeGroup": {
6
6
  "parent": "GroupNode",
@@ -194,7 +194,7 @@
194
194
  },
195
195
  "RepresentationNode": {
196
196
  "parent": "Node",
197
- "node_type": "representation_node",
197
+ "node_type": null,
198
198
  "description": "Base class for all representation nodes in 3D space."
199
199
  },
200
200
  "ResourceNode": {