s3dgraphy 1.6.0.dev91__tar.gz → 1.6.0.dev93__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 (644) hide show
  1. {s3dgraphy-1.6.0.dev91/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev93}/PKG-INFO +1 -1
  2. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/pyproject.toml +1 -1
  3. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/datamodel_translations.json +219 -0
  4. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em.ttl +20 -2
  5. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_visual_rules.json +62 -1
  6. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/node_registry.generated.json +26 -1
  7. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +79 -17
  8. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +87 -5
  9. s3dgraphy-1.6.0.dev93/src/s3dgraphy/JSON_config/src/2D/bozze/UT.svg +4 -0
  10. s3dgraphy-1.6.0.dev93/src/s3dgraphy/JSON_config/src/2D/bozze/UT0.svg +4 -0
  11. s3dgraphy-1.6.0.dev93/src/s3dgraphy/JSON_config/src/2D/bozze/district.svg +4 -0
  12. s3dgraphy-1.6.0.dev93/src/s3dgraphy/JSON_config/src/2D/landscape_surface.svg +4 -0
  13. s3dgraphy-1.6.0.dev93/src/s3dgraphy/JSON_config/version_for_hardware_cases.json +47 -0
  14. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/__init__.py +1 -1
  15. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/rdf_exporter.py +4 -0
  16. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/gis/__init__.py +17 -2
  17. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/contours.py +134 -0
  18. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/geojson.py +136 -0
  19. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/geopackage.py +122 -0
  20. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/geotiff.py +404 -0
  21. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/landscape.py +143 -0
  22. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/layer.py +335 -0
  23. s3dgraphy-1.6.0.dev93/src/s3dgraphy/gis/wkb.py +157 -0
  24. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/graph.py +31 -3
  25. s3dgraphy-1.6.0.dev93/src/s3dgraphy/landscape.py +421 -0
  26. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +4 -4
  27. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +4 -4
  28. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/emdb/usm_mapping.json +4 -4
  29. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +4 -4
  30. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +4 -4
  31. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/source_list/em_sourcelist_it.json +4 -4
  32. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +4 -4
  33. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/template_emdb_mapping.json +4 -4
  34. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +4 -4
  35. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/__init__.py +12 -0
  36. s3dgraphy-1.6.0.dev93/src/s3dgraphy/nodes/landscape_surface_node.py +54 -0
  37. s3dgraphy-1.6.0.dev93/src/s3dgraphy/nodes/landscape_unit_node.py +92 -0
  38. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/versions.py +94 -0
  39. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/study.py +10 -1
  40. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93/src/s3dgraphy.egg-info}/PKG-INFO +1 -1
  41. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy.egg-info/SOURCES.txt +16 -0
  42. s3dgraphy-1.6.0.dev93/tests/test_gis_base.py +335 -0
  43. s3dgraphy-1.6.0.dev93/tests/test_landscape_ontology.py +317 -0
  44. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_mapping_csv_and_relations.py +8 -5
  45. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_rdf_reverse_edges.py +2 -1
  46. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_file_node.py +2 -2
  47. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_revision.py +1 -1
  48. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_spatiotemporal_entities.py +4 -2
  49. s3dgraphy-1.6.0.dev91/src/s3dgraphy/gis/layer.py +0 -195
  50. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/LICENSE +0 -0
  51. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/MANIFEST.in +0 -0
  52. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/README.md +0 -0
  53. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/setup.cfg +0 -0
  54. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
  55. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
  56. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
  57. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
  58. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/alternative_cases.json +0 -0
  59. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
  60. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
  61. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
  62. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_qualia_types.json +0 -0
  63. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
  64. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/em_state_symbols.json +0 -0
  65. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
  66. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
  67. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
  68. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
  69. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
  70. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
  71. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
  72. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
  73. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
  74. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
  75. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
  76. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
  77. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
  78. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
  79. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
  80. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
  81. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
  82. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
  83. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
  84. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
  85. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
  86. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
  87. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
  88. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
  89. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
  90. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
  91. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
  92. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
  93. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
  94. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
  95. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
  96. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
  97. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/author_ai.svg +0 -0
  98. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/bozze/site.svg +0 -0
  99. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
  100. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
  101. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/container.svg +0 -0
  102. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
  103. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
  104. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
  105. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
  106. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
  107. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
  108. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
  109. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
  110. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
  111. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
  112. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
  113. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
  114. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
  115. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
  116. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
  117. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
  118. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
  119. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
  120. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
  121. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
  122. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
  123. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
  124. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
  125. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/12_gnss_survey.svg +0 -0
  126. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/13_field_drawing.svg +0 -0
  127. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/14_recording_sheet.svg +0 -0
  128. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/15_decimation.svg +0 -0
  129. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/16_georeferencing.svg +0 -0
  130. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/17_format_conversion.svg +0 -0
  131. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/18_classification.svg +0 -0
  132. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/dtc/19_vectorization.svg +0 -0
  133. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
  134. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/embargo.svg +0 -0
  135. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
  136. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
  137. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
  138. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
  139. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
  140. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
  141. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/hdto/graph.svg +0 -0
  142. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/hdto/hdt.svg +0 -0
  143. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/hdto/heritage_entity.svg +0 -0
  144. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/hdto/project.svg +0 -0
  145. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/hdto/study.svg +0 -0
  146. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
  147. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/license.svg +0 -0
  148. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
  149. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
  150. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/narrative.svg +0 -0
  151. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
  152. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
  153. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
  154. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/proxy.svg +0 -0
  155. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
  156. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
  157. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
  158. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
  159. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/resource_file.svg +0 -0
  160. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
  161. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
  162. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
  163. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
  164. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
  165. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
  166. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
  167. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/tileset.svg +0 -0
  168. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/version_gltf.svg +0 -0
  169. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/version_mesh.svg +0 -0
  170. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/version_scene.svg +0 -0
  171. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/2D/version_tiles.svg +0 -0
  172. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
  173. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
  174. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
  175. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
  176. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
  177. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
  178. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
  179. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
  180. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
  181. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
  182. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
  183. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
  184. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
  185. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
  186. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
  187. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
  188. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/JSON_config/version_for_cases.json +0 -0
  189. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/__main__.py +0 -0
  190. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/acquisition/__init__.py +0 -0
  191. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/acquisition/acquire.py +0 -0
  192. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/acquisition/descriptor.py +0 -0
  193. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/acquisition/mapping.py +0 -0
  194. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/ai_validation.py +0 -0
  195. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/annotation/__init__.py +0 -0
  196. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/annotation/migrate_reading.py +0 -0
  197. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/annotation/paradata.py +0 -0
  198. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/annotation/reading.py +0 -0
  199. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/api.py +0 -0
  200. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/__init__.py +0 -0
  201. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/resolver.py +0 -0
  202. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
  203. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
  204. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
  205. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
  206. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
  207. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
  208. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/classification.py +0 -0
  209. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/container.py +0 -0
  210. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/contract/__init__.py +0 -0
  211. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/contract/connector.py +0 -0
  212. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/contract/consumer.py +0 -0
  213. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/contract/core.py +0 -0
  214. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/contract/reference.py +0 -0
  215. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/crdt.py +0 -0
  216. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
  217. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/datamodel.py +0 -0
  218. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/diagnostics.py +0 -0
  219. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dissemination.py +0 -0
  220. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/__init__.py +0 -0
  221. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/capture.py +0 -0
  222. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/corpus.py +0 -0
  223. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/devices.py +0 -0
  224. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/ingest.py +0 -0
  225. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
  226. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/dtc/residency.py +0 -0
  227. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/edges/__init__.py +0 -0
  228. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/edges/connection_resolver.py +0 -0
  229. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/edges/connections_loader.py +0 -0
  230. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/edges/edge.py +0 -0
  231. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/editorial.py +0 -0
  232. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/__init__.py +0 -0
  233. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
  234. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/emjson_exporter.py +0 -0
  235. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
  236. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
  237. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
  238. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
  239. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +0 -0
  240. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
  241. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
  242. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
  243. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
  244. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
  245. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
  246. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
  247. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
  248. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
  249. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
  250. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/html_exporter.py +0 -0
  251. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
  252. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/json_exporter.py +0 -0
  253. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
  254. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +0 -0
  255. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/__init__.py +0 -0
  256. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/aton.py +0 -0
  257. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/frame.py +0 -0
  258. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/gltf.py +0 -0
  259. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/migrate.py +0 -0
  260. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/proxy.py +0 -0
  261. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/reading_glb.py +0 -0
  262. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/registration.py +0 -0
  263. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/store_backed.py +0 -0
  264. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/transform.py +0 -0
  265. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/geometry/wkt.py +0 -0
  266. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/gis/crs.py +0 -0
  267. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/gis/shapefile.py +0 -0
  268. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/gis/site.py +0 -0
  269. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/graph_removal.py +0 -0
  270. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/hdto.py +0 -0
  271. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/iiif.py +0 -0
  272. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/__init__.py +0 -0
  273. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/base_importer.py +0 -0
  274. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/csv_importer.py +0 -0
  275. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/emjson_importer.py +0 -0
  276. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
  277. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/import_graphml.py +0 -0
  278. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
  279. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/metashape_project.py +0 -0
  280. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
  281. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/qualia_importer.py +0 -0
  282. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/rdf_importer.py +0 -0
  283. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/sheet_header.py +0 -0
  284. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/source_text.py +0 -0
  285. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/unified_xlsx_importer.py +0 -0
  286. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
  287. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/importer/xml_importer.py +0 -0
  288. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/indices.py +0 -0
  289. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/labels.py +0 -0
  290. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/language.py +0 -0
  291. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/links.py +0 -0
  292. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/__init__.py +0 -0
  293. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/authoring.py +0 -0
  294. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/mappings/registry.py +0 -0
  295. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/merge/__init__.py +0 -0
  296. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/merge/graph_merger.py +0 -0
  297. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/multigraph/__init__.py +0 -0
  298. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/multigraph/multigraph.py +0 -0
  299. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/__init__.py +0 -0
  300. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/bake.py +0 -0
  301. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/generation.py +0 -0
  302. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/query.py +0 -0
  303. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/registry.py +0 -0
  304. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/narrative/site_story.py +0 -0
  305. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
  306. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/author_node.py +0 -0
  307. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/base_node.py +0 -0
  308. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/combiner_node.py +0 -0
  309. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/document_node.py +0 -0
  310. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
  311. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
  312. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/dtc_node.py +0 -0
  313. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
  314. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/embargo_node.py +0 -0
  315. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/epoch_node.py +0 -0
  316. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/extractor_node.py +0 -0
  317. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
  318. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
  319. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/graph_node.py +0 -0
  320. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/group_node.py +0 -0
  321. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/hdt_node.py +0 -0
  322. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
  323. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/license_node.py +0 -0
  324. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/narrative_node.py +0 -0
  325. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/paradata_node.py +0 -0
  326. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/periodization_node.py +0 -0
  327. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/project_node.py +0 -0
  328. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/property_node.py +0 -0
  329. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/representation_node.py +0 -0
  330. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/resource_file_node.py +0 -0
  331. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/resource_node.py +0 -0
  332. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
  333. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/stratigraphic_node.py +0 -0
  334. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/study_node.py +0 -0
  335. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/nodes/translation_node.py +0 -0
  336. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/ownership.py +0 -0
  337. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/paradata_view.py +0 -0
  338. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/periodization.py +0 -0
  339. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
  340. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/photogrammetry/delta.py +0 -0
  341. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/project_tree.py +0 -0
  342. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/property_source.py +0 -0
  343. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/publication.py +0 -0
  344. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/rapporti.py +0 -0
  345. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resolvers/__init__.py +0 -0
  346. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
  347. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
  348. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/__init__.py +0 -0
  349. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/addresses.py +0 -0
  350. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/alignment.py +0 -0
  351. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/alternatives.py +0 -0
  352. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/asset_list.py +0 -0
  353. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/blend_folder.py +0 -0
  354. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/blend_room.py +0 -0
  355. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/consolidate.py +0 -0
  356. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/detail.py +0 -0
  357. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/files.py +0 -0
  358. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/fs_backend.py +0 -0
  359. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/graph_compose.py +0 -0
  360. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/locate.py +0 -0
  361. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/moved.py +0 -0
  362. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/object_store.py +0 -0
  363. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/resolver.py +0 -0
  364. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/s3_backend.py +0 -0
  365. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/storage_rows.py +0 -0
  366. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/tiles3tz.py +0 -0
  367. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/tileset_fit.py +0 -0
  368. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/resources/use_profiles.py +0 -0
  369. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/rights.py +0 -0
  370. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/__init__.py +0 -0
  371. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/access.py +0 -0
  372. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/engine.py +0 -0
  373. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/errors.py +0 -0
  374. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/inventory.py +0 -0
  375. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/node.py +0 -0
  376. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/pack.py +0 -0
  377. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/room_import/trust.py +0 -0
  378. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/shelf/__init__.py +0 -0
  379. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/shelf/core.py +0 -0
  380. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/spatiotemporal.py +0 -0
  381. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/stamp/__init__.py +0 -0
  382. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/stamp/absorb.py +0 -0
  383. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/stamp/emit.py +0 -0
  384. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/stamp/hints.py +0 -0
  385. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/stamp/identity.py +0 -0
  386. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/__init__.py +0 -0
  387. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/_db_handle.py +0 -0
  388. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
  389. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/_workspace.py +0 -0
  390. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
  391. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/edge_registry.py +0 -0
  392. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
  393. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/graph_projector.py +0 -0
  394. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/graphml_writer.py +0 -0
  395. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/group_projector.py +0 -0
  396. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/group_store.py +0 -0
  397. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/ingest_result.py +0 -0
  398. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/paradata_store.py +0 -0
  399. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
  400. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/rapporti.py +0 -0
  401. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/uuid7.py +0 -0
  402. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
  403. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/vocab_types.py +0 -0
  404. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_classifier.py +0 -0
  405. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_detector.py +0 -0
  406. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
  407. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
  408. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
  409. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
  410. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
  411. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
  412. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/temporal/__init__.py +0 -0
  413. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/temporal/inference_engine.py +0 -0
  414. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/temporal/relative_chronology.py +0 -0
  415. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/__init__.py +0 -0
  416. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/consumer_drift.py +0 -0
  417. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
  418. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/deliverable_report.py +0 -0
  419. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/glyph_sheet.py +0 -0
  420. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/glyphs_from_svg.py +0 -0
  421. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/node_finder.py +0 -0
  422. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/ontology_html.py +0 -0
  423. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
  424. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/tools/wheel_drift.py +0 -0
  425. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/transforms/__init__.py +0 -0
  426. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
  427. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/transforms/compact.py +0 -0
  428. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
  429. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/translation.py +0 -0
  430. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/utils/__init__.py +0 -0
  431. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/utils/utils.py +0 -0
  432. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/utils/visual_layout.py +0 -0
  433. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy/zero_hour.py +0 -0
  434. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
  435. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy.egg-info/requires.txt +0 -0
  436. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/src/s3dgraphy.egg-info/top_level.txt +0 -0
  437. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_acquisition.py +0 -0
  438. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_acquisition_fs.py +0 -0
  439. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_add_resource.py +0 -0
  440. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_ai_validation_nodes.py +0 -0
  441. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_alternative_labels.py +0 -0
  442. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_alternative_sets.py +0 -0
  443. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_alternatives_hat.py +0 -0
  444. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_anastylosis_document_type.py +0 -0
  445. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_api_surface.py +0 -0
  446. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_asset_dtc_protocol.py +0 -0
  447. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_asset_list.py +0 -0
  448. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_asset_versions.py +0 -0
  449. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_aton_shapes.py +0 -0
  450. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_attach_only.py +0 -0
  451. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_authority_projection.py +0 -0
  452. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_authority_resolver.py +0 -0
  453. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_blend_folder.py +0 -0
  454. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_blend_locator.py +0 -0
  455. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_blend_room.py +0 -0
  456. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_bucket_alignment.py +0 -0
  457. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_canonical_document_rename.py +0 -0
  458. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_canvas_metadata_import.py +0 -0
  459. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_capture_acquisition.py +0 -0
  460. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_capture_rdf_class.py +0 -0
  461. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_chronology_on_request.py +0 -0
  462. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_cloud_placeholders.py +0 -0
  463. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_coating_unit.py +0 -0
  464. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_composite_node_name.py +0 -0
  465. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_connection_resolver.py +0 -0
  466. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_consolida_2.py +0 -0
  467. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_consolidate_compose.py +0 -0
  468. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_consumer_drift.py +0 -0
  469. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_container.py +0 -0
  470. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_container_layouts.py +0 -0
  471. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_containment_tpq.py +0 -0
  472. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_contemporaneity.py +0 -0
  473. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_contract.py +0 -0
  474. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_contract_consumer.py +0 -0
  475. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_convert_command.py +0 -0
  476. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_crdt.py +0 -0
  477. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_cycle_message_is_cheap.py +0 -0
  478. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_datamodel_fingerprint.py +0 -0
  479. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_datamodel_i18n.py +0 -0
  480. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_detail.py +0 -0
  481. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_deterministic_ids.py +0 -0
  482. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_em_sourcelist.py +0 -0
  483. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_file_set_stamp.py +0 -0
  484. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_graphml_without_a_database.py +0 -0
  485. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_image_set_texturing.py +0 -0
  486. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_not_georeferenced.py +0 -0
  487. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_one_act_n_outputs.py +0 -0
  488. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev29_ttl_round_trip.py +0 -0
  489. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dev30_decisions.py +0 -0
  490. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_devices.py +0 -0
  491. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dissemination_tombstones.py +0 -0
  492. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dove_sta_il_testo.py +0 -0
  493. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dtc_corpus.py +0 -0
  494. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dtc_ingest.py +0 -0
  495. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dtc_neighbourhood.py +0 -0
  496. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dtc_projection.py +0 -0
  497. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_dtc_residency.py +0 -0
  498. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_edge_outside_graph.py +0 -0
  499. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_edge_ui_phrases.py +0 -0
  500. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_editorial.py +0 -0
  501. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_em_ttl_matches_the_datamodels.py +0 -0
  502. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_emjson_conformance.py +0 -0
  503. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_emjson_no_drawing_keys.py +0 -0
  504. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_emjson_roundtrip.py +0 -0
  505. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_emjson_schema_version.py +0 -0
  506. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_end_of_unit.py +0 -0
  507. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_epoch_instances.py +0 -0
  508. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_epoch_properties_and_sub_epochs.py +0 -0
  509. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_epoch_undated_import.py +0 -0
  510. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_explicit_node_type_marker.py +0 -0
  511. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_extracted_from_unit.py +0 -0
  512. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_file_frame.py +0 -0
  513. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_filtered_import.py +0 -0
  514. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_fmpxml_importer.py +0 -0
  515. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_fs_backend.py +0 -0
  516. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_functional_units.py +0 -0
  517. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_georeference_scene.py +0 -0
  518. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_gis_site.py +0 -0
  519. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_gltf_stitch.py +0 -0
  520. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_glyph_paths.py +0 -0
  521. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_header_code.py +0 -0
  522. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_helpers_indexed.py +0 -0
  523. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_indices_alive.py +0 -0
  524. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_indices_edges.py +0 -0
  525. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_removal.py +0 -0
  526. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_graph_scope_migration.py +0 -0
  527. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_hdto_glyphs.py +0 -0
  528. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_hdto_projection.py +0 -0
  529. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_hdto_study.py +0 -0
  530. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_header_key_aliases.py +0 -0
  531. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_i_generi_dei_passi.py +0 -0
  532. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_iiif.py +0 -0
  533. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_il_modo_d_accesso.py +0 -0
  534. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_il_modo_dal_relay.py +0 -0
  535. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_il_proprietario_si_legge.py +0 -0
  536. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_il_riallineamento.py +0 -0
  537. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_import_without_residues.py +0 -0
  538. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_importer_edge_hygiene.py +0 -0
  539. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_ipynb_exporter.py +0 -0
  540. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_iri_extendedmatrix.py +0 -0
  541. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_issue27_small_points.py +0 -0
  542. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_la_lingua_alla_nascita.py +0 -0
  543. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_la_lingua_dei_dati.py +0 -0
  544. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_la_lingua_nell_op.py +0 -0
  545. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_la_riga_d_intestazione.py +0 -0
  546. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_lab_orizzonti.py +0 -0
  547. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_latex_exporter.py +0 -0
  548. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_le_traduzioni.py +0 -0
  549. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_lod_levels.py +0 -0
  550. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_lossless_roundtrip.py +0 -0
  551. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_mapping_authoring.py +0 -0
  552. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_masonry_unit.py +0 -0
  553. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_material_color.py +0 -0
  554. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_merge_conflicts.py +0 -0
  555. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_metashape_project.py +0 -0
  556. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_migrate_legacy_proxy.py +0 -0
  557. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_authorship.py +0 -0
  558. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_bake_docx.py +0 -0
  559. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_figures.py +0 -0
  560. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_generation.py +0 -0
  561. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_mentions.py +0 -0
  562. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_node.py +0 -0
  563. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_query.py +0 -0
  564. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_scaffolder.py +0 -0
  565. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_site_place.py +0 -0
  566. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_narrative_unvalidated_export.py +0 -0
  567. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_node_datamodel_registry.py +0 -0
  568. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_node_finder.py +0 -0
  569. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_node_type_map_integrity.py +0 -0
  570. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_one_resolver.py +0 -0
  571. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_one_spelling_writers.py +0 -0
  572. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_ontology_html.py +0 -0
  573. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_op_vocabulary.py +0 -0
  574. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_part_twins.py +0 -0
  575. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_pg_importer.py +0 -0
  576. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_photogrammetry_delta.py +0 -0
  577. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_physical_relation_spellings.py +0 -0
  578. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_piu_indirizzi.py +0 -0
  579. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_promote_keeps_proxy_type.py +0 -0
  580. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_promotion.py +0 -0
  581. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_property_as_source.py +0 -0
  582. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_property_owners.py +0 -0
  583. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_proxy_resource.py +0 -0
  584. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_proxy_retype.py +0 -0
  585. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_psx_locator.py +0 -0
  586. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_pyarchinit_tier2.py +0 -0
  587. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_qualia_dai_d7_d8.py +0 -0
  588. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_rdf_embedding.py +0 -0
  589. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_rdf_roundtrip.py +0 -0
  590. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_rdf_sub_epoch_direction.py +0 -0
  591. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reading_coords.py +0 -0
  592. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reading_glb.py +0 -0
  593. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reading_migration.py +0 -0
  594. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reading_place.py +0 -0
  595. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reading_rdf.py +0 -0
  596. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_recompute_warnings.py +0 -0
  597. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_registration.py +0 -0
  598. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_release.py +0 -0
  599. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reproject.py +0 -0
  600. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_files_implicit.py +0 -0
  601. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_layer.py +0 -0
  602. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_representations.py +0 -0
  603. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_resource_tier.py +0 -0
  604. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_reverse_edges.py +0 -0
  605. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_rm_container_node_group.py +0 -0
  606. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_room_import.py +0 -0
  607. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_room_import_access.py +0 -0
  608. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_room_import_inventory.py +0 -0
  609. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_room_import_trust.py +0 -0
  610. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_s3_backend.py +0 -0
  611. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_semantic_purity.py +0 -0
  612. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_series_vsf.py +0 -0
  613. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_shelf.py +0 -0
  614. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_shelf_facets.py +0 -0
  615. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_shelf_hatting.py +0 -0
  616. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_shelf_role_uri_table.py +0 -0
  617. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_shipped_mappings.py +0 -0
  618. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_source_list_mapping.py +0 -0
  619. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_source_text.py +0 -0
  620. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_special_find_definitions.py +0 -0
  621. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_stable_study_code.py +0 -0
  622. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_stamp.py +0 -0
  623. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_stamp_hints.py +0 -0
  624. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_stamp_title_description.py +0 -0
  625. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_storage_rows.py +0 -0
  626. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_store_backed_geometry.py +0 -0
  627. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_stratiminer_api.py +0 -0
  628. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_study_metadata.py +0 -0
  629. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_threed_instances.py +0 -0
  630. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_tileset_fit.py +0 -0
  631. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_tileset_resource.py +0 -0
  632. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_transform_form.py +0 -0
  633. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_ttl_roundtrip.py +0 -0
  634. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_unit_definition.py +0 -0
  635. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_use_profiles.py +0 -0
  636. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_valore_proprieta_doppio.py +0 -0
  637. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_verifica_provenance.py +0 -0
  638. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_version_for.py +0 -0
  639. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_visual_assets.py +0 -0
  640. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_wheel_drift.py +0 -0
  641. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_xlsx_containment_and_unknown_bounds.py +0 -0
  642. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_xlsx_importer_graph_init.py +0 -0
  643. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/tests/test_xlsx_source_column.py +0 -0
  644. {s3dgraphy-1.6.0.dev91 → s3dgraphy-1.6.0.dev93}/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.dev91
