s3dgraphy 1.6.0.dev23__tar.gz → 1.6.0.dev25__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 (479) hide show
  1. {s3dgraphy-1.6.0.dev23/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev25}/PKG-INFO +1 -1
  2. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/pyproject.toml +1 -1
  3. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/datamodel_translations.json +120 -0
  4. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em.ttl +8 -2
  5. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_qualia_types.json +6 -4
  6. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_visual_rules.json +13 -1
  7. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/hdto_extension.ttl +15 -6
  8. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/node_registry.generated.json +6 -1
  9. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +93 -11
  10. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +70 -15
  11. s3dgraphy-1.6.0.dev25/src/s3dgraphy/JSON_config/src/2D/resource_file.svg +13 -0
  12. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/__init__.py +1 -1
  13. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/annotation/reading.py +5 -6
  14. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/api.py +133 -9
  15. s3dgraphy-1.6.0.dev25/src/s3dgraphy/datamodel.py +267 -0
  16. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/corpus.py +4 -4
  17. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/residency.py +7 -7
  18. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/rdf_exporter.py +37 -9
  19. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/aton.py +4 -6
  20. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/proxy.py +5 -6
  21. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/emjson_importer.py +6 -1
  22. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/import_graphml.py +4 -7
  23. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/rdf_importer.py +11 -0
  24. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +4 -4
  25. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +4 -4
  26. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/emdb/usm_mapping.json +4 -4
  27. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +4 -4
  28. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +4 -4
  29. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +4 -4
  30. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/template_emdb_mapping.json +4 -4
  31. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +4 -4
  32. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/__init__.py +4 -0
  33. s3dgraphy-1.6.0.dev25/src/s3dgraphy/nodes/resource_file_node.py +105 -0
  34. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/resource_node.py +31 -4
  35. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/publication.py +4 -3
  36. s3dgraphy-1.6.0.dev25/src/s3dgraphy/resources/files.py +670 -0
  37. s3dgraphy-1.6.0.dev25/src/s3dgraphy/resources/tiles3tz.py +280 -0
  38. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/shelf/core.py +14 -15
  39. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/stamp/absorb.py +5 -3
  40. s3dgraphy-1.6.0.dev25/src/s3dgraphy/tools/consumer_drift.py +315 -0
  41. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25/src/s3dgraphy.egg-info}/PKG-INFO +1 -1
  42. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy.egg-info/SOURCES.txt +13 -0
  43. s3dgraphy-1.6.0.dev25/tests/test_add_resource.py +143 -0
  44. s3dgraphy-1.6.0.dev25/tests/test_consumer_drift.py +219 -0
  45. s3dgraphy-1.6.0.dev25/tests/test_datamodel_fingerprint.py +175 -0
  46. s3dgraphy-1.6.0.dev25/tests/test_em_ttl_matches_the_datamodels.py +156 -0
  47. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_mapping_csv_and_relations.py +10 -5
  48. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_qualia_dai_d7_d8.py +3 -2
  49. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_rdf_reverse_edges.py +3 -1
  50. s3dgraphy-1.6.0.dev25/tests/test_resource_file_node.py +146 -0
  51. s3dgraphy-1.6.0.dev25/tests/test_resource_files_implicit.py +166 -0
  52. s3dgraphy-1.6.0.dev25/tests/test_resource_representations.py +179 -0
  53. s3dgraphy-1.6.0.dev25/tests/test_resource_revision.py +177 -0
  54. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_resource_tier.py +2 -1
  55. s3dgraphy-1.6.0.dev25/tests/test_tileset_resource.py +254 -0
  56. s3dgraphy-1.6.0.dev23/src/s3dgraphy/tools/consumer_drift.py +0 -188
  57. s3dgraphy-1.6.0.dev23/tests/test_consumer_drift.py +0 -99
  58. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/LICENSE +0 -0
  59. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/MANIFEST.in +0 -0
  60. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/README.md +0 -0
  61. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/setup.cfg +0 -0
  62. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
  63. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
  64. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
  65. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
  66. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
  67. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
  68. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
  69. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
  70. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
  71. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
  72. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
  73. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
  74. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
  75. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
  76. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
  77. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
  78. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
  79. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
  80. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
  81. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
  82. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
  83. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
  84. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
  85. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
  86. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
  87. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
  88. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
  89. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
  90. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
  91. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
  92. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
  93. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
  94. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
  95. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
  96. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
  97. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
  98. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
  99. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
  100. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
  101. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/author_ai.svg +0 -0
  102. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
  103. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
  104. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
  105. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
  106. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
  107. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
  108. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
  109. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
  110. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
  111. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
  112. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
  113. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
  114. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
  115. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
  116. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
  117. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
  118. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
  119. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
  120. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
  121. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
  122. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
  123. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
  124. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
  125. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
  126. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
  127. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/12_gnss_survey.svg +0 -0
  128. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/13_field_drawing.svg +0 -0
  129. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/14_recording_sheet.svg +0 -0
  130. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/15_decimation.svg +0 -0
  131. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/16_georeferencing.svg +0 -0
  132. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/17_format_conversion.svg +0 -0
  133. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/18_classification.svg +0 -0
  134. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/dtc/19_vectorization.svg +0 -0
  135. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
  136. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/embargo.svg +0 -0
  137. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
  138. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
  139. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
  140. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
  141. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
  142. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
  143. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
  144. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/license.svg +0 -0
  145. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
  146. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
  147. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/narrative.svg +0 -0
  148. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
  149. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
  150. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
  151. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
  152. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
  153. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
  154. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
  155. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
  156. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
  157. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
  158. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
  159. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
  160. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
  161. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
  162. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
  163. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
  164. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
  165. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
  166. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
  167. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
  168. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
  169. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
  170. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
  171. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
  172. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
  173. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
  174. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
  175. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
  176. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
  177. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
  178. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/acquisition/__init__.py +0 -0
  179. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/acquisition/acquire.py +0 -0
  180. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/acquisition/descriptor.py +0 -0
  181. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/acquisition/mapping.py +0 -0
  182. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/ai_validation.py +0 -0
  183. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/annotation/__init__.py +0 -0
  184. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/annotation/migrate_reading.py +0 -0
  185. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/annotation/paradata.py +0 -0
  186. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/__init__.py +0 -0
  187. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/resolver.py +0 -0
  188. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
  189. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
  190. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
  191. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
  192. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
  193. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
  194. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/classification.py +0 -0
  195. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/container.py +0 -0
  196. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/contract/__init__.py +0 -0
  197. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/contract/connector.py +0 -0
  198. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/contract/consumer.py +0 -0
  199. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/contract/core.py +0 -0
  200. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/contract/reference.py +0 -0
  201. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/crdt.py +0 -0
  202. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
  203. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/diagnostics.py +0 -0
  204. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dissemination.py +0 -0
  205. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/__init__.py +0 -0
  206. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/capture.py +0 -0
  207. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/devices.py +0 -0
  208. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/ingest.py +0 -0
  209. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
  210. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/edges/__init__.py +0 -0
  211. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/edges/connection_resolver.py +0 -0
  212. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/edges/connections_loader.py +0 -0
  213. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/edges/edge.py +0 -0
  214. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/editorial.py +0 -0
  215. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/__init__.py +0 -0
  216. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
  217. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/emjson_exporter.py +0 -0
  218. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
  219. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
  220. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
  221. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
  222. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +0 -0
  223. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
  224. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
  225. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
  226. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
  227. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
  228. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
  229. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
  230. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
  231. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
  232. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
  233. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/html_exporter.py +0 -0
  234. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
  235. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/json_exporter.py +0 -0
  236. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
  237. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +0 -0
  238. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/__init__.py +0 -0
  239. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/gltf.py +0 -0
  240. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/migrate.py +0 -0
  241. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/reading_glb.py +0 -0
  242. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/store_backed.py +0 -0
  243. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/geometry/wkt.py +0 -0
  244. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/graph.py +0 -0
  245. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/iiif.py +0 -0
  246. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/__init__.py +0 -0
  247. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/base_importer.py +0 -0
  248. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/csv_importer.py +0 -0
  249. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
  250. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
  251. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
  252. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/qualia_importer.py +0 -0
  253. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/source_text.py +0 -0
  254. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/unified_xlsx_importer.py +0 -0
  255. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
  256. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/importer/xml_importer.py +0 -0
  257. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/indices.py +0 -0
  258. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/__init__.py +0 -0
  259. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/authoring.py +0 -0
  260. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/mappings/registry.py +0 -0
  261. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/merge/__init__.py +0 -0
  262. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/merge/graph_merger.py +0 -0
  263. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/multigraph/__init__.py +0 -0
  264. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/multigraph/multigraph.py +0 -0
  265. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/__init__.py +0 -0
  266. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/bake.py +0 -0
  267. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/generation.py +0 -0
  268. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/query.py +0 -0
  269. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/registry.py +0 -0
  270. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/narrative/site_story.py +0 -0
  271. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
  272. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/author_node.py +0 -0
  273. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/base_node.py +0 -0
  274. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/combiner_node.py +0 -0
  275. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/document_node.py +0 -0
  276. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
  277. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
  278. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/dtc_node.py +0 -0
  279. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
  280. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/embargo_node.py +0 -0
  281. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/epoch_node.py +0 -0
  282. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/extractor_node.py +0 -0
  283. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
  284. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
  285. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/graph_node.py +0 -0
  286. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/group_node.py +0 -0
  287. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/hdt_node.py +0 -0
  288. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
  289. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/license_node.py +0 -0
  290. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/narrative_node.py +0 -0
  291. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/paradata_node.py +0 -0
  292. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/project_node.py +0 -0
  293. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/property_node.py +0 -0
  294. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/representation_node.py +0 -0
  295. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
  296. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/stratigraphic_node.py +0 -0
  297. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/nodes/study_node.py +0 -0
  298. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/ownership.py +0 -0
  299. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
  300. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/photogrammetry/delta.py +0 -0
  301. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resolvers/__init__.py +0 -0
  302. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
  303. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
  304. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resources/__init__.py +0 -0
  305. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resources/fs_backend.py +0 -0
  306. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resources/minio_backend.py +0 -0
  307. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/resources/resolver.py +0 -0
  308. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/rights.py +0 -0
  309. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/shelf/__init__.py +0 -0
  310. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/stamp/__init__.py +0 -0
  311. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/stamp/emit.py +0 -0
  312. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/stamp/hints.py +0 -0
  313. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/stamp/identity.py +0 -0
  314. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/study.py +0 -0
  315. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/__init__.py +0 -0
  316. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/_db_handle.py +0 -0
  317. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
  318. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/_workspace.py +0 -0
  319. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
  320. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/edge_registry.py +0 -0
  321. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
  322. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/graph_projector.py +0 -0
  323. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/graphml_writer.py +0 -0
  324. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/group_projector.py +0 -0
  325. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/group_store.py +0 -0
  326. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/ingest_result.py +0 -0
  327. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/paradata_store.py +0 -0
  328. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
  329. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/rapporti.py +0 -0
  330. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/uuid7.py +0 -0
  331. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
  332. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/vocab_types.py +0 -0
  333. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_classifier.py +0 -0
  334. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_detector.py +0 -0
  335. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
  336. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
  337. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
  338. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
  339. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
  340. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
  341. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/temporal/__init__.py +0 -0
  342. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/temporal/inference_engine.py +0 -0
  343. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/__init__.py +0 -0
  344. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
  345. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/deliverable_report.py +0 -0
  346. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/glyph_sheet.py +0 -0
  347. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/glyphs_from_svg.py +0 -0
  348. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
  349. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/tools/wheel_drift.py +0 -0
  350. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/transforms/__init__.py +0 -0
  351. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
  352. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/transforms/compact.py +0 -0
  353. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
  354. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/utils/__init__.py +0 -0
  355. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/utils/utils.py +0 -0
  356. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/utils/visual_layout.py +0 -0
  357. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy/zero_hour.py +0 -0
  358. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
  359. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy.egg-info/requires.txt +0 -0
  360. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/src/s3dgraphy.egg-info/top_level.txt +0 -0
  361. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_acquisition.py +0 -0
  362. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_acquisition_fs.py +0 -0
  363. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_ai_validation_nodes.py +0 -0
  364. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_api_surface.py +0 -0
  365. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_asset_dtc_protocol.py +0 -0
  366. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_aton_shapes.py +0 -0
  367. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_attach_only.py +0 -0
  368. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_authority_projection.py +0 -0
  369. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_authority_resolver.py +0 -0
  370. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_blend_locator.py +0 -0
  371. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_canonical_document_rename.py +0 -0
  372. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_canvas_metadata_import.py +0 -0
  373. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_capture_acquisition.py +0 -0
  374. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_capture_rdf_class.py +0 -0
  375. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_chronology_on_request.py +0 -0
  376. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_coating_unit.py +0 -0
  377. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_composite_node_name.py +0 -0
  378. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_connection_resolver.py +0 -0
  379. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_container.py +0 -0
  380. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_containment_tpq.py +0 -0
  381. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_contract.py +0 -0
  382. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_contract_consumer.py +0 -0
  383. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_convert_command.py +0 -0
  384. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_crdt.py +0 -0
  385. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_datamodel_i18n.py +0 -0
  386. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_deterministic_ids.py +0 -0
  387. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_devices.py +0 -0
  388. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dissemination_tombstones.py +0 -0
  389. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dtc_corpus.py +0 -0
  390. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dtc_ingest.py +0 -0
  391. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dtc_neighbourhood.py +0 -0
  392. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dtc_projection.py +0 -0
  393. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_dtc_residency.py +0 -0
  394. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_edge_ui_phrases.py +0 -0
  395. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_editorial.py +0 -0
  396. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_emjson_roundtrip.py +0 -0
  397. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_emjson_schema_version.py +0 -0
  398. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_epoch_properties_and_sub_epochs.py +0 -0
  399. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_epoch_undated_import.py +0 -0
  400. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_explicit_node_type_marker.py +0 -0
  401. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_extracted_from_unit.py +0 -0
  402. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_filtered_import.py +0 -0
  403. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_fmpxml_importer.py +0 -0
  404. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_fs_backend.py +0 -0
  405. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_functional_units.py +0 -0
  406. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_georeference_scene.py +0 -0
  407. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_gltf_stitch.py +0 -0
  408. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_glyph_paths.py +0 -0
  409. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_graph_indices_edges.py +0 -0
  410. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_graph_scope_migration.py +0 -0
  411. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_hdto_projection.py +0 -0
  412. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_header_key_aliases.py +0 -0
  413. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_iiif.py +0 -0
  414. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_il_proprietario_si_legge.py +0 -0
  415. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_importer_edge_hygiene.py +0 -0
  416. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_ipynb_exporter.py +0 -0
  417. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_latex_exporter.py +0 -0
  418. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_lossless_roundtrip.py +0 -0
  419. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_mapping_authoring.py +0 -0
  420. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_masonry_unit.py +0 -0
  421. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_material_color.py +0 -0
  422. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_merge_conflicts.py +0 -0
  423. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_migrate_legacy_proxy.py +0 -0
  424. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_minio_backend.py +0 -0
  425. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_authorship.py +0 -0
  426. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_bake_docx.py +0 -0
  427. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_figures.py +0 -0
  428. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_generation.py +0 -0
  429. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_mentions.py +0 -0
  430. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_node.py +0 -0
  431. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_query.py +0 -0
  432. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_scaffolder.py +0 -0
  433. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_site_place.py +0 -0
  434. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_narrative_unvalidated_export.py +0 -0
  435. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_node_datamodel_registry.py +0 -0
  436. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_node_type_map_integrity.py +0 -0
  437. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_one_spelling_writers.py +0 -0
  438. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_pg_importer.py +0 -0
  439. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_photogrammetry_delta.py +0 -0
  440. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_physical_relation_spellings.py +0 -0
  441. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_promotion.py +0 -0
  442. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_property_owners.py +0 -0
  443. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_proxy_resource.py +0 -0
  444. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_proxy_retype.py +0 -0
  445. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_pyarchinit_tier2.py +0 -0
  446. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_rdf_embedding.py +0 -0
  447. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_rdf_roundtrip.py +0 -0
  448. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reading_coords.py +0 -0
  449. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reading_glb.py +0 -0
  450. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reading_migration.py +0 -0
  451. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reading_place.py +0 -0
  452. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reading_rdf.py +0 -0
  453. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_recompute_warnings.py +0 -0
  454. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reproject.py +0 -0
  455. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_resource_layer.py +0 -0
  456. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_reverse_edges.py +0 -0
  457. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_rm_container_node_group.py +0 -0
  458. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_semantic_purity.py +0 -0
  459. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_shelf.py +0 -0
  460. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_shelf_facets.py +0 -0
  461. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_shelf_hatting.py +0 -0
  462. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_shelf_role_uri_table.py +0 -0
  463. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_shipped_mappings.py +0 -0
  464. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_source_list_mapping.py +0 -0
  465. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_source_text.py +0 -0
  466. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_stamp.py +0 -0
  467. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_stamp_hints.py +0 -0
  468. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_stamp_title_description.py +0 -0
  469. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_store_backed_geometry.py +0 -0
  470. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_stratiminer_api.py +0 -0
  471. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_study_metadata.py +0 -0
  472. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_ttl_roundtrip.py +0 -0
  473. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_unit_definition.py +0 -0
  474. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_visual_assets.py +0 -0
  475. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_wheel_drift.py +0 -0
  476. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_xlsx_containment_and_unknown_bounds.py +0 -0
  477. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_xlsx_importer_graph_init.py +0 -0
  478. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_xlsx_source_column.py +0 -0
  479. {s3dgraphy-1.6.0.dev23 → s3dgraphy-1.6.0.dev25}/tests/test_zero_hour.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: s3dgraphy