3
+ Version: 1.6.0.dev93
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.dev91"
7
+ version = "1.6.0.dev93"
8
8
  description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1236,6 +1236,46 @@
1236
1236
  "de": "Eigenschaft"
1237
1237
  }
1238
1238
  },
1239
+ "LandscapeSurfaceNode": {
1240
+ "description": {
1241
+ "en": "The ground surface of a landscape: a DEM (a gis_layer GeoTIFF of raster.kind dem) drawn as a mesh, and optionally an image (an orthophoto, raster.kind image) draped on it — the two layers reached by has_linked_resource, the site it is the ground of by is_in_location. A GEOMETRY of the place, not its identity (the LocationNodeGroup) and not a representation of a stratigraphic node (the RepresentationModelNode).",
1242
+ "validated_it": false,
1243
+ "validated_el": false,
1244
+ "validated_he": false,
1245
+ "validated_es": false,
1246
+ "validated_pl": false,
1247
+ "validated_ro": false,
1248
+ "validated_fr": false,
1249
+ "validated_de": false,
1250
+ "it": "La superficie del suolo di un paesaggio: un DEM (un gis_layer GeoTIFF di raster.kind dem) disegnato come mesh e, se c'è, un'immagine (un'ortofoto, raster.kind image) drappeggiata sopra — i due layer raggiunti con has_linked_resource, il sito di cui è il suolo con is_in_location. Una GEOMETRIA del luogo, non la sua identità (il LocationNodeGroup) né la rappresentazione di un nodo stratigrafico (il RepresentationModelNode).",
1251
+ "el": "Η επιφάνεια του εδάφους ενός τοπίου: ένα DEM (gis_layer GeoTIFF, raster.kind dem) σχεδιασμένο ως πλέγμα και, αν υπάρχει, μια εικόνα (ορθοφωτογραφία, raster.kind image) πάνω του — τα δύο επίπεδα μέσω has_linked_resource, ο χώρος του οποίου είναι το έδαφος μέσω is_in_location. Μια ΓΕΩΜΕΤΡΙΑ του τόπου, όχι η ταυτότητά του (LocationNodeGroup) ούτε αναπαράσταση στρωματογραφικού κόμβου (RepresentationModelNode).",
1252
+ "he": "פני הקרקע של נוף: DEM (שכבת gis_layer מסוג GeoTIFF, raster.kind dem) המצויר כרשת, ואם יש — תמונה (אורתופוטו, raster.kind image) הנפרשת עליו; שתי השכבות דרך has_linked_resource, והאתר שזו קרקעו דרך is_in_location. גאומטריה של המקום, לא זהותו (LocationNodeGroup) ולא ייצוג של צומת סטרטיגרפי (RepresentationModelNode).",
1253
+ "es": "La superficie del suelo de un paisaje: un DEM (un gis_layer GeoTIFF de raster.kind dem) dibujado como malla y, si existe, una imagen (una ortofoto, raster.kind image) extendida sobre él — las dos capas alcanzadas con has_linked_resource, el sitio del que es el suelo con is_in_location. Una GEOMETRÍA del lugar, no su identidad (el LocationNodeGroup) ni la representación de un nodo estratigráfico (el RepresentationModelNode).",
1254
+ "pl": "Powierzchnia gruntu krajobrazu: DEM (gis_layer GeoTIFF, raster.kind dem) narysowany jako siatka i, jeśli jest, obraz (ortofotomapa, raster.kind image) nałożony na niego — obie warstwy przez has_linked_resource, stanowisko, którego jest gruntem, przez is_in_location. GEOMETRIA miejsca, nie jego tożsamość (LocationNodeGroup) ani reprezentacja węzła stratygraficznego (RepresentationModelNode).",
1255
+ "ro": "Suprafața solului unui peisaj: un DEM (un gis_layer GeoTIFF de raster.kind dem) desenat ca rețea și, dacă există, o imagine (o ortofotografie, raster.kind image) așternută peste el — cele două straturi prin has_linked_resource, situl al cărui sol este prin is_in_location. O GEOMETRIE a locului, nu identitatea lui (LocationNodeGroup) și nici reprezentarea unui nod stratigrafic (RepresentationModelNode).",
1256
+ "fr": "La surface du sol d'un paysage : un MNT (un gis_layer GeoTIFF de raster.kind dem) dessiné comme maillage et, s'il y en a une, une image (une orthophoto, raster.kind image) drapée dessus — les deux couches atteintes par has_linked_resource, le site dont c'est le sol par is_in_location. Une GÉOMÉTRIE du lieu, non son identité (le LocationNodeGroup) ni la représentation d'un nœud stratigraphique (le RepresentationModelNode).",
1257
+ "de": "Die Bodenoberfläche einer Landschaft: ein DGM (ein gis_layer GeoTIFF mit raster.kind dem), als Netz gezeichnet, und gegebenenfalls ein darübergelegtes Bild (ein Orthofoto, raster.kind image) — die beiden Ebenen über has_linked_resource, der Fundort, dessen Boden sie ist, über is_in_location. Eine GEOMETRIE des Ortes, nicht seine Identität (LocationNodeGroup) und nicht die Repräsentation eines stratigraphischen Knotens (RepresentationModelNode)."
1258
+ },
1259
+ "label": {
1260
+ "en": "Landscape surface",
1261
+ "validated_it": false,
1262
+ "validated_el": false,
1263
+ "validated_he": false,
1264
+ "validated_es": false,
1265
+ "validated_pl": false,
1266
+ "validated_ro": false,
1267
+ "validated_fr": false,
1268
+ "validated_de": false,
1269
+ "it": "Superficie del paesaggio",
1270
+ "el": "Επιφάνεια τοπίου",
1271
+ "he": "פני הנוף",
1272
+ "es": "Superficie del paisaje",
1273
+ "pl": "Powierzchnia krajobrazu",
1274
+ "ro": "Suprafața peisajului",
1275
+ "fr": "Surface du paysage",
1276
+ "de": "Landschaftsoberfläche"
1277
+ }
1278
+ },
1239
1279
  "RegistrationTransformNode": {
1240
1280
  "description": {
1241
1281
  "en": "The 7-parameter similarity (rotation 3x3 row-major, translation [x,y,z], positive scale) that places a produced model, with data.rms and data.residuals — the error bar, stored beside the claim rather than in a log nobody keeps. data.crs is the frame the model lands IN; null means a site-local frame (mode 'local'), which is NOT the same sentence as an absent transform. Re-registration is a NEW node produced by a NEW crmdig:D7; the superseded one is never edited.",
@@ -2336,6 +2376,126 @@
2336
2376
  "fr": "Horizon",
2337
2377
  "de": "Horizont"
2338
2378
  }
2379
+ },
2380
+ "TopographicUnitNode": {
2381
+ "description": {
2382
+ "en": "Topographic unit: what a survey finds on the ground — a scatter of sherds, a structure cropping out, a concentration of building material. OBSERVED («the topographic unit is an objective element», Landscape Matrix 2017). It is the counterpart of the stratigraphic unit at the scale of the territory but not a stratigraphic unit: it lies in secondary deposition (the ploughsoil) and has no physical relation with anything. Its extent is a geometry (a footprint property, a GIS layer); its dating is a property or an epoch, with its paradata, like a unit's.",
2383
+ "validated_it": false,
2384
+ "validated_el": false,
2385
+ "validated_he": false,
2386
+ "validated_es": false,
2387
+ "validated_pl": false,
2388
+ "validated_ro": false,
2389
+ "validated_fr": false,
2390
+ "validated_de": false,
2391
+ "it": "Unità topografica: ciò che il survey trova a terra — uno spargimento di frammenti, una struttura affiorante, una concentrazione di materiale edilizio. OSSERVATA («l'unità topografica è un elemento oggettivo», Landscape Matrix 2017). È il corrispettivo dell'unità stratigrafica alla scala del territorio ma non è un'unità stratigrafica: sta in giacitura secondaria (l'arativo) e non ha relazioni fisiche con nulla. La sua estensione è una geometria (una proprietà impronta, un layer GIS); la sua datazione è una proprietà o un'epoca, con i suoi paradati, come per un'unità.",
2392
+ "el": "Τοπογραφική μονάδα: ό,τι εντοπίζει η επιφανειακή έρευνα στο έδαφος — διασπορά οστράκων, δομή που αναδύεται, συγκέντρωση οικοδομικού υλικού. ΠΑΡΑΤΗΡΟΥΜΕΝΗ («η τοπογραφική μονάδα είναι αντικειμενικό στοιχείο», Landscape Matrix 2017). Είναι το αντίστοιχο της στρωματογραφικής μονάδας στην κλίμακα του εδάφους, αλλά όχι στρωματογραφική μονάδα: βρίσκεται σε δευτερογενή απόθεση (το καλλιεργημένο έδαφος) και δεν έχει φυσικές σχέσεις με τίποτα. Η έκτασή της είναι μια γεωμετρία (ιδιότητα αποτυπώματος, επίπεδο GIS)· η χρονολόγησή της είναι ιδιότητα ή εποχή, με τα παραδεδομένα της, όπως για μια μονάδα.",
2393
+ "he": "יחידה טופוגרפית: מה שהסקר מוצא על פני הקרקע — פיזור חרסים, מבנה בולט, ריכוז חומרי בנייה. נצפית («היחידה הטופוגרפית היא יסוד אובייקטיבי», Landscape Matrix 2017). היא המקבילה של היחידה הסטרטיגרפית בקנה מידה של השטח אך אינה יחידה סטרטיגרפית: היא בהשקעה משנית (שכבת החריש) ואין לה קשרים פיזיים עם דבר. היקפה הוא גאומטריה (תכונת טביעת שטח, שכבת GIS); תיארוכה הוא תכונה או תקופה, עם הפרה-נתונים שלה, כמו ליחידה.",
2394
+ "es": "Unidad topográfica: lo que una prospección encuentra en superficie — una dispersión de fragmentos, una estructura aflorante, una concentración de material constructivo. OBSERVADA («la unidad topográfica es un elemento objetivo», Landscape Matrix 2017). Es la contrapartida de la unidad estratigráfica a la escala del territorio, pero no es una unidad estratigráfica: está en posición secundaria (la capa arada) y no tiene relaciones físicas con nada. Su extensión es una geometría (una propiedad huella, una capa SIG); su datación es una propiedad o una época, con sus paradatos, como para una unidad.",
2395
+ "pl": "Jednostka topograficzna: to, co badanie powierzchniowe znajduje na gruncie — rozrzut ułamków, wystająca struktura, skupisko materiału budowlanego. OBSERWOWANA («jednostka topograficzna jest elementem obiektywnym», Landscape Matrix 2017). To odpowiednik jednostki stratygraficznej w skali terytorium, ale nie jednostka stratygraficzna: leży w złożu wtórnym (warstwa orna) i nie ma relacji fizycznych z niczym. Jej zasięg to geometria (właściwość obrysu, warstwa GIS); jej datowanie to właściwość lub epoka, z paradanymi, jak dla jednostki.",
2396
+ "ro": "Unitate topografică: ceea ce o perieghează găsește la suprafață — o dispersie de fragmente, o structură care iese la suprafață, o concentrare de material de construcție. OBSERVATĂ («unitatea topografică este un element obiectiv», Landscape Matrix 2017). Este corespondentul unității stratigrafice la scara teritoriului, dar nu este o unitate stratigrafică: se află în poziție secundară (stratul arat) și nu are relații fizice cu nimic. Extinderea ei este o geometrie (o proprietate amprentă, un strat GIS); datarea ei este o proprietate sau o epocă, cu paradatele ei, ca pentru o unitate.",
2397
+ "fr": "Unité topographique : ce qu'une prospection trouve en surface — un épandage de tessons, une structure affleurante, une concentration de matériaux de construction. OBSERVÉE (« l'unité topographique est un élément objectif », Landscape Matrix 2017). C'est le pendant de l'unité stratigraphique à l'échelle du territoire, mais pas une unité stratigraphique : elle est en position secondaire (la couche labourée) et n'a de relation physique avec rien. Son étendue est une géométrie (une propriété d'emprise, une couche SIG) ; sa datation est une propriété ou une époque, avec ses paradonnées, comme pour une unité.",
2398
+ "de": "Topographische Einheit: was eine Begehung an der Oberfläche findet — eine Scherbenstreuung, eine anstehende Struktur, eine Konzentration von Baumaterial. BEOBACHTET („die topographische Einheit ist ein objektives Element“, Landscape Matrix 2017). Sie ist das Gegenstück der stratigraphischen Einheit im Maßstab des Territoriums, aber keine stratigraphische Einheit: Sie liegt in sekundärer Lage (der Pflugschicht) und hat zu nichts eine physische Beziehung. Ihre Ausdehnung ist eine Geometrie (eine Umriss-Eigenschaft, eine GIS-Ebene); ihre Datierung ist eine Eigenschaft oder eine Epoche, mit ihren Paradaten, wie bei einer Einheit."
2399
+ },
2400
+ "label": {
2401
+ "en": "UT",
2402
+ "validated_it": false,
2403
+ "validated_el": false,
2404
+ "validated_he": false,
2405
+ "validated_es": false,
2406
+ "validated_pl": false,
2407
+ "validated_ro": false,
2408
+ "validated_fr": false,
2409
+ "validated_de": false,
2410
+ "it": "UT",
2411
+ "el": "UT",
2412
+ "he": "UT",
2413
+ "es": "UT",
2414
+ "pl": "UT",
2415
+ "ro": "UT",
2416
+ "fr": "UT",
2417
+ "de": "UT"
2418
+ }
2419
+ },
2420
+ "NegativeTopographicUnitNode": {
2421
+ "description": {
2422
+ "en": "Negative topographic unit (−UT, token UT0): the area a survey walked where nothing was found, with the conditions of the observation (visibility, season, coverage). OBSERVED: an absence of evidence is an observation. It makes silence informative — without it an empty district in an horizon cannot tell «there was nothing» from «nobody looked» — and it is the base of the «mapping of the gaps» (2017). What is concluded from it («no settlement here») belongs to its paradata, not to the unit.",
2423
+ "validated_it": false,
2424
+ "validated_el": false,
2425
+ "validated_he": false,
2426
+ "validated_es": false,
2427
+ "validated_pl": false,
2428
+ "validated_ro": false,
2429
+ "validated_fr": false,
2430
+ "validated_de": false,
2431
+ "it": "Unità topografica negativa (−UT, token UT0): l'area battuta dal survey dove non si è trovato niente, con le condizioni dell'osservazione (visibilità, stagione, copertura). OSSERVATA: un'assenza di evidenza è un'osservazione. Rende informativo il silenzio — senza di essa un distretto vuoto in un orizzonte non distingue «non c'era niente» da «nessuno ha guardato» — ed è la base della «mappatura delle lacune» (2017). Ciò che se ne conclude («qui non c'era insediamento») sta nei suoi paradati, non nell'unità.",
2432
+ "el": "Αρνητική τοπογραφική μονάδα (−UT, σύμβολο UT0): η περιοχή που ερευνήθηκε χωρίς να βρεθεί τίποτα, με τις συνθήκες της παρατήρησης (ορατότητα, εποχή, κάλυψη). ΠΑΡΑΤΗΡΟΥΜΕΝΗ: η απουσία ενδείξεων είναι παρατήρηση. Κάνει τη σιωπή πληροφοριακή — χωρίς αυτήν μια κενή περιοχή σε έναν ορίζοντα δεν ξεχωρίζει το «δεν υπήρχε τίποτα» από το «κανείς δεν κοίταξε» — και είναι η βάση της «χαρτογράφησης των κενών» (2017). Ό,τι συμπεραίνεται από αυτήν («εδώ δεν υπήρχε οικισμός») ανήκει στα παραδεδομένα της, όχι στη μονάδα.",
2433
+ "he": "יחידה טופוגרפית שלילית (−UT, אסימון UT0): השטח שנסקר ולא נמצא בו דבר, עם תנאי התצפית (ראות, עונה, כיסוי). נצפית: היעדר עדות הוא תצפית. היא הופכת את השתיקה לאינפורמטיבית — בלעדיה מחוז ריק באופק אינו מבחין בין «לא היה דבר» לבין «איש לא הסתכל» — והיא הבסיס ל«מיפוי הפערים» (2017). מה שמוסק ממנה («לא היה כאן יישוב») שייך לפרה-נתונים שלה, לא ליחידה.",
2434
+ "es": "Unidad topográfica negativa (−UT, código UT0): el área recorrida donde no se encontró nada, con las condiciones de la observación (visibilidad, estación, cobertura). OBSERVADA: una ausencia de evidencia es una observación. Hace informativo el silencio — sin ella un distrito vacío en un horizonte no distingue «no había nada» de «nadie miró» — y es la base del «mapa de las lagunas» (2017). Lo que se concluye de ella («aquí no hubo asentamiento») pertenece a sus paradatos, no a la unidad.",
2435
+ "pl": "Negatywna jednostka topograficzna (−UT, symbol UT0): obszar przebadany, na którym nic nie znaleziono, z warunkami obserwacji (widoczność, pora roku, pokrycie). OBSERWOWANA: brak świadectw jest obserwacją. Czyni ciszę informatywną — bez niej pusty dystrykt w horyzoncie nie odróżnia «nic tu nie było» od «nikt nie patrzył» — i jest podstawą «mapowania luk» (2017). To, co się z niej wnioskuje («nie było tu osadnictwa»), należy do jej paradanych, nie do jednostki.",
2436
+ "ro": "Unitate topografică negativă (−UT, simbol UT0): zona parcursă în care nu s-a găsit nimic, cu condițiile observației (vizibilitate, sezon, acoperire). OBSERVATĂ: o absență a dovezilor este o observație. Face tăcerea informativă — fără ea, un district gol într-un orizont nu deosebește «nu era nimic» de «nimeni nu s-a uitat» — și este baza «cartografierii lacunelor» (2017). Ce se conchide din ea («aici nu a fost așezare») aparține paradatelor ei, nu unității.",
2437
+ "fr": "Unité topographique négative (−UT, code UT0) : la zone parcourue où rien n'a été trouvé, avec les conditions de l'observation (visibilité, saison, couverture). OBSERVÉE : une absence d'indices est une observation. Elle rend le silence informatif — sans elle, un district vide dans un horizon ne distingue pas « il n'y avait rien » de « personne n'a regardé » — et elle fonde la « cartographie des lacunes » (2017). Ce qu'on en conclut (« pas d'habitat ici ») appartient à ses paradonnées, non à l'unité.",
2438
+ "de": "Negative topographische Einheit (−UT, Kürzel UT0): die begangene Fläche, auf der nichts gefunden wurde, mit den Bedingungen der Beobachtung (Sichtbarkeit, Jahreszeit, Abdeckung). BEOBACHTET: das Fehlen von Befunden ist eine Beobachtung. Sie macht das Schweigen aussagekräftig — ohne sie unterscheidet ein leerer Bezirk in einem Horizont nicht „hier war nichts“ von „niemand hat geschaut“ — und ist die Grundlage der „Kartierung der Lücken“ (2017). Was daraus geschlossen wird („hier gab es keine Siedlung“), gehört zu ihren Paradaten, nicht zur Einheit."
2439
+ },
2440
+ "label": {
2441
+ "en": "−UT",
2442
+ "validated_it": false,
2443
+ "validated_el": false,
2444
+ "validated_he": false,
2445
+ "validated_es": false,
2446
+ "validated_pl": false,
2447
+ "validated_ro": false,
2448
+ "validated_fr": false,
2449
+ "validated_de": false,
2450
+ "it": "−UT",
2451
+ "el": "−UT",
2452
+ "he": "−UT",
2453
+ "es": "−UT",
2454
+ "pl": "−UT",
2455
+ "ro": "−UT",
2456
+ "fr": "−UT",
2457
+ "de": "−UT"
2458
+ }
2459
+ },
2460
+ "DistrictNode": {
2461
+ "description": {
2462
+ "en": "District: the declared portion of territory that holds what stands on it — sites, virtual sites, topographic units, other districts — as a TRAY holds its objects («il rapporto fra terreno e resti è quello fra un vassoio e gli oggetti che ci sono sopra», 2017). URBAN (the Forum of Pompeii, holding temples and monuments) or RURAL (a villa rustica, holding the graphs of its single buildings or of the anthropic transformations). DECLARED: its border is an interpretation of pertinence, argued by its paradata; it approximates the real place (the true fundus nobody saw whole). A UNIT, not a group: it has a geometry (a footprint), a time (it changes with the villa: VTU1 in epoch 1, VTU2 in epoch 2) and paradata. Replaces the UTV / VTU of 2017.",
2463
+ "validated_it": false,
2464
+ "validated_el": false,
2465
+ "validated_he": false,
2466
+ "validated_es": false,
2467
+ "validated_pl": false,
2468
+ "validated_ro": false,
2469
+ "validated_fr": false,
2470
+ "validated_de": false,
2471
+ "it": "Distretto: la porzione di territorio dichiarata che tiene ciò che vi sta sopra — siti, siti virtuali, unità topografiche, altri distretti — come un VASSOIO tiene i suoi oggetti («il rapporto fra terreno e resti è quello fra un vassoio e gli oggetti che ci sono sopra», 2017). URBANO (il Foro di Pompei, che tiene templi e monumenti) o RURALE (una villa rustica, che tiene i grafi dei singoli edifici o delle trasformazioni antropiche). DICHIARATO: il suo confine è un'interpretazione di pertinenza, argomentata dai suoi paradati; approssima il luogo reale (il vero fundus che nessuno ha visto intero). Un'UNITÀ, non un gruppo: ha una geometria (un'impronta), un tempo (cambia con la villa: VTU1 nell'epoca 1, VTU2 nella 2) e paradati. Sostituisce UTV / VTU del 2017.",
2472
+ "el": "Περιοχή: το δηλωμένο τμήμα εδάφους που κρατά ό,τι βρίσκεται επάνω του — θέσεις, εικονικές θέσεις, τοπογραφικές μονάδες, άλλες περιοχές — όπως ένας ΔΙΣΚΟΣ κρατά τα αντικείμενά του. ΑΣΤΙΚΗ (η Αγορά της Πομπηίας, με ναούς και μνημεία) ή ΑΓΡΟΤΙΚΗ (μια αγροτική έπαυλη, που κρατά τους γράφους των επιμέρους κτιρίων ή των ανθρωπογενών μετασχηματισμών). ΔΗΛΩΜΕΝΗ: το όριό της είναι ερμηνεία συνάφειας, τεκμηριωμένη από τα παραδεδομένα της· προσεγγίζει τον πραγματικό τόπο (το αληθινό fundus που κανείς δεν είδε ολόκληρο). ΜΟΝΑΔΑ, όχι ομάδα: έχει γεωμετρία (αποτύπωμα), χρόνο (αλλάζει με την έπαυλη: VTU1 στην εποχή 1, VTU2 στη 2) και παραδεδομένα. Αντικαθιστά τα UTV / VTU του 2017.",
2473
+ "he": "מחוז: חלק השטח המוצהר המחזיק את מה שעומד עליו — אתרים, אתרים וירטואליים, יחידות טופוגרפיות, מחוזות אחרים — כמו מגש המחזיק את חפציו. עירוני (הפורום של פומפיי, המחזיק מקדשים ומונומנטים) או כפרי (וילה כפרית, המחזיקה את הגרפים של מבניה או של השינויים האנתרופוגניים). מוצהר: גבולו הוא פרשנות של שייכות, מנומקת בפרה-נתונים שלו; הוא מקרב את המקום הממשי (ה-fundus האמיתי שאיש לא ראה בשלמותו). יחידה, לא קבוצה: יש לו גאומטריה (טביעת שטח), זמן (הוא משתנה עם הווילה: VTU1 בתקופה 1, VTU2 בתקופה 2) ופרה-נתונים. מחליף את UTV / VTU של 2017.",
2474
+ "es": "Distrito: la porción de territorio declarada que sostiene lo que está sobre ella — sitios, sitios virtuales, unidades topográficas, otros distritos — como una BANDEJA sostiene sus objetos. URBANO (el Foro de Pompeya, con templos y monumentos) o RURAL (una villa rústica, con los grafos de sus edificios o de las transformaciones antrópicas). DECLARADO: su límite es una interpretación de pertenencia, argumentada por sus paradatos; aproxima el lugar real (el verdadero fundus que nadie vio entero). Una UNIDAD, no un grupo: tiene una geometría (una huella), un tiempo (cambia con la villa: VTU1 en la época 1, VTU2 en la 2) y paradatos. Sustituye las UTV / VTU de 2017.",
2475
+ "pl": "Dystrykt: zadeklarowana część terytorium, która utrzymuje to, co na niej stoi — stanowiska, stanowiska wirtualne, jednostki topograficzne, inne dystrykty — jak TACA utrzymuje swoje przedmioty. MIEJSKI (Forum w Pompejach, ze świątyniami i pomnikami) lub WIEJSKI (villa rustica, z grafami jej budynków lub przekształceń antropogenicznych). ZADEKLAROWANY: jego granica jest interpretacją przynależności, uzasadnioną paradanymi; przybliża miejsce rzeczywiste (prawdziwe fundus, którego nikt nie widział w całości). JEDNOSTKA, nie grupa: ma geometrię (obrys), czas (zmienia się z willą: VTU1 w epoce 1, VTU2 w 2) i paradane. Zastępuje UTV / VTU z 2017.",
2476
+ "ro": "District: porțiunea de teritoriu declarată care ține ce se află pe ea — situri, situri virtuale, unități topografice, alte districte — cum o TAVĂ își ține obiectele. URBAN (Forul din Pompei, cu temple și monumente) sau RURAL (o villa rustica, cu grafurile clădirilor sau ale transformărilor antropice). DECLARAT: limita lui este o interpretare a apartenenței, argumentată de paradatele lui; aproximează locul real (adevăratul fundus pe care nimeni nu l-a văzut întreg). O UNITATE, nu un grup: are o geometrie (o amprentă), un timp (se schimbă cu vila: VTU1 în epoca 1, VTU2 în 2) și paradate. Înlocuiește UTV / VTU din 2017.",
2477
+ "fr": "District : la portion de territoire déclarée qui porte ce qui s'y trouve — sites, sites virtuels, unités topographiques, autres districts — comme un PLATEAU porte ses objets. URBAIN (le Forum de Pompéi, avec temples et monuments) ou RURAL (une villa rustica, avec les graphes de ses bâtiments ou des transformations anthropiques). DÉCLARÉ : sa limite est une interprétation d'appartenance, argumentée par ses paradonnées ; il approche le lieu réel (le vrai fundus que personne n'a vu en entier). Une UNITÉ, non un groupe : il a une géométrie (une emprise), un temps (il change avec la villa : VTU1 à l'époque 1, VTU2 à la 2) et des paradonnées. Remplace les UTV / VTU de 2017.",
2478
+ "de": "Bezirk: der erklärte Teil des Territoriums, der trägt, was auf ihm steht — Fundstellen, virtuelle Fundstellen, topographische Einheiten, andere Bezirke — wie ein TABLETT seine Gegenstände. STÄDTISCH (das Forum von Pompeji mit Tempeln und Monumenten) oder LÄNDLICH (eine Villa rustica mit den Graphen ihrer Gebäude oder der anthropogenen Veränderungen). ERKLÄRT: seine Grenze ist eine Deutung der Zugehörigkeit, durch seine Paradaten begründet; er nähert sich dem wirklichen Ort (dem echten fundus, den niemand ganz gesehen hat). Eine EINHEIT, keine Gruppe: Er hat eine Geometrie (einen Umriss), eine Zeit (er ändert sich mit der Villa: VTU1 in Epoche 1, VTU2 in 2) und Paradaten. Ersetzt UTV / VTU von 2017."
2479
+ },
2480
+ "label": {
2481
+ "en": "District",
2482
+ "validated_it": false,
2483
+ "validated_el": false,
2484
+ "validated_he": false,
2485
+ "validated_es": false,
2486
+ "validated_pl": false,
2487
+ "validated_ro": false,
2488
+ "validated_fr": false,
2489
+ "validated_de": false,
2490
+ "it": "Distretto",
2491
+ "el": "Περιοχή",
2492
+ "he": "מחוז",
2493
+ "es": "Distrito",
2494
+ "pl": "Dystrykt",
2495
+ "ro": "District",
2496
+ "fr": "District",
2497
+ "de": "Bezirk"
2498
+ }
2339
2499
  }
2340
2500
  },
2341
2501
  "qualia": {
@@ -7619,6 +7779,65 @@
7619
7779
  "fr": "{node} qui énumère {x}",
7620
7780
  "de": "{node}, die {x} aufführt"
7621
7781
  }
7782
+ },
7783
+ "is_in_district": {
7784
+ "label": {
7785
+ "en": "Is in district",
7786
+ "validated_it": false,
7787
+ "validated_el": false,
7788
+ "validated_he": false,
7789
+ "validated_es": false,
7790
+ "validated_pl": false,
7791
+ "validated_ro": false,
7792
+ "validated_fr": false,
7793
+ "validated_de": false,
7794
+ "it": "È nel distretto",
7795
+ "el": "Ανήκει στην περιοχή",
7796
+ "he": "נמצא במחוז",
7797
+ "es": "Está en el distrito",
7798
+ "pl": "Należy do dystryktu",
7799
+ "ro": "Este în districtul",
7800
+ "fr": "Est dans le district",
7801
+ "de": "Liegt im Bezirk"
7802
+ },
7803
+ "ui_phrase_as_source": {
7804
+ "en": "{node} in district {x}",
7805
+ "validated_it": false,
7806
+ "validated_el": false,
7807
+ "validated_he": false,
7808
+ "validated_es": false,
7809
+ "validated_pl": false,
7810
+ "validated_ro": false,
7811
+ "validated_fr": false,
7812
+ "validated_de": false,
7813
+ "it": "{node} nel distretto {x}",
7814
+ "el": "{node} στην περιοχή {x}",
7815
+ "he": "{node} במחוז {x}",
7816
+ "es": "{node} en el distrito {x}",
7817
+ "pl": "{node} w dystrykcie {x}",
7818
+ "ro": "{node} în districtul {x}",
7819
+ "fr": "{node} dans le district {x}",
7820
+ "de": "{node} im Bezirk {x}"
7821
+ },
7822
+ "ui_phrase_as_target": {
7823
+ "en": "{node} holding {x}",
7824
+ "validated_it": false,
7825
+ "validated_el": false,
7826
+ "validated_he": false,
7827
+ "validated_es": false,
7828
+ "validated_pl": false,
7829
+ "validated_ro": false,
7830
+ "validated_fr": false,
7831
+ "validated_de": false,
7832
+ "it": "{node} che tiene {x}",
7833
+ "el": "{node} που περιέχει {x}",
7834
+ "he": "{node} המכיל את {x}",
7835
+ "es": "{node} que contiene {x}",
7836
+ "pl": "{node} obejmujący {x}",
7837
+ "ro": "{node} care cuprinde {x}",
7838
+ "fr": "{node} qui contient {x}",
7839
+ "de": "{node}, der {x} umfasst"
7840
+ }
7622
7841
  }