3
- Version: 1.6.0.dev23
3
+ Version: 1.6.0.dev25
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>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "s3dgraphy"
7
- version = "1.6.0.dev23"
7
+ version = "1.6.0.dev25"
8
8
  description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1436,6 +1436,46 @@
1436
1436
  "de": "Repräsentationsmodell Einzelfund"
1437
1437
  }
1438
1438
  },
1439
+ "ResourceFileNode": {
1440
+ "description": {
1441
+ "en": "ONE FILE of a resource (E.D. 2026-09-30, «la risorsa e i suoi file»): the ResourceNode is the SET — the handle a person stamps, cites and opens, with name, kind, scope, residency, role, tier, packaging and rights — and the ResourceFileNode is each member: an obj, its mtl and its textures are three files of one resource. Reached by has_file (reverse is_file_of); the ROLE (entry_point | member) and the RELATIVE PATH travel on the EDGE, because the same file (a corrected texture) sits in N resources under N paths. With ONE file the node is IMPLICIT: a ResourceNode with url (and checksum) and no has_file is a resource of one file, and s3dgraphy.resources.files.resource_files shows that file anyway; the node is written only when there are several files or the one file has a stamp or an identity of its own. Fields: url (a path, a file:// / s3:// / http(s):// URI or a blend:// locator), checksum ('sha256:<hex>'; 'emstruct1:<hex>' for a datablock, comparable not verifiable), size_bytes, media_type. For a datablock blend_file and datablock are READ from the blend:// locator (resources/resolver.py, the one place that knows its form), never stored twice. The same file in several resources is ONE node, recognised by its checksum.",
1442
+ "validated_it": false,
1443
+ "validated_el": false,
1444
+ "validated_he": false,
1445
+ "validated_es": false,
1446
+ "validated_pl": false,
1447
+ "validated_ro": false,
1448
+ "validated_fr": false,
1449
+ "validated_de": false,
1450
+ "it": "UN FILE di una risorsa (E.D. 30 set 2026, «la risorsa e i suoi file»): il ResourceNode è l'INSIEME — la maniglia che si timbra, si cita e si apre — e il ResourceFileNode è ogni membro: un obj, il suo mtl e le sue texture sono tre file di una risorsa sola. Raggiunto da has_file; il RUOLO (entry_point | member) e il PERCORSO RELATIVO stanno sull'ARCO, perché lo stesso file sta in più risorse con percorsi diversi. Con UN file il nodo è IMPLICITO: url e checksum restano sul ResourceNode. Per un datablock blend_file e datablock si leggono dal locator blend://, mai scritti due volte.",
1451
+ "el": "ΕΝΑ ΑΡΧΕΙΟ ενός πόρου (E.D. 30/9/2026): ο ResourceNode είναι το ΣΥΝΟΛΟ — η λαβή που σφραγίζεται, παρατίθεται και ανοίγεται — και ο ResourceFileNode κάθε μέλος του: ένα obj, το mtl του και οι υφές του είναι τρία αρχεία ενός πόρου. Συνδέεται με has_file· ο ΡΟΛΟΣ (entry_point | member) και η ΣΧΕΤΙΚΗ ΔΙΑΔΡΟΜΗ βρίσκονται στην ΑΚΜΗ, γιατί το ίδιο αρχείο ανήκει σε πολλούς πόρους με διαφορετικές διαδρομές. Με ΕΝΑ αρχείο ο κόμβος είναι ΣΙΩΠΗΡΟΣ: url και checksum μένουν στον ResourceNode.",
1452
+ "he": "קובץ אחד של משאב (E.D. 30.9.2026): ResourceNode הוא הקבוצה — הידית שמחתימים, מצטטים ופותחים — ו־ResourceFileNode הוא כל חבר בה: קובץ obj, קובץ ה־mtl שלו והטקסטורות שלו הם שלושה קבצים של משאב אחד. מקושר ב־has_file; התפקיד (entry_point | member) והנתיב היחסי נמצאים על הקשת, כי אותו קובץ נמצא בכמה משאבים בנתיבים שונים. עם קובץ אחד הצומת משתמע: url ו־checksum נשארים על ה־ResourceNode.",
1453
+ "es": "UN ARCHIVO de un recurso (E.D. 30 sep 2026): el ResourceNode es el CONJUNTO — el asa que se sella, se cita y se abre — y el ResourceFileNode es cada miembro: un obj, su mtl y sus texturas son tres archivos de un solo recurso. Se alcanza con has_file; el ROL (entry_point | member) y la RUTA RELATIVA están en la ARISTA, porque el mismo archivo está en varios recursos con rutas distintas. Con UN archivo el nodo es IMPLÍCITO: url y checksum quedan en el ResourceNode.",
1454
+ "pl": "JEDEN PLIK zasobu (E.D. 30.09.2026): ResourceNode to ZBIÓR — uchwyt, który się stempluje, cytuje i otwiera — a ResourceFileNode to każdy jego element: obj, jego mtl i tekstury to trzy pliki jednego zasobu. Osiągany przez has_file; ROLA (entry_point | member) i ŚCIEŻKA WZGLĘDNA są na KRAWĘDZI, bo ten sam plik należy do wielu zasobów pod różnymi ścieżkami. Przy JEDNYM pliku węzeł jest DOMYŚLNY: url i checksum zostają w ResourceNode.",
1455
+ "ro": "UN FIȘIER al unei resurse (E.D. 30 sep 2026): ResourceNode este ANSAMBLUL — mânerul care se ștampilează, se citează și se deschide — iar ResourceFileNode este fiecare membru: un obj, mtl-ul său și texturile sale sunt trei fișiere ale unei singure resurse. Atins prin has_file; ROLUL (entry_point | member) și CALEA RELATIVĂ stau pe MUCHIE, pentru că același fișier stă în mai multe resurse cu căi diferite. Cu UN singur fișier nodul este IMPLICIT: url și checksum rămân pe ResourceNode.",
1456
+ "fr": "UN FICHIER d'une ressource (E.D. 30 sept. 2026) : le ResourceNode est l'ENSEMBLE — la poignée que l'on tamponne, cite et ouvre — et le ResourceFileNode chaque membre : un obj, son mtl et ses textures sont trois fichiers d'une seule ressource. Atteint par has_file ; le RÔLE (entry_point | member) et le CHEMIN RELATIF sont sur l'ARÊTE, car le même fichier appartient à plusieurs ressources sous des chemins différents. Avec UN fichier le nœud est IMPLICITE : url et checksum restent sur le ResourceNode.",
1457
+ "de": "EINE DATEI einer Ressource (E.D. 30.09.2026): der ResourceNode ist die MENGE — der Griff, den man stempelt, zitiert und öffnet — und der ResourceFileNode jedes Mitglied: ein obj, sein mtl und seine Texturen sind drei Dateien einer Ressource. Erreicht über has_file; die ROLLE (entry_point | member) und der RELATIVE PFAD stehen auf der KANTE, weil dieselbe Datei in mehreren Ressourcen unter verschiedenen Pfaden liegt. Bei EINER Datei ist der Knoten IMPLIZIT: url und checksum bleiben am ResourceNode."
1458
+ },
1459
+ "label": {
1460
+ "en": "Resource file",
1461
+ "validated_it": false,
1462
+ "validated_el": false,
1463
+ "validated_he": false,
1464
+ "validated_es": false,
1465
+ "validated_pl": false,
1466
+ "validated_ro": false,
1467
+ "validated_fr": false,
1468
+ "validated_de": false,
1469
+ "it": "File della risorsa",
1470
+ "el": "Αρχείο πόρου",
1471
+ "he": "קובץ משאב",
1472
+ "es": "Archivo del recurso",
1473
+ "pl": "Plik zasobu",
1474
+ "ro": "Fișier al resursei",
1475
+ "fr": "Fichier de la ressource",
1476
+ "de": "Datei der Ressource"
1477
+ }
1478
+ },
1439
1479
  "ResourceNode": {
1440
1480
  "description": {
1441
1481
  "en": "Class to represent a link node (ResourceNode) in the graph. Attributes: url (str): URL of the link. url_type (str): Type of URL (e.g., 'External link', 'Image'). description (str): Description of the link.",
@@ -5647,6 +5687,65 @@
5647
5687
  "de": "Hat Sperrfrist"
5648
5688
  }
5649
5689
  },