7623
7842
  },
7624
7843
  "dtc_kinds": {
@@ -47,8 +47,8 @@
47
47
  dcterms:creator "Emanuel Demetrescu" ;
48
48
  dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
49
49
  dcterms:issued "2026-05-23"^^xsd:date ;
50
- owl:versionInfo "1.6.23" ;
51
- 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.23 (2026-10-30, MICRO lab sito Sarmizegetusa, decision D-LG5 of the Landscape Graph): em:VirtualSite, the site supposed from topographic units, traces and sources, without stratigraphy — a named intersection of crm:E89_Propositional_Object and crm:E27_Site on the model of em:VirtualSpecialFind (E89 + E19); the only CRMem term the Landscape Graph asks. Carried by a LocationNodeGroup of level sito with data.virtual (node datamodel 1.6.39). v1.6.22 (2026-10-25, MICRO sub-epoch RDF, decided by E.D.): em:hasSubEpoch becomes rdfs:subPropertyOf crm:P10i_contains — the parent contains its sub-epoch — now that the CRM projection of has_sub_epoch is written the right way round, <sub-epoch> crm:P10_falls_within <parent> (connections 1.6.49, rdf_subject target). v1.6.21 (2026-10-23, MICRO special find e fine dell'unità, part 3, decided by E.D.): the end of a unit is typed. em:ContinuityNode becomes a subclass of crm:E5_Event (was crm:E64_End_of_Existence): its class follows its type — E6 Destruction, E81 Transformation, E80 Part Removal, E9 Move, E64 End of Existence — and E80 and E9 are not ends of existence. Five concepts of the EM vocabulary, crm:E55_Type instances reached by crm:P2_has_type: em:EndOfUnitDestroyed, em:EndOfUnitTransformed, em:EndOfUnitRemoved, em:EndOfUnitRelocated, em:EndOfUnitUnknown (section 5). v1.6.20 (2026-10-23, MICRO special find e fine dell'unità, part 2, decided by E.D.): em:SeriesOfVirtualSpecialFind, the series of Virtual Special Finds (serVSF): the repetition of one equal object, a subclass of em:VirtualSpecialFind like the other series of their unit (section 4). v1.6.19 (2026-10-23, MICRO special find e fine dell'unità, part 1, decided by E.D.): no new term — the labels and comments of em:DisplacedSpecialFind (now «Special Find», defined in positive: movable, documented where it was found), em:ReusedSpecialFind (now «Repositioned Special Find»: fixed, intentionally put back, reuse one case of it) and em:VirtualSpecialFind (two roles: holds the fragments, completes what was restored); the URIs are unchanged. v1.6.18 (2026-10-20, decided by E.D.): no new term — the comment of em:EMGraph, and in hdto_extension.ttl those of hdto:HC9_Study and hdto:HP25_has_created, state how «a graph is a study» (StratiGraph D3.1 §3.3, D3.2 §3.5) is read: one graph corresponds one to one to the study that created it, the two classes stay distinct because E2 and E77 are disjoint, and the graph is not the digital twin (HC2). v1.6.17 (2026-10-17, MICRO le alternative e la trasformazione, decided by E.D.): section 20 — the transformation of a 3D object (a representation model or a semantic shape) in the frame of the study: em:position, em:rotationDegrees, em:scale and em:pivot as rdf:JSON arrays of three numbers, em:rotationOrder and em:upAxis as strings (node datamodel 1.6.31, properties.transform). v1.6.16 (2026-10-10, MICRO le entità spaziotemporali, decided by E.D.): no new term — em:firstAttestedInEpoch and em:survivesInEpoch widen their domain from crmarchaeo:A8_Stratigraphic_Unit to crm:E77_Persistent_Item, because a document (E31) and a person (E21) are placed in the lanes of the matrix like a unit (connections 1.6.38); A8 is an E77, so every triple already emitted stays type-correct. v1.6.15 (2026-10-04, D1, decided by E.D.): section 19 — the level of a version of an asset (em:lodLevel, computed from its chain, written on export), its uses (em:use) and seven measures (em:trisPerM2, em:texelDensityDD, em:textureCount, em:textureSidePx, em:uvRatio, em:reductionFromLod0, em:geometricErrorM). v1.6.14 (2026-10-02, dev30, decided by E.D. on the dev29 report): section 18 — em:retrievedFrom, where a retrieval came from (D1), and em:membersDigest, the digest of a file_set with a predicate of its own (D4; em:digestCovers stays for compatibility). v1.6.13 (2026-10-02, dev29, measured on San Pietro): seven DatatypeProperties, section 17 — how the bytes of a resource are packed and what its digest covers (em:packaging, em:tier, em:digestCovers, em:contentDigest) and what a DTC step declares (em:technique, em:parameters, em:software, the last two rdf:JSON): the round trip em.json → TTL → em.json lost all seven. v1.6.12 (2026-11-01, dev28, decided by E.D. 2026-10-01): no new term — em:authMode admits a third value, 'declared' (an iD typed in a tool's preferences and checked by nobody), with no em:attestedBy. v1.6.11 (2026-10-31, dev27, decided by E.D. 2026-10-01): ten properties. Section 15, several addresses of ONE resource (em:hasAddress to <resource>/address/<i>, em:locator, em:checkedAt, em:reachable) and a dated digest (em:checksumAt); section 16, how the hand of a signature had entered (em:createdVia, em:modifiedVia, em:validatedVia to <node>/auth/<stamp>, em:authMode orcid | node_password, em:attestedBy the StratiGraph node). The language of the content of a resource leaves as dcterms:language: no em: term. v1.6.10 (2026-10-29, MICRO le traduzioni, decided by E.D. 2026-10-01): six DatatypeProperties for the language of the original and its translations (section 14) — em:originalLanguage on any node, which says which literal is the original once translations share its predicate, and em:sourceLanguage, em:translatedField, em:translationMethod, em:sourceDigest, em:reviewRequested on a TranslationNode, which is a plain crm:E33_Linguistic_Object reached by crm:P73_has_translation: CIDOC has the class and the relation, so no em: class is added. v1.6.9 (2026-10-18, MICRO la risorsa e i suoi file): em:ResourceFile, ONE FILE of a resource (node datamodel 1.6.17), a subclass of crmdig:D1_Digital_Object; the resource is composed of its files by crm:P106_is_composed_of (connections has_file, 1.6.30). A distinct URI because a DTC output resource is already typed crmdig:D1, and a file typed only D1 would read back as a resource. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
50
+ owl:versionInfo "1.6.25" ;
51
+ 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.25 (2026-11-06, MICRO-LANDSCAPE-ONTOLOGIA, D-LG4..6 of the Landscape Graph): no new class — two concepts of the EM vocabulary, crm:E55_Type instances reached by crm:P2_has_type, for the kind of a district: em:DistrictUrban, em:DistrictRural (node datamodel 1.6.41, DistrictNode.properties.district_kind). The units of the Landscape Graph are outside CRMem: the topographic unit is a crm:E26_Physical_Feature, its negative a crmsci:S4_Observation, the district a crmgeo:SP6_Declarative_Place; em:VirtualSite stays the only class the Landscape Graph asks. v1.6.24 (2026-11-06, MICRO-GIS-BASE): em:LandscapeSurface, the ground surface of a landscape built from a DEM and an image draped on it (node datamodel 1.6.40, LandscapeSurfaceNode), a subclass of crmdig:D1_Digital_Object, proposed. v1.6.23 (2026-10-30, MICRO lab sito Sarmizegetusa, decision D-LG5 of the Landscape Graph): em:VirtualSite, the site supposed from topographic units, traces and sources, without stratigraphy — a named intersection of crm:E89_Propositional_Object and crm:E27_Site on the model of em:VirtualSpecialFind (E89 + E19); the only CRMem term the Landscape Graph asks. Carried by a LocationNodeGroup of level sito with data.virtual (node datamodel 1.6.39). v1.6.22 (2026-10-25, MICRO sub-epoch RDF, decided by E.D.): em:hasSubEpoch becomes rdfs:subPropertyOf crm:P10i_contains — the parent contains its sub-epoch — now that the CRM projection of has_sub_epoch is written the right way round, <sub-epoch> crm:P10_falls_within <parent> (connections 1.6.49, rdf_subject target). v1.6.21 (2026-10-23, MICRO special find e fine dell'unità, part 3, decided by E.D.): the end of a unit is typed. em:ContinuityNode becomes a subclass of crm:E5_Event (was crm:E64_End_of_Existence): its class follows its type — E6 Destruction, E81 Transformation, E80 Part Removal, E9 Move, E64 End of Existence — and E80 and E9 are not ends of existence. Five concepts of the EM vocabulary, crm:E55_Type instances reached by crm:P2_has_type: em:EndOfUnitDestroyed, em:EndOfUnitTransformed, em:EndOfUnitRemoved, em:EndOfUnitRelocated, em:EndOfUnitUnknown (section 5). v1.6.20 (2026-10-23, MICRO special find e fine dell'unità, part 2, decided by E.D.): em:SeriesOfVirtualSpecialFind, the series of Virtual Special Finds (serVSF): the repetition of one equal object, a subclass of em:VirtualSpecialFind like the other series of their unit (section 4). v1.6.19 (2026-10-23, MICRO special find e fine dell'unità, part 1, decided by E.D.): no new term — the labels and comments of em:DisplacedSpecialFind (now «Special Find», defined in positive: movable, documented where it was found), em:ReusedSpecialFind (now «Repositioned Special Find»: fixed, intentionally put back, reuse one case of it) and em:VirtualSpecialFind (two roles: holds the fragments, completes what was restored); the URIs are unchanged. v1.6.18 (2026-10-20, decided by E.D.): no new term — the comment of em:EMGraph, and in hdto_extension.ttl those of hdto:HC9_Study and hdto:HP25_has_created, state how «a graph is a study» (StratiGraph D3.1 §3.3, D3.2 §3.5) is read: one graph corresponds one to one to the study that created it, the two classes stay distinct because E2 and E77 are disjoint, and the graph is not the digital twin (HC2). v1.6.17 (2026-10-17, MICRO le alternative e la trasformazione, decided by E.D.): section 20 — the transformation of a 3D object (a representation model or a semantic shape) in the frame of the study: em:position, em:rotationDegrees, em:scale and em:pivot as rdf:JSON arrays of three numbers, em:rotationOrder and em:upAxis as strings (node datamodel 1.6.31, properties.transform). v1.6.16 (2026-10-10, MICRO le entità spaziotemporali, decided by E.D.): no new term — em:firstAttestedInEpoch and em:survivesInEpoch widen their domain from crmarchaeo:A8_Stratigraphic_Unit to crm:E77_Persistent_Item, because a document (E31) and a person (E21) are placed in the lanes of the matrix like a unit (connections 1.6.38); A8 is an E77, so every triple already emitted stays type-correct. v1.6.15 (2026-10-04, D1, decided by E.D.): section 19 — the level of a version of an asset (em:lodLevel, computed from its chain, written on export), its uses (em:use) and seven measures (em:trisPerM2, em:texelDensityDD, em:textureCount, em:textureSidePx, em:uvRatio, em:reductionFromLod0, em:geometricErrorM). v1.6.14 (2026-10-02, dev30, decided by E.D. on the dev29 report): section 18 — em:retrievedFrom, where a retrieval came from (D1), and em:membersDigest, the digest of a file_set with a predicate of its own (D4; em:digestCovers stays for compatibility). v1.6.13 (2026-10-02, dev29, measured on San Pietro): seven DatatypeProperties, section 17 — how the bytes of a resource are packed and what its digest covers (em:packaging, em:tier, em:digestCovers, em:contentDigest) and what a DTC step declares (em:technique, em:parameters, em:software, the last two rdf:JSON): the round trip em.json → TTL → em.json lost all seven. v1.6.12 (2026-11-01, dev28, decided by E.D. 2026-10-01): no new term — em:authMode admits a third value, 'declared' (an iD typed in a tool's preferences and checked by nobody), with no em:attestedBy. v1.6.11 (2026-10-31, dev27, decided by E.D. 2026-10-01): ten properties. Section 15, several addresses of ONE resource (em:hasAddress to <resource>/address/<i>, em:locator, em:checkedAt, em:reachable) and a dated digest (em:checksumAt); section 16, how the hand of a signature had entered (em:createdVia, em:modifiedVia, em:validatedVia to <node>/auth/<stamp>, em:authMode orcid | node_password, em:attestedBy the StratiGraph node). The language of the content of a resource leaves as dcterms:language: no em: term. v1.6.10 (2026-10-29, MICRO le traduzioni, decided by E.D. 2026-10-01): six DatatypeProperties for the language of the original and its translations (section 14) — em:originalLanguage on any node, which says which literal is the original once translations share its predicate, and em:sourceLanguage, em:translatedField, em:translationMethod, em:sourceDigest, em:reviewRequested on a TranslationNode, which is a plain crm:E33_Linguistic_Object reached by crm:P73_has_translation: CIDOC has the class and the relation, so no em: class is added. v1.6.9 (2026-10-18, MICRO la risorsa e i suoi file): em:ResourceFile, ONE FILE of a resource (node datamodel 1.6.17), a subclass of crmdig:D1_Digital_Object; the resource is composed of its files by crm:P106_is_composed_of (connections has_file, 1.6.30). A distinct URI because a DTC output resource is already typed crmdig:D1, and a file typed only D1 would read back as a resource. v1.6.2 (2026-09-21, CIDOC repair pass): the eight terms the datamodels cited and this file never defined are declared in section 12; em:NodeGroup and em:ParadataNodeGroup leave the undeclared crm:E78_Collection for crm:E73_Information_Object and crm:E89_Propositional_Object; em:SemanticShape leaves crmgeo:SP5 for crm:E73_Information_Object, provisionally; crmarchaeo:AP11_has_physical_relation becomes AP11_has_physical_relation_to, the name CRMarchaeo has used since 2.0; and em:RepresentationModel says what a representation model IS. v1.6.5 (2026-10-20, MICRO la definizione dell\'unita\'): em:hasDefinition, the DEFINIZIONE of a stratigraphic unit as a subproperty of crm:P2_has_type — declared for the node datamodel 1.6.9 entry StratigraphicNode.properties.definition, not emitted by default (owl:versionInfo was left at 1.6.2 by the 1.6.3/1.6.4 passes and is realigned here). v1.6.8 (2026-10-11, MICRO la geometria per origine): the vertices of a 3D reading (point, line, polyline) are data of the region (node datamodel 1.6.15, AnnotationRegionNode.coords) and leave for RDF as ONE GeoSPARQL 1.1 literal: <region> geo:hasGeometry <region>/geometry, a geo:Geometry with geo:asWKT '<CRS IRI> POINT Z (x y z)' | 'MULTIPOINT Z (...)' | 'LINESTRING Z (...)'^^geo:wktLiteral. WHY GeoSPARQL and not em: terms: the WKT literal is the standard every triplestore with a spatial index reads, and it is the 3D twin of the Media Fragment a 2D region already emits (a string a consumer outside EM can act on); CRMgeo was built to meet GeoSPARQL at exactly this point (SP5 Geometric Place Expression ~ geo:Geometry), and an em:coords literal would say the same thing to nobody. The CRS travels INSIDE the literal, so it cannot be separated from the numbers: em:LocalSceneFrame (declared here) for the scene-local frame, the OGC EPSG IRI for a projected one. em:vertexCount stays (the count of a .glb resource above the threshold). The .glb of a reading is no longer a SemanticShape's rdfs:seeAlso: above coords.inline_max_vertices (500) it is a ResourceNode the region reaches with has_linked_resource (crm:P67_refers_to), and a proxy's .glb is likewise a proxy_model ResourceNode (connections 1.6.28-1.6.29). v1.6.7 (2026-09-30, MICRO la cattura in RDF): no em: term added — the acquisition of a digital object is typed by its KIND. A capture is not a transfer: crmdig:D2_Digitization_Process for a photograph or a laser scan, crmdig:D11_Digital_Measurement_Event for a topographic or GNSS survey, crm:E65_Creation for a field drawing or a recording sheet (made by hand; the file is their copy, so no D7 machine event is asserted); a retrieval (download, local import, URI, ingest) stays crmdig:D12_Data_Transfer_Event. The rule is data (em_visual_rules 1.6.24, dtc_kinds.acquisition.<kind>.mapping). v1.6.6 (2026-10-07, MICRO la misura in RDF): the place of a reading gets its quote and its measure. The quote of a passage reuses W3C Web Annotation (oa:hasSelector -> oa:TextQuoteSelector, oa:exact) — the only standard term for a quote, which has no fragment-string form; its offsets stay the RFC 5147 em:hasSelector 'char=s,e'. The length of a line or polyline reuses CIDOC (crm:P43_has_dimension -> crm:E54_Dimension, P90_has_value xsd:double, P91_has_unit -> a QUDT unit IRI); two em: terms are new, em:vertexCount and em:crs, for what neither vocabulary says. The .glb of a 3D reading is not described here: its URL is the rdfs:seeAlso of the SemanticShape the region reaches with em:hasSemanticShape, and no coordinate enters RDF."@en ;
52
52
  owl:imports <http://www.cidoc-crm.org/cidoc-crm/> ,
53
53
  <http://www.cidoc-crm.org/extensions/crminf/> ,
54
54
  <http://www.cidoc-crm.org/extensions/crmarchaeo/> ,
@@ -318,6 +318,18 @@ em:EndOfUnitUnknown
318
318
  rdfs:label "end of a unit: unknown"@en ;
319
319
  rdfs:comment "The unit ends, and how is not known — the default. A ContinuityNode of this type is a crm:E64_End_of_Existence that crm:P93_took_out_of_existence the unit."@en .
320
320
 
321
+ # The kind of a district of the Landscape Graph (CRMem v1.6.25, node datamodel
322
+ # 1.6.41, DistrictNode.properties.district_kind): a TYPE, not a class.
323
+ em:DistrictUrban
324
+ a crm:E55_Type ;
325
+ rdfs:label "district: urban"@en ;
326
+ rdfs:comment "An urban district: a declared portion of a town that holds monuments and buildings, as the Forum of Pompeii holds its temples. A DistrictNode (a crmgeo:SP6_Declarative_Place) of this type crm:P2_has_type it."@en .
327
+
328
+ em:DistrictRural
329
+ a crm:E55_Type ;
330
+ rdfs:label "district: rural"@en ;
331
+ rdfs:comment "A rural district: a declared portion of countryside that holds a farm, a villa rustica with its fundus, the transformations of the land around it. A DistrictNode (a crmgeo:SP6_Declarative_Place) of this type crm:P2_has_type it."@en .
332
+
321
333
 
322
334
  # ============================================================================
323
335
  # 6. TIME BRANCH — alternative timelines
@@ -744,6 +756,12 @@ em:RegistrationTransform
744
756
  rdfs:subClassOf crm:E73_Information_Object ;
745
757
  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 .
746
758
 
759
+ em:LandscapeSurface
760
+ a owl:Class ;
761
+ rdfs:label "Landscape Surface"@en ;
762
+ rdfs:subClassOf crmdig:D1_Digital_Object ;
763
+ rdfs:comment "The ground surface of a landscape: a DEM drawn as a mesh and an image (an orthophoto) draped on it, two GIS layers the surface refers to. A GEOMETRY of a place, not its identity (the place is an E53 reached by P53 through is_in_location) and not the representation of a stratigraphic unit (em:StratigraphicRepresentation). Proposed: D1 is the safe class for a digital object made from two layers; crmgeo:SP6_Declarative_Place is the candidate when the geometry of places is modelled in CRMgeo. Maps to: Python LandscapeSurfaceNode (node_type='landscape_surface')."@en .
764
+
747
765
  em:ResourceFile
748
766
  a owl:Class ;
749
767
  rdfs:label "Resource File"@en ;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "formal_language": "EM",
3
- "version": "1.6.41",
3
+ "version": "1.6.43",
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.43": "THE UNITS OF THE LANDSCAPE GRAPH, AS A DRAFT (MICRO-LANDSCAPE-ONTOLOGIA, 6 Nov 2026). node_styles.UT, UT0, district (keyed by node_type, so a client finds them without an alias): the TopographicUnitNode, NegativeTopographicUnitNode and DistrictNode of nodes 1.6.41, in an earth brown #8B5A2B of their own (the scale of distance, not the red of the contact scale). The observed UT is a hexagon with the thick solid frame of an observed unit; the UT0 (−UT, an absence observed) the same hexagon with a dashed frame and a white fill; the declared district a dotted rounded rectangle, the tray; edge_style.is_in_district dotted in the same brown. Their icons are drafts in src/2D/bozze (UT.svg, UT0.svg, district.svg, marked BOZZA); no 2d_glyphs entry and no material yet: the colours of the Landscape Matrix are E.D.'s (decisioni/landscape-graph-semantica §10, «i colori»), these are placeholders marked draft.",
13
+ "1.6.42": "THE GROUND OF THE LANDSCAPE (MICRO-GIS-BASE, 6 Nov 2026). node_styles.LSF: the LandscapeSurfaceNode (nodes 1.6.40), in the #FF6600 reference family of GEO, GCP and RGT — a geometry placed in the world — with its own glyph src/2D/landscape_surface.svg (a ground as a mesh, two contour lines).",
12
14
  "1.6.41": "THE SITE HAS A GLYPH, AS A DRAFT (MICRO lab sito Sarmizegetusa, 30 Oct 2026). 2d_render_glyph_types.data_glyphs += site: a LocationNodeGroup of level sito (the site of D-LG4, node datamodel 1.6.39) is drawn with src/2D/bozze/site.svg — a footprint in plan (a closed outline on a ground hatch) with a survey point inside, in the square plate of the HDT-O layer (a node of the cultural context; the site is the place the studies took place at). Drawn by Claude and marked BOZZA, so its 2d_glyphs entry carries draft: true: the mark is E.D.'s to approve (move it to src/2D/site.svg, drop the marker, rerun glyphs_from_svg --write). A virtual site (data.virtual) uses the same glyph for now. node_styles.LocationNodeGroup gains level_modifiers.sito: the toponym grey border, thicker (2.0), so a site reads as the strongest place of its chain where it is drawn as a folder. ADDITIVE.",
13
15
  "1.6.40": "A CONTAINER WITHOUT MESHES LIES IN ITS OWN EPOCH (MICRO tileset, shift e epoche, 25 Oct 2026). alternatives.container_epochs: when a container has no member, or its members have no epoch, its epochs are its own — an epoch reaching it, or the epochs of the Document that wraps it (has_first_epoch / survive_in_epoch), as EM Tools' «Epochs of this set»; its alternative (a tileset of the whole survey) is then seen in that epoch. alternatives.choice: with an alternative and no member, the alternative is lit whatever the uses. Reference: s3dgraphy.resources.alternatives (container_own_epochs, choose_alternative); case in alternative_cases.json 1.1.0.",
14
16
  "1.6.39": "THE SERIES OF VIRTUAL SPECIAL FINDS (MICRO special find e fine dell'unità, part 2, 23 Oct 2026). node_styles.serVSF: the series rule (an ellipse) with the colours of the VSF (border #B19F61, fill #CCCCCC, its material), and the VSF's own drawings (src/2D/VSF.svg, src/2D/VSF.png, src/3D/VSF.glb) until E.D. approves a glyph of its own — a proposal for EMStudio is in the report. The RSF comment says «Repositioned Special Find» (node datamodel 1.6.34).",
@@ -6258,6 +6260,56 @@
6258
6260
  },
6259
6261
  "label_position": "over"
6260
6262
  },