5690
+ "has_file": {
5691
+ "label": {
5692
+ "en": "Has file",
5693
+ "validated_it": false,
5694
+ "validated_el": false,
5695
+ "validated_he": false,
5696
+ "validated_es": false,
5697
+ "validated_pl": false,
5698
+ "validated_ro": false,
5699
+ "validated_fr": false,
5700
+ "validated_de": false,
5701
+ "it": "Ha il file",
5702
+ "el": "Έχει αρχείο",
5703
+ "he": "יש קובץ",
5704
+ "es": "Tiene el archivo",
5705
+ "pl": "Ma plik",
5706
+ "ro": "Are fișierul",
5707
+ "fr": "A pour fichier",
5708
+ "de": "Hat die Datei"
5709
+ },
5710
+ "ui_phrase_as_source": {
5711
+ "en": "{node} with file {x}",
5712
+ "validated_it": false,
5713
+ "validated_el": false,
5714
+ "validated_he": false,
5715
+ "validated_es": false,
5716
+ "validated_pl": false,
5717
+ "validated_ro": false,
5718
+ "validated_fr": false,
5719
+ "validated_de": false,
5720
+ "it": "{node} con il file {x}",
5721
+ "el": "{node} με το αρχείο {x}",
5722
+ "he": "{node} עם הקובץ {x}",
5723
+ "es": "{node} con el archivo {x}",
5724
+ "pl": "{node} z plikiem {x}",
5725
+ "ro": "{node} cu fișierul {x}",
5726
+ "fr": "{node} avec le fichier {x}",
5727
+ "de": "{node} mit der Datei {x}"
5728
+ },
5729
+ "ui_phrase_as_target": {
5730
+ "en": "{node} file of {x}",
5731
+ "validated_it": false,
5732
+ "validated_el": false,
5733
+ "validated_he": false,
5734
+ "validated_es": false,
5735
+ "validated_pl": false,
5736
+ "validated_ro": false,
5737
+ "validated_fr": false,
5738
+ "validated_de": false,
5739
+ "it": "{node} file di {x}",
5740
+ "el": "{node} αρχείο του {x}",
5741
+ "he": "{node} קובץ של {x}",
5742
+ "es": "{node} archivo de {x}",
5743
+ "pl": "{node} plik zasobu {x}",
5744
+ "ro": "{node} fișier al {x}",
5745
+ "fr": "{node} fichier de {x}",
5746
+ "de": "{node} Datei von {x}"
5747
+ }
5748
+ },
5650
5749
  "has_first_epoch": {
5651
5750
  "label": {
5652
5751
  "en": "Has first epoch",
@@ -7006,6 +7105,27 @@
7006
7105
  "fr": "Validé par",
7007
7106
  "de": "Validiert von"
7008
7107
  }
7108
+ },
7109
+ "was_revision_of": {
7110
+ "label": {
7111
+ "en": "Was revision of",
7112
+ "validated_it": false,
7113
+ "validated_el": false,
7114
+ "validated_he": false,
7115
+ "validated_es": false,
7116
+ "validated_pl": false,
7117
+ "validated_ro": false,
7118
+ "validated_fr": false,
7119
+ "validated_de": false,
7120
+ "it": "È una revisione di",
7121
+ "el": "Είναι αναθεώρηση του",
7122
+ "he": "הוא גרסה מתוקנת של",
7123
+ "es": "Es una revisión de",
7124
+ "pl": "Jest rewizją",
7125
+ "ro": "Este o revizie a",
7126
+ "fr": "Est une révision de",
7127
+ "de": "Ist eine Revision von"
7128
+ }
7009
7129
  }
7010
7130
  },
7011
7131
  "dtc_kinds": {
@@ -46,8 +46,8 @@
46
46
  dcterms:creator "Emanuele Demetrescu" ;
47
47
  dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
48
48
  dcterms:issued "2026-05-23"^^xsd:date ;
49
- owl:versionInfo "1.6.8" ;
50
- rdfs:comment "Formal ontology for Extended Matrix (EM): a human-readable layout for knowledge graphs of archaeological stratigraphy and virtual reconstruction. Extends CIDOC-CRM, CRMarchaeo, CRMinf, CRMdig, CRMgeo, with PROV-O for agent provenance and HDT-O for digital-twin granularity. This file declares the em: classes and properties introduced in s3dgraphy v1.6.0. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
49
+ owl:versionInfo "1.6.9" ;
50
+ rdfs:comment "Formal ontology for Extended Matrix (EM): a human-readable layout for knowledge graphs of archaeological stratigraphy and virtual reconstruction. Extends CIDOC-CRM, CRMarchaeo, CRMinf, CRMdig, CRMgeo, with PROV-O for agent provenance and HDT-O for digital-twin granularity. This file declares the em: classes and properties introduced in s3dgraphy v1.6.0. v1.6.9 (2026-10-18, MICRO la risorsa e i suoi file): em:ResourceFile, ONE FILE of a resource (node datamodel 1.6.17), a subclass of crmdig:D1_Digital_Object; the resource is composed of its files by crm:P106_is_composed_of (connections has_file, 1.6.30). A distinct URI because a DTC output resource is already typed crmdig:D1, and a file typed only D1 would read back as a resource. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
51
51
  owl:imports <http://www.cidoc-crm.org/cidoc-crm/> ,
52
52
  <http://www.cidoc-crm.org/extensions/crminf/> ,
53
53
  <http://www.cidoc-crm.org/extensions/crmarchaeo/> ,
@@ -706,6 +706,12 @@ em:RegistrationTransform
706
706
  rdfs:subClassOf crm:E73_Information_Object ;
707
707
  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 .
708
708
 
709
+ em:ResourceFile
710
+ a owl:Class ;
711
+ rdfs:label "Resource File"@en ;
712
+ rdfs:subClassOf crmdig:D1_Digital_Object ;
713
+ rdfs:comment "ONE FILE of a resource: the resource (crm:E73_Information_Object) is the set a person stamps, cites and opens, the file is each of its members — an obj, its mtl, its textures. The resource reaches it with crm:P106_is_composed_of; the file's role (entry point or member) and its path relative to the entry point are data of that relation in the property graph and are not projected. With one file the file is implicit and not emitted: the resource's own url and checksum are that file. Maps to: Python ResourceFileNode (node_type='resource_file')."@en .
714
+
709
715
  em:Narrative
710
716
  a owl:Class ;
711
717
  rdfs:label "Narrative"@en ;
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "metadata": {
3
- "version": "1.6.2",
4
- "last_updated": "2026-09-28",
3
+ "version": "1.6.3",
4
+ "last_updated": "2026-10-01",
5
5
  "maintainers": ["Emanuel Demetrescu"],
6
6
  "license": "CC-BY-SA-4.0",
7
7
  "license_note": "Share-alike per allinearsi agli strumenti terminologici da cui questo datamodel prende gli ancoraggi (ICCD CC BY-SA 3.0 IT) e perche' una derivazione resti aperta. Gli identificatori AAT/CIDOC citati nei `mappings` sono RIFERIMENTI, non contenuto incorporato: lo share-alike non si propaga ai vocabolari altrui, che mantengono i propri termini.",
8
- "changelog": "v1.6.2: added two descriptive qualia of the stratigraphic unit asked for by the DAI record (iDAI.field Layer, D7/D8) — proposte da Cowork per E.D., 28 set 2026, dalla scheda DAI: `feature_shape` (spatial; the shape in plan or section named with a term, AAT 300056273, E55_Type) and `boundary_distinctness` (material; how sharp the limits are: abrupt / clear / gradual / diffuse, E55_Type, no AAT evident). Both controlled vocabularies with indicative seed values; templates declare their own. v1.6.1: added the spatial qualia `geometry` — the PROXY as a quale. The geometry-without-material of a unit becomes a PropertyNode whose payload is a SemanticShapeNode (has_semantic_shape), so the proxy inherits the paradata chain a lone node could not have, and one proxy can be synthesised from several sources. CIDOC default crmgeo:SP5_Geometric_Place_Expression, flagged `confirm_with: Felicetti` (E36 is the alternative, to be decided together with em:AnnotationRegion). v1.6.0: version realigned to the EM language version (EM 1.6) — supersedes the standalone 4.x line (last was 4.2), so all EM JSON config files now share the 1.6.x scheme. Added optional `rationale` + `example` fields to qualia entries (a plain-language why + a concrete case), shown by the EMStudio vocabulary picker when creating a PropertyNode. Seeded for the temporal qualia (absolute_time_start / absolute_time_end / dating_method); to be filled in for the rest incrementally. Prior (4.x) history: v4.2 added rationale/example scaffolding; v4.1: expanded spatial elevation qualia for pyArchInit us_table quote (all E54_Dimension): elevation_relative, elevation_min_absolute, elevation_max_absolute, elevation_min_relative, elevation_max_relative, elevation_min_usm, elevation_max_usm (the generic 'elevation' = absolute MASL, used by quota_abs). Each pyArchInit quota column maps to its own qualia id so they don't collide on the single-PropertyNode-per-property_name rule. v4.0: verified all v3.0 CIDOC-CRM mappings (correct). Expanded with: volume, area, circumference in dimensional; color, texture, finish, patina, hardness, porosity in material; damage_type, fragility, completeness in state; tool_marks, joining_technique in technical; bounding_box, footprint_area in spatial; duration, terminus_post_quem, terminus_ante_quem, relative_chronology in temporal; ceremonial_function, ritual_function, defensive_function, domestic_function, symbolic_function in telic; school, workshop, period_attribution in stylistic. NEW subcategories: iconographic + semantic under cultural_interpretive (iconographic_subject, narrative_content, iconographic_program, aesthetic_value, religious_significance, monumental_status, attribution). Added provenance_history, exhibition_history, publication_history under administrative; NEW ownership subcategory (current_custodian, ownership_chain). NEW CATEGORY epistemic — meta-qualia central to EM paradata model (confidence_level, certainty_level, uncertainty_factors, methodology_used, validation_method, source_quality, primary_contributor, review_status, last_modified)."
8
+ "changelog": "v1.6.3 (MICRO em.ttl nel datamodel, 2026-10-26, decided by E.D. 2026-10-01 — every em: term of em.ttl is cited by a datamodel): epistemic.confidence.confidence_level.mappings gains specialised_alternative 'em:confidenceLevel', the em.ttl literal form of the same scalar, declared and NOT emitted (the exporter keeps crminf:I6_Belief_Value via J5). Mapping text only, no quale changed. v1.6.2: added two descriptive qualia of the stratigraphic unit asked for by the DAI record (iDAI.field Layer, D7/D8) — proposte da Cowork per E.D., 28 set 2026, dalla scheda DAI: `feature_shape` (spatial; the shape in plan or section named with a term, AAT 300056273, E55_Type) and `boundary_distinctness` (material; how sharp the limits are: abrupt / clear / gradual / diffuse, E55_Type, no AAT evident). Both controlled vocabularies with indicative seed values; templates declare their own. v1.6.1: added the spatial qualia `geometry` — the PROXY as a quale. The geometry-without-material of a unit becomes a PropertyNode whose payload is a SemanticShapeNode (has_semantic_shape), so the proxy inherits the paradata chain a lone node could not have, and one proxy can be synthesised from several sources. CIDOC default crmgeo:SP5_Geometric_Place_Expression, flagged `confirm_with: Felicetti` (E36 is the alternative, to be decided together with em:AnnotationRegion). v1.6.0: version realigned to the EM language version (EM 1.6) — supersedes the standalone 4.x line (last was 4.2), so all EM JSON config files now share the 1.6.x scheme. Added optional `rationale` + `example` fields to qualia entries (a plain-language why + a concrete case), shown by the EMStudio vocabulary picker when creating a PropertyNode. Seeded for the temporal qualia (absolute_time_start / absolute_time_end / dating_method); to be filled in for the rest incrementally. Prior (4.x) history: v4.2 added rationale/example scaffolding; v4.1: expanded spatial elevation qualia for pyArchInit us_table quote (all E54_Dimension): elevation_relative, elevation_min_absolute, elevation_max_absolute, elevation_min_relative, elevation_max_relative, elevation_min_usm, elevation_max_usm (the generic 'elevation' = absolute MASL, used by quota_abs). Each pyArchInit quota column maps to its own qualia id so they don't collide on the single-PropertyNode-per-property_name rule. v4.0: verified all v3.0 CIDOC-CRM mappings (correct). Expanded with: volume, area, circumference in dimensional; color, texture, finish, patina, hardness, porosity in material; damage_type, fragility, completeness in state; tool_marks, joining_technique in technical; bounding_box, footprint_area in spatial; duration, terminus_post_quem, terminus_ante_quem, relative_chronology in temporal; ceremonial_function, ritual_function, defensive_function, domestic_function, symbolic_function in telic; school, workshop, period_attribution in stylistic. NEW subcategories: iconographic + semantic under cultural_interpretive (iconographic_subject, narrative_content, iconographic_program, aesthetic_value, religious_significance, monumental_status, attribution). Added provenance_history, exhibition_history, publication_history under administrative; NEW ownership subcategory (current_custodian, ownership_chain). NEW CATEGORY epistemic — meta-qualia central to EM paradata model (confidence_level, certainty_level, uncertainty_factors, methodology_used, validation_method, source_quality, primary_contributor, review_status, last_modified)."
9
9
  },
10
10
  "qualia_categories": [
11
11
  {
@@ -1218,7 +1218,9 @@
1218
1218
  "name": "Confidence Level",
1219
1219
  "description": "Numerical confidence in the assertion (0-100%). The EM-canonical scalar for paradata-supported claims. CRM mapping changed 2026-07-10: was E54_Dimension; a confidence is the value a belief is held with, i.e. crminf:I6_Belief_Value (see WP3 coverage analysis G5 / Appendix C). The RDF exporter's qualia-precedence rule types the PropertyNode accordingly.",
1220
1220
  "mappings": {
1221
- "cidoc_crm": "crminf:I6_Belief_Value"
1221
+ "cidoc_crm": "crminf:I6_Belief_Value",
1222
+ "specialised_alternative": "em:confidenceLevel",
1223
+ "specialised_alternative_note": "1.6.3: em:confidenceLevel (em.ttl, xsd:decimal on any E1) is the plain-literal form of the same number, declared for a reader that wants the scalar without the CRMinf belief. NOT emitted: the RDF exporter types the PropertyNode crminf:I6_Belief_Value and links it with J5_holds_to_be (_emit_belief_propositions). Putting it in cidoc_crm's place would be the switch, and is E.D.'s decision."
1222
1224
  },
1223
1225
  "data_type": "percentage",
1224
1226
  "range": [0, 100],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "formal_language": "EM",
3
- "version": "1.6.25",
3
+ "version": "1.6.27",
4
4
  "_note_material_vs_qualia_color": [
5
5
  "DUE COSE DIVERSE CHE SI CHIAMANO ENTRAMBE color. Non confonderle: e gia successo.",
6
6
  "1) QUI, in node_styles.<tipo>.style.material.rgba_color — il COLORE DEL MATERIALE BLENDER del proxy 3D, in float LINEARI. UNA sola chiave: `rgba_color`. Fino a S8 il file ne usava due (`color` sui 13 tipi stratigrafici, `rgba_color` sugli altri) e get_material_color() ne leggeva una sola, restituendo None per 21 tipi su 38; ora sono unificate e la vecchia `color` e letta solo come tolleranza verso file scritti prima. Un tipo che non diventa mai una mesh NON ha material affatto (i contenitori di gruppo, e da S7 i dieci nodi che rendono per icona): per loro get_material_color() torna None, ed e corretto.",
@@ -9,6 +9,8 @@
9
9
  "In breve: qui si decide di che colore DISEGNARE una US; li si registra di che colore ERA."
10
10
  ],
11
11
  "_changelog": {
12
+ "1.6.27": "THE GLYPH OF THE FILE (MICRO-REVISIONE, 20 Oct 2026, decision of E.D. 30 Sep 2026: Claude draws it). node_styles.FILE.2d_file_vect: src/2D/link.svg -> src/2D/resource_file.svg, a sheet with a folded corner and the digest sign inside the 2017 DTC circle. WHERE, MEASURED: a resource takes its sign from node_styles.<KEY>.2d_file_vect (LINK -> src/2D/link.svg), a FILE, which EMStudio's icons.ts resolves (declaration, then src/2D/<node_type>.svg) and sync-datamodels.sh vendors from the top level of src/2D/. It is NOT a DTC glyph (dtc_kinds name the glyphs of DTC kinds, and a file is a node type, not a kind) and NOT a 2d_glyphs entry: LINK is not in 2d_render_glyph_types either, and joining that list would change how the label is laid out, which nobody asked. Still no .glb (as before). The dashed border and the LINK colour stay.",
13
+ "1.6.26": "THE FILE OF A RESOURCE (MICRO-RISORSA-FILE, 18 Oct 2026, decision of E.D. 30 Sep 2026). node_styles += FILE for ResourceFileNode (node datamodel 1.6.17): the LINK chain glyph and colour with a DASHED border — a file is a member of the resource it hangs from, the same family and not a second resource. NO NEW GLYPH: it reuses src/2D/link.svg, declares no .glb (LINK's src/3D/link.glb is itself among the missing 3D models, and a new type must not add to that gap), and a sign of its own is left to E.D.",
12
14
  "1.6.25": "THE EIGHT DTC GLYPHS APPROVED (E.D., 30 Sep 2026; MICRO-GEOMETRIA-ORIGINE part 1). The eight drafts of 1.6.23 moved from src/2D/bozze/dtc_<glyph>.svg to src/2D/dtc/<glyph>.svg (12_gnss_survey … 19_vectorization), the BOZZA word removed from their comment, glyphs_from_svg --write rerun: their 2d_glyphs entries no longer carry draft: true. src/2D/bozze/ is empty again. Still without a glyph (open): the four recoveries download, local_import, uri_reference, ingest.",
13
15
  "1.6.24": "THE CAPTURE IN RDF (MICRO-GENERI-GLIFI, 30 Sep 2026; proposed by Claude, accepted by E.D.). Six acquisition kinds declare `mapping` — the rdf:type their DTCAcquisitionNode takes INSTEAD of crmdig:D12_Data_Transfer_Event, which describes a transfer: photo, laserscanner → crmdig:D2_Digitization_Process (⊂ D11 ⊂ D7); topographic, gnss_survey → crmdig:D11_Digital_Measurement_Event (⊂ D7); field_drawing, recording_sheet → crm:E65_Creation (⊂ E7; made by hand, the file is their copy). The retrievals (download, local_import, uri_reference, ingest) declare none and stay D12. See dtc_kinds.acquisition._mapping_comment; read by rdf_exporter and rdf_importer through utils.get_dtc_kind_mapping. CRMem (em.ttl) 1.6.6 -> 1.6.7 for the changelog note.",
14
16
  "1.6.23": "THE EIGHT DTC GLYPHS, AS DRAFTS (MICRO-GENERI-GLIFI, 30 Sep 2026). The eight kinds 1.6.22 left with glyph: null now name a pictogram — gnss_survey 12_gnss_survey, field_drawing 13_field_drawing, recording_sheet 14_recording_sheet, decimation 15_decimation, georeferencing 16_georeferencing, format_conversion 17_format_conversion, classification 18_classification, vectorization 19_vectorization — drawn by Claude on the 2017 DTC family (circle r 41.14, black stroke, no colour) and marked BOZZA. They live in src/2D/bozze/dtc_<glyph>.svg, so their 2d_glyphs entries carry draft: true and no consumer vendors them as official. APPROVAL IS E.D.'S: move the file to src/2D/dtc/<glyph>.svg (dropping the dtc_ prefix), remove the word BOZZA from its comment, rerun `python -m s3dgraphy.tools.glyphs_from_svg --write`. The four retrieval kinds (download, local_import, uri_reference, ingest) still have glyph: null.",
@@ -3345,6 +3347,16 @@
3345
3347
  },
3346
3348
  "label_position": "over"
3347
3349
  },
3350
+ "FILE": {
3351
+ "2d_file_vect": "src/2D/resource_file.svg",
3352
+ "style": {
3353
+ "border_color": "#FF6600",
3354
+ "fill_color": "#FFFFFF",
3355
+ "border_style": "dashed",
3356
+ "shape": "chain"
3357
+ },
3358
+ "label_position": "over"
3359
+ },
3348
3360
  "GCP": {
3349
3361
  "_comment": "Ground control points — the EVIDENCE behind a registration: which point was seen on which photograph at which pixel, and where it is in the world. The NODE IS THE SET, never the single GCP (data.points), which is why the icon shows one target among several marks. Same orange as the other reference/georeferencing nodes (GEO, SS, LINK) because it is that family; the crosshair shape distinguishes measurement-of-a-place from position-of-a-site. Graphml palette prefix: 'GC.'.",
3350
3362
  "file_3d": "src/3D/gcp_set.glb",
@@ -10,7 +10,7 @@
10
10
  @prefix dcterms: <http://purl.org/dc/terms/> .
11
11
 
12
12
  # ============================================================================
13
- # HDT-O — Heritage Digital Twin Ontology — s3dgraphy alignment layer (v0.2)
13
+ # HDT-O — Heritage Digital Twin Ontology — s3dgraphy alignment layer (v0.3)
14
14
  # ============================================================================
15
15
  #
16
16
  # Reconciled with ECHOES Deliverable D7.1 "The Digital Commons" (May 2024).
@@ -22,7 +22,14 @@
22
22
  # Namespace placeholder (w3id.org/hdto/) — to be replaced when the
23
23
  # official HDT-O resolvable IRI is published by the ECHOES consortium.
24
24
  # Author: Emanuele Demetrescu (s3dgraphy v1.6.0 integration)
25
- # Date: 2026-05-23
25
+ # Date: 2026-09-30 (v0.3; v0.2 2026-05-23)
26
+ #
27
+ # v0.3 (2026-09-30): the two declarations this file carried against D7.1 final
28
+ # are corrected. HC9 Study becomes a subclass of crm:E65 Creation (was
29
+ # crm:E7 Activity) and HC16 Heritage Proposition Set becomes a subclass
30
+ # of crminf:I4 Proposition Set and HC15 Persistent Digital Object (was
31
+ # crm:E73 Information Object alone). Both were recorded as open in
32
+ # docs/hdto-coverage.md, measured on D7.1_final.docx.
26
33
  # License: CC-BY-4.0
27
34
  #
28
35
  # What this file does:
@@ -87,15 +94,17 @@ hdto:HC15_Persistent_Digital_Object
87
94
  hdto:HC16_Heritage_Proposition_Set
88
95
  a owl:Class ;
89
96
  rdfs:label "Heritage Proposition Set"@en ;
90
- rdfs:subClassOf crm:E73_Information_Object ;
91
- rdfs:comment "A named graph carrying a set of formal propositions about (or related to) heritage entities. The atomic content unit that an HC2 Heritage Digital Twin aggregates: an HC2 'contains' (HP33) one or more HC16 instances. Version chains across editing actions are documented via HP30 added content / HP31 deleted content / HP32 replaced. An s3dgraphy em:EMGraph IS a Heritage Proposition Set (formally declared in em.ttl via owl:equivalentClass / subClassOf)."@en .
97
+ rdfs:subClassOf crminf:I4_Proposition_Set ,
98
+ hdto:HC15_Persistent_Digital_Object ,
99
+ crm:E73_Information_Object ;
100
+ rdfs:comment "A named graph carrying a set of formal propositions about (or related to) heritage entities. The atomic content unit that an HC2 Heritage Digital Twin aggregates: an HC2 'contains' (HP33) one or more HC16 instances. Per D7.1 (final, V1.0) a subclass of crminf:I4 Proposition Set and of HC15 Persistent Digital Object; crm:E73 Information Object is kept so that a CRM-only reader still resolves it. Version chains across editing actions are documented via HP30 added content / HP31 deleted content / HP32 replaced. An s3dgraphy em:EMGraph IS a Heritage Proposition Set (formally declared in em.ttl via owl:equivalentClass / subClassOf)."@en .
92
101
 
93
102
 
94
103
  hdto:HC9_Study
95
104
  a owl:Class ;
96
105
  rdfs:label "Study"@en ;
97
- rdfs:subClassOf crm:E7_Activity ;
98
- rdfs:comment "A scholarly activity (research, analysis or documentation, in any SSH / natural / exact-science domain) about a Heritage Entity (HC1), explicating a disciplinary focus and the part of the entity investigated. A study is about (HP23) one or more HC1 and has created (HP25) documentary outputs (crm:E31 Document) — in s3dgraphy the EM proposition set (HC16 / em:EMGraph). ECHOES D7.1."@en .
106
+ rdfs:subClassOf crm:E65_Creation ;
107
+ rdfs:comment "A scholarly activity (research, analysis or documentation, in any SSH / natural / exact-science domain) about a Heritage Entity (HC1), explicating a disciplinary focus and the part of the entity investigated. A study is about (HP23) one or more HC1 and has created (HP25) documentary outputs (crm:E31 Document) — in s3dgraphy the EM proposition set (HC16 / em:EMGraph). A subclass of crm:E65 Creation: the study is the scholarly act, and its documentary output is a separate thing joined to it by HP25, so a report, a field note or a metadata record is never an HC9. ECHOES D7.1 (final, V1.0)."@en .
99
108
 
100
109
  hdto:HC13_Project
101
110
  a owl:Class ;
@@ -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.14",
3
+ "s3Dgraphy_data_model_version": "1.6.18",
4
4
  "node_types": {
5
5
  "ActivityNodeGroup": {
6
6
  "parent": "GroupNode",
@@ -197,6 +197,11 @@
197
197
  "node_type": null,
198
198
  "description": "Base class for all representation nodes in 3D space."
199
199
  },
200
+ "ResourceFileNode": {
201
+ "parent": "Node",
202
+ "node_type": "resource_file",
203
+ "description": "ONE FILE of a resource — the resource is the set, this is each member."
204
+ },
200
205
  "ResourceNode": {
201
206
  "parent": "Node",
202
207
  "node_type": "resource",