6263
+ "LSF": {
6264
+ "_comment": "Landscape surface — the ground of a landscape: a DEM drawn as a mesh with an image draped on it (MICRO-GIS-BASE). In the #FF6600 family of the georeference (GEO, GCP, RGT): it is a geometry placed in the world, not a unit nor a document.",
6265
+ "2d_file_vect": "src/2D/landscape_surface.svg",
6266
+ "style": {
6267
+ "border_color": "#FF6600",
6268
+ "fill_color": "#FFFFFF",
6269
+ "border_style": "solid",
6270
+ "shape": "rectangle"
6271
+ },
6272
+ "label_position": "over"
6273
+ },
6274
+ "UT": {
6275
+ "_comment": "BOZZA (MICRO-LANDSCAPE-ONTOLOGIA): the topographic unit, observed — a hexagon with the thick solid frame of an observed unit, in the earth brown of the scale of distance. Colours to be decided by E.D.",
6276
+ "draft": true,
6277
+ "2d_file_vect": "src/2D/bozze/UT.svg",
6278
+ "style": {
6279
+ "border_color": "#8B5A2B",
6280
+ "fill_color": "#F0F0F0",
6281
+ "border_style": "solid",
6282
+ "shape": "hexagon",
6283
+ "border_width": 4
6284
+ },
6285
+ "label_position": "over"
6286
+ },
6287
+ "UT0": {
6288
+ "_comment": "BOZZA (MICRO-LANDSCAPE-ONTOLOGIA): −UT, the area surveyed with nothing found — the UT's hexagon, dashed and white: an observed absence. Colours to be decided by E.D.",
6289
+ "draft": true,
6290
+ "2d_file_vect": "src/2D/bozze/UT0.svg",
6291
+ "style": {
6292
+ "border_color": "#8B5A2B",
6293
+ "fill_color": "#FFFFFF",
6294
+ "border_style": "dashed",
6295
+ "shape": "hexagon",
6296
+ "border_width": 3
6297
+ },
6298
+ "label_position": "over"
6299
+ },
6300
+ "district": {
6301
+ "_comment": "BOZZA (MICRO-LANDSCAPE-ONTOLOGIA): the district, declared — a dotted rounded rectangle, the tray that holds sites and units. A unit, not a group folder. Colours to be decided by E.D.",
6302
+ "draft": true,
6303
+ "2d_file_vect": "src/2D/bozze/district.svg",
6304
+ "style": {
6305
+ "border_color": "#8B5A2B",
6306
+ "fill_color": "#FAF6F0",
6307
+ "border_style": "dotted",
6308
+ "shape": "rounded_rectangle",
6309
+ "border_width": 3
6310
+ },
6311
+ "label_position": "over"
6312
+ },
6261
6313
  "GEO": {
6262
6314
  "file_3d": "src/3D/geo.glb",
6263
6315
  "2d_file_vect": "src/2D/geo_position.svg",
@@ -7132,6 +7184,15 @@
7132
7184
  },
7133
7185
  "label": "Included in Timebranch"
7134
7186
  },
7187
+ "is_in_district": {
7188
+ "_comment": "BOZZA (MICRO-LANDSCAPE-ONTOLOGIA, 1.6.43): a site or a unit of the landscape in its district — pertinence by interpretation, in the earth brown of the district, dotted like the district's frame.",
7189
+ "style": {
7190
+ "color": "#8B5A2B",
7191
+ "line_style": "dotted",
7192
+ "width": 2
7193
+ },
7194
+ "label": "Is in district"
7195
+ },
7135
7196
  "is_in_representation_model_group": {
7136
7197
  "_comment": "Membership of a representation model in an RM container (EM16-RMNG). Dashed like the other membership edges that are TAGS rather than structure (has_representation_model, has_property), and carrying the RM family's #FF6600 so the line reads as part of the same family as the group's title-tab. NOTE: is_in_functional_unit has no entry in this block — a pre-existing gap, reported and not fixed here.",
7137
7198
  "style": {
@@ -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.37",
3
+ "s3Dgraphy_data_model_version": "1.6.41",
4
4
  "node_types": {
5
5
  "ActivityNodeGroup": {
6
6
  "parent": "GroupNode",
@@ -52,6 +52,11 @@
52
52
  "node_type": "dtc_process",
53
53
  "description": "DTC processing step (ECHOES DTC profile). ``dtc_kind`` ∈ the ``process``"
54
54
  },
55
+ "DistrictNode": {
56
+ "parent": "LandscapeUnitNode",
57
+ "node_type": "district",
58
+ "description": "A district — the declared portion of territory that holds sites,"
59
+ },
55
60
  "DocumentNode": {
56
61
  "parent": "ParadataNode",
57
62
  "node_type": "document",
@@ -117,6 +122,16 @@
117
122
  "node_type": "horizon",
118
123
  "description": "One span of a periodization: label, start, end, colour, order."
119
124
  },
125
+ "LandscapeSurfaceNode": {
126
+ "parent": "Node",
127
+ "node_type": "landscape_surface",
128
+ "description": ""
129
+ },
130
+ "LandscapeUnitNode": {
131
+ "parent": "Node",
132
+ "node_type": null,
133
+ "description": "The common parent of the units of the Landscape Graph — what an edge"
134
+ },
120
135
  "LicenseNode": {
121
136
  "parent": "Node",
122
137
  "node_type": "license",
@@ -137,6 +152,11 @@
137
152
  "node_type": "USN",
138
153
  "description": "Negative Stratigraphic Unit, displayed ``US-`` (US negativa)."
139
154
  },
155
+ "NegativeTopographicUnitNode": {
156
+ "parent": "LandscapeUnitNode",
157
+ "node_type": "UT0",
158
+ "description": "UT0 (−UT) — an area surveyed where nothing was found. The conclusion"
159
+ },
140
160
  "NeutralStratigraphicUnit": {
141
161
  "parent": "StratigraphicNode",
142
162
  "node_type": "USNt",
@@ -287,6 +307,11 @@
287
307
  "node_type": "TimeBranchNodeGroup",
288
308
  "description": "Group node to aggregate all elements belonging to a time branch. Two TB can be connected by a \"contrasts_with\" edge."
289
309
  },
310
+ "TopographicUnitNode": {
311
+ "parent": "LandscapeUnitNode",
312
+ "node_type": "UT",
313
+ "description": "UT — a topographic unit: what a survey observes on the ground."
314
+ },
290
315
  "TransformationStratigraphicUnit": {
291
316
  "parent": "StratigraphicNode",
292
317
  "node_type": "TSU",