esmf-aspect-model-loader 2.3.0__tar.gz → 2.3.2__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 (418) hide show
  1. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/PKG-INFO +13 -7
  2. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/README.md +6 -3
  3. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/adaptive_graph.py +13 -2
  4. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/local_file.py +2 -2
  5. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/base.py +10 -0
  6. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/constants.py +1 -0
  7. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/pyproject.toml +7 -3
  8. esmf_aspect_model_loader-2.3.2/tests/integration/aspect_model_loader/test_dependency_resolution.py +112 -0
  9. {esmf_aspect_model_loader-2.3.0/tests_invalid/resources → esmf_aspect_model_loader-2.3.2/tests/integration/resources/org.eclipse.esmf.samm.test/1.0.0}/trait_missing_base_characteristic.ttl +1 -1
  10. {esmf_aspect_model_loader-2.3.0/tests_invalid/resources → esmf_aspect_model_loader-2.3.2/tests/integration/resources/org.eclipse.esmf.samm.test/1.0.0}/trait_missing_constraint.ttl +1 -1
  11. esmf_aspect_model_loader-2.3.2/tests/integration/test_adaptive_graph.py +78 -0
  12. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/test_cli_functions.py +63 -23
  13. {esmf_aspect_model_loader-2.3.0/tests_invalid → esmf_aspect_model_loader-2.3.2/tests/integration}/test_constraints.py +5 -5
  14. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/test_base.py +8 -0
  15. esmf_aspect_model_loader-2.3.2/tests/unit/test_adaptive_graph.py +300 -0
  16. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tox.ini +7 -4
  17. esmf_aspect_model_loader-2.3.2/uv.lock +981 -0
  18. esmf_aspect_model_loader-2.3.0/tests/integration/test_adaptive_graph.py +0 -71
  19. esmf_aspect_model_loader-2.3.0/tests/unit/test_adaptive_graph.py +0 -205
  20. esmf_aspect_model_loader-2.3.0/tests_invalid/__init__.py +0 -10
  21. esmf_aspect_model_loader-2.3.0/uv.lock +0 -939
  22. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/.gitignore +0 -0
  23. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/__init__.py +0 -0
  24. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/README.md +0 -0
  25. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/__init__.py +0 -0
  26. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/aspect.py +0 -0
  27. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/base.py +0 -0
  28. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/bound_definition.py +0 -0
  29. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/cache_strategy.py +0 -0
  30. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/__init__.py +0 -0
  31. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/characteristic.py +0 -0
  32. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/code.py +0 -0
  33. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/__init__.py +0 -0
  34. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/collection.py +0 -0
  35. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/list.py +0 -0
  36. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/set.py +0 -0
  37. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/sorted_set.py +0 -0
  38. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/time_series.py +0 -0
  39. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/enumeration.py +0 -0
  40. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/__init__.py +0 -0
  41. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/duration.py +0 -0
  42. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/measurement.py +0 -0
  43. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/quantifiable.py +0 -0
  44. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/single_entity.py +0 -0
  45. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/state.py +0 -0
  46. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/structured_value.py +0 -0
  47. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/trait.py +0 -0
  48. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/__init__.py +0 -0
  49. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/constraint.py +0 -0
  50. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/encoding_constraint.py +0 -0
  51. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/fixed_point_constraint.py +0 -0
  52. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/language_constraint.py +0 -0
  53. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/length_constraint.py +0 -0
  54. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/locale_constraint.py +0 -0
  55. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/range_constraint.py +0 -0
  56. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/regular_expression_constraint.py +0 -0
  57. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/__init__.py +0 -0
  58. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/abstract_entity.py +0 -0
  59. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/complex_type.py +0 -0
  60. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/data_type.py +0 -0
  61. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/entity.py +0 -0
  62. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/scalar.py +0 -0
  63. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/either.py +0 -0
  64. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/event.py +0 -0
  65. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/has_properties.py +0 -0
  66. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/has_urn.py +0 -0
  67. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/is_described.py +0 -0
  68. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/namespace.py +0 -0
  69. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/operation.py +0 -0
  70. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/property.py +0 -0
  71. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/property_func.py +0 -0
  72. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/quantity_kind.py +0 -0
  73. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/structure_element.py +0 -0
  74. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/unit.py +0 -0
  75. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/value.py +0 -0
  76. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/constants.py +0 -0
  77. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/README.md +0 -0
  78. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/__init__.py +0 -0
  79. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/base_impl.py +0 -0
  80. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/__init__.py +0 -0
  81. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/__init__.py +0 -0
  82. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_collection.py +0 -0
  83. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_list.py +0 -0
  84. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_set.py +0 -0
  85. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_sorted_set.py +0 -0
  86. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_time_series.py +0 -0
  87. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_characteristic.py +0 -0
  88. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_code.py +0 -0
  89. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_enumeration.py +0 -0
  90. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_single_entity.py +0 -0
  91. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_state.py +0 -0
  92. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_structured_value.py +0 -0
  93. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_trait.py +0 -0
  94. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/__init__.py +0 -0
  95. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_duration.py +0 -0
  96. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_measurement.py +0 -0
  97. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_quantifiable.py +0 -0
  98. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/__init__.py +0 -0
  99. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_constraint.py +0 -0
  100. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_encoding_constraint.py +0 -0
  101. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_fixed_point_constraint.py +0 -0
  102. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_language_constraint.py +0 -0
  103. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_length_constraint.py +0 -0
  104. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_locale_constraint.py +0 -0
  105. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_range_constraint.py +0 -0
  106. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_regular_expression_constraint.py +0 -0
  107. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/__init__.py +0 -0
  108. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_abstract_entity.py +0 -0
  109. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_complex_type.py +0 -0
  110. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_data_type.py +0 -0
  111. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_entity.py +0 -0
  112. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_scalar.py +0 -0
  113. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_aspect.py +0 -0
  114. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_either.py +0 -0
  115. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_event.py +0 -0
  116. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_namespace.py +0 -0
  117. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_operation.py +0 -0
  118. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_property.py +0 -0
  119. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_quantity_kind.py +0 -0
  120. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_unit.py +0 -0
  121. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_value.py +0 -0
  122. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/README.md +0 -0
  123. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/__init__.py +0 -0
  124. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/default_element_cache.py +0 -0
  125. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/__init__.py +0 -0
  126. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/abstract_entity_instantiator.py +0 -0
  127. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/abstract_property_instantiator.py +0 -0
  128. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/aspect_instantiator.py +0 -0
  129. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/characteristic_instantiator.py +0 -0
  130. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/code_instantiator.py +0 -0
  131. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/collection_instantiator.py +0 -0
  132. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/complex_type_instantiator.py +0 -0
  133. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/datatype_instantiator.py +0 -0
  134. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/duration_instantiator.py +0 -0
  135. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/either_instantiator.py +0 -0
  136. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/encoding_constraint_instantiator.py +0 -0
  137. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/entity_instantiator.py +0 -0
  138. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/enumeration_instantiator.py +0 -0
  139. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/event_instantiator.py +0 -0
  140. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/fixed_point_constraint_instantiator.py +0 -0
  141. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/language_constraint_instantiator.py +0 -0
  142. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/length_constraint_instantiator.py +0 -0
  143. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/list_instantiator.py +0 -0
  144. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/locale_constraint_instantiator.py +0 -0
  145. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/measurement_instantiator.py +0 -0
  146. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/namespace_instantiator.py +0 -0
  147. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/operation_instantiator.py +0 -0
  148. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/property_instantiator.py +0 -0
  149. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/quantifiable_instantiator.py +0 -0
  150. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/quantity_kind_instantiator.py +0 -0
  151. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/range_constraint_instantiator.py +0 -0
  152. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/regular_expression_constraint_instantiator.py +0 -0
  153. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/scalar_instantiator.py +0 -0
  154. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/set_instantiator.py +0 -0
  155. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/single_entity_instantiator.py +0 -0
  156. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/sorted_set_instantiator.py +0 -0
  157. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/state_instantiator.py +0 -0
  158. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/structured_value_instantiator.py +0 -0
  159. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/time_series_instantiator.py +0 -0
  160. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/trait_instantiator.py +0 -0
  161. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/unit_instantiator.py +0 -0
  162. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/value_instantiator.py +0 -0
  163. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator_base.py +0 -0
  164. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/meta_model_base_attributes.py +0 -0
  165. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/model_element_factory.py +0 -0
  166. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/rdf_helper.py +0 -0
  167. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/samm_graph.py +0 -0
  168. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/README.md +0 -0
  169. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/__init__.py +0 -0
  170. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/base.py +0 -0
  171. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/data_string.py +0 -0
  172. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/handler.py +0 -0
  173. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/meta_model.py +0 -0
  174. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-definitions.ttl +0 -0
  175. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-instances.ttl +0 -0
  176. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-shapes.ttl +0 -0
  177. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-validations.js +0 -0
  178. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-definitions.ttl +0 -0
  179. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-instances.ttl +0 -0
  180. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-shapes.ttl +0 -0
  181. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-validations.js +0 -0
  182. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-definitions.ttl +0 -0
  183. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-instances.ttl +0 -0
  184. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-shapes.ttl +0 -0
  185. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-validations.js +0 -0
  186. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-definitions.ttl +0 -0
  187. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-instances.ttl +0 -0
  188. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-shapes.ttl +0 -0
  189. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-validations.js +0 -0
  190. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/FileResource.ttl +0 -0
  191. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/Point3d.ttl +0 -0
  192. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/TimeSeriesEntity.ttl +0 -0
  193. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/FileResource.ttl +0 -0
  194. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/Point3d.ttl +0 -0
  195. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/TimeSeriesEntity.ttl +0 -0
  196. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/FileResource.ttl +0 -0
  197. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/Point3d.ttl +0 -0
  198. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/TimeSeriesEntity.ttl +0 -0
  199. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/FileResource.ttl +0 -0
  200. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Point3d.ttl +0 -0
  201. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Quantity.ttl +0 -0
  202. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/TimeSeriesEntity.ttl +0 -0
  203. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-definitions.ttl +0 -0
  204. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-shapes.ttl +0 -0
  205. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/prefix-declarations.ttl +0 -0
  206. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/type-conversions.ttl +0 -0
  207. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-definitions.ttl +0 -0
  208. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-shapes.ttl +0 -0
  209. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/prefix-declarations.ttl +0 -0
  210. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/type-conversions.ttl +0 -0
  211. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-definitions.ttl +0 -0
  212. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-shapes.ttl +0 -0
  213. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/prefix-declarations.ttl +0 -0
  214. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/type-conversions.ttl +0 -0
  215. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-definitions.ttl +0 -0
  216. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-shapes.ttl +0 -0
  217. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/prefix-declarations.ttl +0 -0
  218. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/type-conversions.ttl +0 -0
  219. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/scripts/language-registry.js +0 -0
  220. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/1.0.0/units.ttl +0 -0
  221. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.0.0/units.ttl +0 -0
  222. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.1.0/units.ttl +0 -0
  223. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.2.0/units.ttl +0 -0
  224. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/__init__.py +0 -0
  225. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/download.py +0 -0
  226. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_meta_model.py +0 -0
  227. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/utils.py +0 -0
  228. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/__init__.py +0 -0
  229. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/constants.py +0 -0
  230. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/namespace.py +0 -0
  231. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/samm.py +0 -0
  232. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/sammc.py +0 -0
  233. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/samme.py +0 -0
  234. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/unit.py +0 -0
  235. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/__init__.py +0 -0
  236. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/constants.py +0 -0
  237. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/download_samm_cli.py +0 -0
  238. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/download_test_models.py +0 -0
  239. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/__init__.py +0 -0
  240. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/download_samm_branch.py +0 -0
  241. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/download_samm_release.py +0 -0
  242. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/github_file.py +0 -0
  243. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/github_folder.py +0 -0
  244. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/__init__.py +0 -0
  245. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/__init__.py +0 -0
  246. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/__init__.py +0 -0
  247. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/java_models/__init__.py +0 -0
  248. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/java_models/test_loading_aspects.py +0 -0
  249. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithBlankNode.ttl +0 -0
  250. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCode.ttl +0 -0
  251. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollection.ttl +0 -0
  252. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollectionWithElementCharacteristic.ttl +0 -0
  253. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithDuration.ttl +0 -0
  254. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithList.ttl +0 -0
  255. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithMeasurement.ttl +0 -0
  256. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithQuantifiableAndUnit.ttl +0 -0
  257. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSet.ttl +0 -0
  258. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSimpleEnum.ttl +0 -0
  259. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSortedSet.ttl +0 -0
  260. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithState.ttl +0 -0
  261. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithStructuredValue.ttl +0 -0
  262. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithConstrainedCollection.ttl +0 -0
  263. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithEncodingConstraint.ttl +0 -0
  264. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithFixedPoint.ttl +0 -0
  265. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLanguageConstraint.ttl +0 -0
  266. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLengthConstraint.ttl +0 -0
  267. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLocaleConstraint.ttl +0 -0
  268. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleConstraints.ttl +0 -0
  269. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleOneValueConstraints.ttl +0 -0
  270. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraint.ttl +0 -0
  271. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraintInclBoundDefinitionProperties.ttl +0 -0
  272. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRegularExpressionConstraint.ttl +0 -0
  273. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntity.ttl +0 -0
  274. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntityMultipleAttributes.ttl +0 -0
  275. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyBlankNode.ttl +0 -0
  276. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAbstractEntities.ttl +0 -0
  277. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAttributes.ttl +0 -0
  278. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntity.ttl +0 -0
  279. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityEnum.ttl +0 -0
  280. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityExtendingFileResource.ttl +0 -0
  281. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithFileResourceEntity.ttl +0 -0
  282. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleAbstractEntitiesMultipleAttributes.ttl +0 -0
  283. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleEntitiesSameExtend.ttl +0 -0
  284. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultiplePropertiesSameExtend.ttl +0 -0
  285. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithPoint3d.ttl +0 -0
  286. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeries.ttl +0 -0
  287. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeriesWithComplexType.ttl +0 -0
  288. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithUnusedExtendingEntity.ttl +0 -0
  289. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event.ttl +0 -0
  290. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event_with_parameters.ttl +0 -0
  291. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_multiple_event.ttl +0 -0
  292. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Aspect.ttl +0 -0
  293. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithDifferentPayloadNames.ttl +0 -0
  294. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithPayloadName.ttl +0 -0
  295. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithEither.ttl +0 -0
  296. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithExtendingPropertyWithPayloadName.ttl +0 -0
  297. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithMultipleAttributes.ttl +0 -0
  298. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperation.ttl +0 -0
  299. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperationNoOutput.ttl +0 -0
  300. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOptionalPropertyWithPayloadName.ttl +0 -0
  301. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperties.ttl +0 -0
  302. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperty.ttl +0 -0
  303. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyMultipleReferences.ttl +0 -0
  304. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithAllBaseAttributes.ttl +0 -0
  305. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithPayloadName.ttl +0 -0
  306. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Movement.ttl +0 -0
  307. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductType_shared.ttl +0 -0
  308. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductTypes.ttl +0 -0
  309. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/AspectWithReferences.ttl +0 -0
  310. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/Part_shared.ttl +0 -0
  311. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/AspectWithReferences.ttl +0 -0
  312. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/Part_shared.ttl +0 -0
  313. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.1.0/type_shared.ttl +0 -0
  314. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.2.0/type_shared.ttl +0 -0
  315. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_aspect_functionality.py +0 -0
  316. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_characteristics.py +0 -0
  317. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_constraints.py +0 -0
  318. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_entities.py +0 -0
  319. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_event.py +0 -0
  320. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_general.py +0 -0
  321. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_resolve_elements_referencies.py +0 -0
  322. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_subclasses.py +0 -0
  323. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_upgrade_aspects.py +0 -0
  324. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_vocabulary.py +0 -0
  325. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/resources/org.eclipse.esmf.test.general/2.2.0/SampleAspect.ttl +0 -0
  326. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/__init__.py +0 -0
  327. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/__init__.py +0 -0
  328. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/__init__.py +0 -0
  329. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_abstract_entity.py +0 -0
  330. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_complex_type.py +0 -0
  331. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_data_type.py +0 -0
  332. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_scalar.py +0 -0
  333. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_aspect.py +0 -0
  334. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_base.py +0 -0
  335. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_property.py +0 -0
  336. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_property_func.py +0 -0
  337. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/__init__.py +0 -0
  338. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/__init__.py +0 -0
  339. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/collection/__init__.py +0 -0
  340. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/collection/test_collection.py +0 -0
  341. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/quantifiable/__init__.py +0 -0
  342. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/quantifiable/test_quantifiable.py +0 -0
  343. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_characteristic.py +0 -0
  344. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_enumeration.py +0 -0
  345. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_state.py +0 -0
  346. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_structured_value.py +0 -0
  347. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_trait.py +0 -0
  348. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/__init__.py +0 -0
  349. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_encoding_constraint.py +0 -0
  350. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_fixed_point_constraint.py +0 -0
  351. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_language_constraint.py +0 -0
  352. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_length_constraint.py +0 -0
  353. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_locale_constraint.py +0 -0
  354. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_range_constraint.py +0 -0
  355. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_regular_expression_constraint.py +0 -0
  356. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/__init__.py +0 -0
  357. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_abstract_entity.py +0 -0
  358. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_complex_type.py +0 -0
  359. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_datatype.py +0 -0
  360. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_scalar.py +0 -0
  361. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_aspect.py +0 -0
  362. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_base_impl.py +0 -0
  363. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_either.py +0 -0
  364. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_event.py +0 -0
  365. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_operation.py +0 -0
  366. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_property.py +0 -0
  367. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_unit.py +0 -0
  368. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_value.py +0 -0
  369. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/__init__.py +0 -0
  370. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/__init__.py +0 -0
  371. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_abstract_entity_instantiator.py +0 -0
  372. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_abstract_property_instantiator.py +0 -0
  373. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_aspect_instantiator.py +0 -0
  374. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_characteristic_instantiator.py +0 -0
  375. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_code_instantiator.py +0 -0
  376. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_complex_type_instantiator.py +0 -0
  377. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_datatype_instantiator.py +0 -0
  378. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_duration_instantiator.py +0 -0
  379. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_either_instantiator.py +0 -0
  380. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_encoding_constraint_instantiator.py +0 -0
  381. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_entity_instantiator.py +0 -0
  382. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_enumeration_instantiator.py +0 -0
  383. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_event_instantiator.py +0 -0
  384. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_fixed_point_constraint_instantiator.py +0 -0
  385. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_language_constraint_instantiator.py +0 -0
  386. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_length_constraint_instantiator.py +0 -0
  387. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_list_instantiator.py +0 -0
  388. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_locale_constraint_instantiator.py +0 -0
  389. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_measurement_instantiator.py +0 -0
  390. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_operation_instantiator.py +0 -0
  391. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_property_instantiator.py +0 -0
  392. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_quantifiable_instantiator.py +0 -0
  393. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_range_constraint_instantiator.py +0 -0
  394. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_regular_expression_constraint_instantiator.py +0 -0
  395. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_scalar_instantiator.py +0 -0
  396. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_set_instantiator.py +0 -0
  397. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_single_entity_instantiator.py +0 -0
  398. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_sorted_set_instantiator.py +0 -0
  399. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_state_instantiator.py +0 -0
  400. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_structured_value_instantiator.py +0 -0
  401. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_time_series_instantiator.py +0 -0
  402. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_trait_instantiator.py +0 -0
  403. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_unit_instantiator.py +0 -0
  404. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_default_element_cache.py +0 -0
  405. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_instantiator_base.py +0 -0
  406. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_meta_model_base_attributes.py +0 -0
  407. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_model_element_factory.py +0 -0
  408. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_samm_graph.py +0 -0
  409. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/__init__.py +0 -0
  410. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_base.py +0 -0
  411. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_data_string.py +0 -0
  412. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_handler.py +0 -0
  413. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_local_file.py +0 -0
  414. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_meta_model.py +0 -0
  415. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/__init__.py +0 -0
  416. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/test_download.py +0 -0
  417. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/test_samm_meta_model.py +0 -0
  418. {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: esmf-aspect-model-loader
3
- Version: 2.3.0
3
+ Version: 2.3.2
4
4
  Summary: Load Aspect Models based on the Semantic Aspect Meta Model
5
5
  Project-URL: Homepage, https://projects.eclipse.org/projects/dt.esmf
6
6
  Project-URL: Repository, https://github.com/eclipse-esmf/esmf-sdk-py-aspect-model-loader
@@ -11,8 +11,11 @@ License-Expression: MPL-2.0
11
11
  Keywords: aspect,digital twin,esmf,idta,model loader,samm,semantic api,semantics
12
12
  Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.10
15
- Requires-Python: <4.0,>=3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Requires-Python: <4.0,>=3.11
16
19
  Requires-Dist: rdflib==7.6.0
17
20
  Requires-Dist: requests==2.34.2
18
21
  Description-Content-Type: text/markdown
@@ -213,7 +216,7 @@ is located.
213
216
  `tox` is used for the tests automation purpose. There are two environments with different purposes and tests can
214
217
  be running with the tox:
215
218
  - pep8: static code checks (PEP8 style) with MyPy and Black
216
- - py310: unit and integration tests
219
+ - py311, py312, py313 and py314: unit and integration tests
217
220
 
218
221
  ### tox-uv plugin
219
222
 
@@ -225,16 +228,19 @@ The two environments use the plugin differently (see [tox.ini](tox.ini)):
225
228
  - `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
226
229
  pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
227
230
  versions.
228
- - `py310` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
231
+ - `py311` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
229
232
  `commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
230
233
 
231
234
  ```console
232
235
  # run all checks use the next command
233
236
  uv run tox
234
237
 
238
+ # run all checks in parallel use the next command
239
+ uv run tox run-parallel
240
+
235
241
  # run only pep8 checks
236
242
  uv run tox -e pep8
237
243
 
238
244
  # run tests
239
- uv run tox -e py310
245
+ uv run tox -e py311
240
246
  ```
@@ -194,7 +194,7 @@ is located.
194
194
  `tox` is used for the tests automation purpose. There are two environments with different purposes and tests can
195
195
  be running with the tox:
196
196
  - pep8: static code checks (PEP8 style) with MyPy and Black
197
- - py310: unit and integration tests
197
+ - py311, py312, py313 and py314: unit and integration tests
198
198
 
199
199
  ### tox-uv plugin
200
200
 
@@ -206,16 +206,19 @@ The two environments use the plugin differently (see [tox.ini](tox.ini)):
206
206
  - `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
207
207
  pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
208
208
  versions.
209
- - `py310` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
209
+ - `py311` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
210
210
  `commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
211
211
 
212
212
  ```console
213
213
  # run all checks use the next command
214
214
  uv run tox
215
215
 
216
+ # run all checks in parallel use the next command
217
+ uv run tox run-parallel
218
+
216
219
  # run only pep8 checks
217
220
  uv run tox -e pep8
218
221
 
219
222
  # run tests
220
- uv run tox -e py310
223
+ uv run tox -e py311
221
224
  ```
@@ -14,26 +14,37 @@ from esmf_aspect_meta_model_python.samm_cli import SammCli
14
14
  class AdaptiveGraph(Graph): # TODO: avoid double parsing when an upgrade is not performed
15
15
  """An RDF graph that can adaptively upgrade SAMM files using the SAMM CLI."""
16
16
 
17
- _samm_cli = SammCli()
17
+ _samm_cli = None # Initialize as None
18
18
 
19
19
  def __init__(self, samm_version: str = SAMM_VERSION, *args, **kwargs) -> None:
20
+ """Initialize the graph with a target SAMM version used to detect and trigger upgrades."""
20
21
  super().__init__(*args, **kwargs)
21
22
 
22
23
  self._samm_version = samm_version
23
24
 
25
+ @classmethod
26
+ def _get_samm_cli(cls) -> SammCli:
27
+ """Get or create the SammCli instance (lazy initialization)."""
28
+ if cls._samm_cli is None:
29
+ cls._samm_cli = SammCli()
30
+
31
+ return cls._samm_cli
32
+
24
33
  def _upgrade_ttl_file(self, file_path: pathlib.Path) -> str:
25
34
  """Run SAMM CLI prettyprint to upgrade a TTL file to the latest version."""
26
35
  try:
27
- return self._samm_cli.prettyprint(str(file_path), capture=True)
36
+ return self._get_samm_cli().prettyprint(str(file_path), capture=True)
28
37
  except subprocess.CalledProcessError as e:
29
38
  raise RuntimeError(f"SAMM CLI failed for {file_path}:\n{e.stdout}\n{e.stderr}") from e
30
39
 
31
40
  def _upgrade_source(self, source_path: pathlib.Path) -> str:
41
+ """Log a mismatch warning for a file source and delegate to _upgrade_ttl_file."""
32
42
  print(f"[INFO] SAMM version mismatch detected in {source_path}. Upgrading...")
33
43
 
34
44
  return self._upgrade_ttl_file(source_path)
35
45
 
36
46
  def _upgrade_data(self, data: str | bytes) -> str:
47
+ """Write inline data to a temp TTL file, upgrade it via SAMM CLI, then delete the temp file."""
37
48
  print( # TODO: improve logging
38
49
  f"[INFO] SAMM version mismatch detected in provided data (target v{self._samm_version}) Upgrading..."
39
50
  )
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # SPDX-License-Identifier: MPL-2.0
11
11
 
12
- from os.path import exists, join
12
+ from os.path import exists, isabs, join
13
13
  from pathlib import Path
14
14
  from typing import Dict, List, Optional, Tuple, Union
15
15
 
@@ -72,7 +72,7 @@ class LocalFileResolver(ResolverInterface):
72
72
  urn, namespace_id, namespace_specific_str, version = namespace_info
73
73
 
74
74
  if urn == "urn" and namespace_id == SAMM_NAMESPACE_PREFIX:
75
- if namespace_specific_str == SAMM_ORG_IDENTIFIER:
75
+ if namespace_specific_str == SAMM_ORG_IDENTIFIER or isabs(namespace_specific_str):
76
76
  namespace_specific_str = None
77
77
  version = None
78
78
  else:
@@ -204,6 +204,16 @@ class SammCli:
204
204
  """
205
205
  return self._call_function(SAMMCLICommands.TO_JSON, path_to_model, *args, capture=capture, **kwargs)
206
206
 
207
+ def to_parquet(self, path_to_model, *args, capture=False, **kwargs):
208
+ """Generate example Parquet payload data for an Aspect Model.
209
+
210
+ param path_to_model: local path to the aspect model file (*.ttl)
211
+ possible arguments:
212
+ - output, -o: output file path (default: stdout)
213
+ - custom-resolver: use an external resolver for the resolution of the model elements
214
+ """
215
+ return self._call_function(SAMMCLICommands.TO_PARQUET, path_to_model, *args, capture=capture, **kwargs)
216
+
207
217
  def to_html(self, path_to_model, *args, capture=False, **kwargs):
208
218
  """Generate HTML documentation for an Aspect Model.
209
219
 
@@ -33,6 +33,7 @@ class SAMMCLICommands:
33
33
  TO_OPENAPI = "to openapi"
34
34
  TO_SCHEMA = "to schema"
35
35
  TO_JSON = "to json"
36
+ TO_PARQUET = "to parquet"
36
37
  TO_HTML = "to html"
37
38
  TO_PNG = "to png"
38
39
  TO_SVG = "to svg"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "esmf-aspect-model-loader"
3
- version = "2.3.0"
3
+ version = "2.3.2"
4
4
  description = "Load Aspect Models based on the Semantic Aspect Meta Model"
5
5
  authors = [
6
6
  { name = "Eclipse Semantic Modeling Framework" },
@@ -15,12 +15,15 @@ authors = [
15
15
  ]
16
16
  license = "MPL-2.0"
17
17
  readme = "README.md"
18
- requires-python = ">=3.10,<4.0"
18
+ requires-python = ">=3.11,<4.0"
19
19
  keywords = ["samm", "esmf", "digital twin", "idta", "model loader", "semantic api", "semantics", "aspect"]
20
20
  classifiers = [
21
21
  "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
22
22
  "Programming Language :: Python :: 3",
23
- "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
24
27
  ]
25
28
  # Pinned to exact versions (no ranges) to harden against supply-chain attacks.
26
29
  dependencies = [
@@ -48,6 +51,7 @@ dev = [
48
51
  "flake8==6.1.0",
49
52
  "isort==5.13.2",
50
53
  "mypy==1.20.2",
54
+ "polars==1.42.1",
51
55
  "pytest==7.4.4",
52
56
  "pytest-cov==4.1.0",
53
57
  "pytest-sugar==0.9.7",
@@ -0,0 +1,112 @@
1
+ # Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH
2
+ #
3
+ # See the AUTHORS file(s) distributed with this work for additional
4
+ # information regarding authorship.
5
+ #
6
+ # This Source Code Form is subject to the terms of the Mozilla Public
7
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
8
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
9
+ #
10
+ # SPDX-License-Identifier: MPL-2.0
11
+
12
+ import platform
13
+
14
+ from os import makedirs, remove
15
+ from os.path import abspath, dirname, isfile, join
16
+ from shutil import rmtree
17
+
18
+ from rdflib.term import URIRef
19
+
20
+ from esmf_aspect_meta_model_python.resolver.local_file import LocalFileResolver
21
+
22
+
23
+ class TestDependencyResolution:
24
+ """Test dependency resolution for local aspect model files."""
25
+
26
+ ROOT_PATH: str = dirname(dirname(abspath(__file__)))
27
+ SOURCE_PATH = join(ROOT_PATH, "resources", "traversal_dependency")
28
+ SECRET_PATH = join(ROOT_PATH, "secrets")
29
+
30
+ model_path = ["models", "org.example.test", "1.0.0"]
31
+ secret_path = ["secrets", "1.0.0"]
32
+
33
+ @classmethod
34
+ def setup_class(cls):
35
+ """Create the model and dependency files used by the tests."""
36
+ cls.evil_model_dir = join(cls.ROOT_PATH, cls.SOURCE_PATH, *cls.model_path)
37
+ cls.evil_model_name = "Evil.ttl"
38
+ cls._create_file(cls.evil_model_dir, cls.evil_model_name)
39
+
40
+ cls.secret_dir = join(cls.ROOT_PATH, cls.SOURCE_PATH, *cls.secret_path)
41
+ cls.secret_model_name = "confidential.ttl"
42
+ cls._create_file(cls.secret_dir, cls.secret_model_name)
43
+
44
+ @classmethod
45
+ def _create_file(cls, file_path, file_name):
46
+ """Create a test Turtle file at the specified path."""
47
+ file_full_path = join(file_path, file_name)
48
+
49
+ if isfile(file_full_path):
50
+ remove(file_full_path)
51
+
52
+ makedirs(file_path, exist_ok=True)
53
+
54
+ if file_name == cls.evil_model_name:
55
+ cls._create_evil_model_file(file_full_path)
56
+ elif file_name == cls.secret_model_name:
57
+ cls._create_secret_model_file(file_full_path)
58
+ else:
59
+ raise NotImplementedError(f"Unknown file name: {file_name}")
60
+
61
+ @classmethod
62
+ def _create_evil_model_file(cls, file_full_path):
63
+ """Create a model containing an absolute dependency namespace path."""
64
+ with open(file_full_path, "w") as f:
65
+ # absolute path component → os.path.join discards base_path entirely
66
+ f.write(
67
+ "@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.2.0#> .\n"
68
+ f'@prefix evil: <urn:samm:{join(cls.ROOT_PATH, cls.SOURCE_PATH, "secrets")}:1.0.0#> .\n'
69
+ "<urn:samm:org.example.test:1.0.0#Evil> a samm:Aspect ;\n"
70
+ " samm:properties () ; samm:operations () .\n"
71
+ )
72
+
73
+ @classmethod
74
+ def _create_secret_model_file(cls, file_full_path):
75
+ """Create a dependency file containing a value that must not be loaded."""
76
+ with open(join(file_full_path), "w") as f:
77
+ f.write(
78
+ "@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.2.0#> .\n"
79
+ "@prefix ex: <http://example.com/secret#> .\n"
80
+ 'ex:LeakedSecret ex:value "TOP-SECRET-CREDENTIAL-12345" .\n'
81
+ )
82
+
83
+ @classmethod
84
+ def teardown_class(cls):
85
+ """Remove the model file created for the tests."""
86
+ remove(join(cls.evil_model_dir, cls.evil_model_name))
87
+ rmtree(cls.secret_dir)
88
+
89
+ def test_parse_namespace_relative_path_return_path(self):
90
+ """Verify that relative namespace paths are parsed normally."""
91
+ result = LocalFileResolver._parse_namespace("urn:samm:../secrets:1.0.0#")
92
+
93
+ assert result == ("../secrets", "1.0.0")
94
+
95
+ def test_parse_namespace_absolute_path_return_none(self):
96
+ """Verify that absolute namespace paths are ignored."""
97
+ if platform.system() == "Windows":
98
+ param = "urn:samm:C:\\etc:1.0.0#"
99
+ else:
100
+ param = "urn:samm:/etc:1.0.0#"
101
+ result = LocalFileResolver._parse_namespace(param)
102
+
103
+ assert result == (None, None)
104
+
105
+ def test_read_secrets(self):
106
+ """Verify that an absolute dependency path cannot load the secret file."""
107
+ local_file_resolver = LocalFileResolver()
108
+ graph = local_file_resolver.read(join(self.evil_model_dir, self.evil_model_name))
109
+ local_file_resolver.prepare_aspect_model(graph)
110
+ result = list(local_file_resolver.graph.triples((URIRef("http://example.com/secret#LeakedSecret"), None, None)))
111
+
112
+ assert len(result) == 0
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # SPDX-License-Identifier: MPL-2.0
11
11
 
12
- @prefix : <urn:samm:org.eclipse.esmf.samm:test:1.0.0#> .
12
+ @prefix : <urn:samm:org.eclipse.esmf.samm.test:1.0.0#> .
13
13
  @prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
14
14
  @prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
15
15
  @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@@ -9,7 +9,7 @@
9
9
  #
10
10
  # SPDX-License-Identifier: MPL-2.0
11
11
 
12
- @prefix : <urn:samm:org.eclipse.esmf.samm:test:1.0.0#> .
12
+ @prefix : <urn:samm:org.eclipse.esmf.samm.test:1.0.0#> .
13
13
  @prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
14
14
  @prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
15
15
  @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@@ -0,0 +1,78 @@
1
+ from unittest import mock
2
+
3
+ from esmf_aspect_meta_model_python.adaptive_graph import AdaptiveGraph
4
+
5
+
6
+ class TestAdaptiveGraphIntegration:
7
+ """Integration tests for AdaptiveGraph end-to-end parse with SAMM CLI mocking."""
8
+
9
+ @mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
10
+ def test_mismatch_from_file(self, get_samm_cli_mock, tmp_path, capsys):
11
+ """Verifies the graph is upgraded and logged when the file SAMM version mismatches."""
12
+ file_path = tmp_path / "bad_version.ttl"
13
+ file_path.write_text(
14
+ """
15
+ @prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:9.9.9#> .
16
+ samm:Aspect a samm:Aspect .
17
+ """
18
+ )
19
+ samm_cli_mock = mock.MagicMock(name="samm_cli")
20
+ samm_cli_mock.prettyprint.return_value = """
21
+ @prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
22
+ samm:Aspect a samm:Aspect .
23
+ """
24
+ get_samm_cli_mock.return_value = samm_cli_mock
25
+ graph = AdaptiveGraph(samm_version="1.0.0")
26
+ graph.parse(source=file_path, format="ttl")
27
+
28
+ assert len(graph) == 1
29
+ ns_list = list(dict(graph.namespace_manager.namespaces()).values())
30
+ assert any("1.0.0" in str(ns) for ns in ns_list)
31
+ assert f"[INFO] SAMM version mismatch detected in {file_path}. Upgrading..." in capsys.readouterr().out
32
+ get_samm_cli_mock.assert_called_once()
33
+ samm_cli_mock.prettyprint.assert_called_once_with(str(file_path), capture=True)
34
+
35
+ @mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
36
+ def test_mismatch_from_data(self, get_samm_cli_mock, tmp_path, capsys):
37
+ """Verifies the graph is upgraded and logged when inline TTL data SAMM version mismatches."""
38
+ bad_ttl_data = """
39
+ @prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:2.0.0#> .
40
+ samm:Aspect a samm:Aspect .
41
+ """
42
+ samm_cli_mock = mock.MagicMock(name="samm_cli")
43
+ samm_cli_mock.prettyprint.return_value = """
44
+ @prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
45
+ samm:Aspect a samm:Aspect .
46
+ """
47
+ get_samm_cli_mock.return_value = samm_cli_mock
48
+ graph = AdaptiveGraph(samm_version="1.0.0")
49
+ graph.parse(data=bad_ttl_data, format="ttl")
50
+
51
+ assert len(graph) == 1
52
+ ns_list = list(dict(graph.namespace_manager.namespaces()).values())
53
+ assert any("1.0.0" in str(ns) for ns in ns_list)
54
+ assert (
55
+ "[INFO] SAMM version mismatch detected in provided data (target v1.0.0) Upgrading..."
56
+ in capsys.readouterr().out
57
+ )
58
+ get_samm_cli_mock.assert_called_once()
59
+ samm_cli_mock.prettyprint.assert_called_once_with(mock.ANY, capture=True)
60
+
61
+ @mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
62
+ def test_integration_version_match_no_upgrade(self, get_samm_cli_mock, tmp_path, capsys):
63
+ """Verifies no upgrade is performed and no warning is logged when the file SAMM version matches."""
64
+ file_path = tmp_path / "good_version.ttl"
65
+ file_path.write_text(
66
+ """
67
+ @prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
68
+ samm:Aspect a samm:Aspect .
69
+ """
70
+ )
71
+ samm_cli_mock = mock.MagicMock(name="samm_cli")
72
+ get_samm_cli_mock.return_value = samm_cli_mock
73
+ graph = AdaptiveGraph(samm_version="1.0.0")
74
+ graph.parse(source=file_path, format="ttl")
75
+
76
+ assert len(graph) == 1
77
+ samm_cli_mock.prettyprint.assert_not_called()
78
+ assert capsys.readouterr().out == ""
@@ -14,9 +14,11 @@ import json
14
14
  import os
15
15
  import shutil
16
16
  import tempfile
17
+ import uuid
17
18
 
18
19
  from pathlib import Path
19
20
 
21
+ import polars as pl
20
22
  import pytest
21
23
 
22
24
  from esmf_aspect_meta_model_python.samm_cli.base import SammCli
@@ -26,7 +28,7 @@ RESOURCE_PATH = Path(__file__).parent / "resources" / "org.eclipse.esmf.test.gen
26
28
 
27
29
  @pytest.fixture(scope="module")
28
30
  def file_path():
29
- yield RESOURCE_PATH / "SampleAspect.ttl"
31
+ return RESOURCE_PATH / "SampleAspect.ttl"
30
32
 
31
33
 
32
34
  @pytest.fixture(scope="module")
@@ -44,19 +46,29 @@ def temp_output_dir():
44
46
  @pytest.fixture(scope="module")
45
47
  def samm_cli():
46
48
  """Create a SammCli instance for integration testing."""
47
- cli = SammCli()
48
- yield cli
49
+ return SammCli()
50
+
51
+
52
+ def _get_temp_file_name(temp_output_dir: str, name: str, suffix: str):
53
+ """Generate a temporary file name in the output directory."""
54
+ return os.path.join(temp_output_dir, f"{name}_{uuid.uuid4}{suffix}")
49
55
 
50
56
 
51
57
  class TestSammCliIntegration:
52
58
  """Integration tests for SAMM CLI transformations."""
53
59
 
60
+ def __init__(self):
61
+ pass
62
+
54
63
  class TestPrettyPrint:
55
64
  """Test pretty-printing functionality."""
56
65
 
66
+ def __init__(self):
67
+ pass
68
+
57
69
  def test_file_output(self, samm_cli, file_path, temp_output_dir):
58
70
  """Test pretty-printing to a file."""
59
- output_file = os.path.join(temp_output_dir, "prettyprinted.ttl")
71
+ output_file = _get_temp_file_name(temp_output_dir, "prettyprinted", ".ttl")
60
72
 
61
73
  samm_cli.prettyprint(file_path, output=output_file)
62
74
 
@@ -77,7 +89,7 @@ class TestSammCliIntegration:
77
89
 
78
90
  def test_to_json(self, samm_cli, file_path, temp_output_dir):
79
91
  """Test generating example JSON payload."""
80
- output_file = os.path.join(temp_output_dir, "example.json")
92
+ output_file = _get_temp_file_name(temp_output_dir, "example", ".json")
81
93
 
82
94
  samm_cli.to_json(file_path, output=output_file)
83
95
 
@@ -88,9 +100,21 @@ class TestSammCliIntegration:
88
100
  assert "testProperty" in data
89
101
  assert "testComplexProperty" in data
90
102
 
103
+ def test_to_parquet(self, samm_cli, file_path, temp_output_dir):
104
+ """Test generating example Parquet payload."""
105
+ output_file = _get_temp_file_name(temp_output_dir, "example", ".parquet")
106
+
107
+ samm_cli.to_parquet(file_path, output=output_file)
108
+
109
+ assert os.path.exists(output_file)
110
+ df = pl.read_parquet(output_file)
111
+ assert "testProperty" in df.columns
112
+ assert "testComplexProperty__entityProperty1" in df.columns
113
+ assert "testComplexProperty__entityProperty2" in df.columns
114
+
91
115
  def test_to_schema(self, samm_cli, file_path, temp_output_dir):
92
116
  """Test generating JSON schema."""
93
- output_file = os.path.join(temp_output_dir, "schema.json")
117
+ output_file = _get_temp_file_name(temp_output_dir, "schema", ".json")
94
118
 
95
119
  samm_cli.to_schema(file_path, output=output_file)
96
120
 
@@ -103,7 +127,7 @@ class TestSammCliIntegration:
103
127
 
104
128
  def test_to_openapi(self, samm_cli, file_path, temp_output_dir):
105
129
  """Test generating OpenAPI specification."""
106
- output_file = os.path.join(temp_output_dir, "openapi.yaml")
130
+ output_file = _get_temp_file_name(temp_output_dir, "openapi", ".yaml")
107
131
 
108
132
  samm_cli.to_openapi(file_path, output=output_file, api_base_url="http://localhost:8080")
109
133
 
@@ -117,7 +141,7 @@ class TestSammCliIntegration:
117
141
 
118
142
  def test_to_openapi_json(self, samm_cli, file_path, temp_output_dir):
119
143
  """Test generating OpenAPI specification in JSON format."""
120
- output_file = os.path.join(temp_output_dir, "openapi.json")
144
+ output_file = _get_temp_file_name(temp_output_dir, "openapi", ".json")
121
145
 
122
146
  samm_cli.to_openapi(file_path, "j", output=output_file, api_base_url="http://localhost:8080") # JSON flag
123
147
 
@@ -130,7 +154,7 @@ class TestSammCliIntegration:
130
154
 
131
155
  def test_to_asyncapi(self, samm_cli, file_path, temp_output_dir):
132
156
  """Test generating AsyncAPI specification."""
133
- output_file = os.path.join(temp_output_dir, "asyncapi.yaml")
157
+ output_file = _get_temp_file_name(temp_output_dir, "asyncapi", ".yaml")
134
158
 
135
159
  samm_cli.to_asyncapi(file_path, output=output_file, channel_address="test/topic")
136
160
 
@@ -142,7 +166,7 @@ class TestSammCliIntegration:
142
166
 
143
167
  def test_to_html(self, samm_cli, file_path, temp_output_dir):
144
168
  """Test generating HTML documentation."""
145
- output_file = os.path.join(temp_output_dir, "documentation.html")
169
+ output_file = _get_temp_file_name(temp_output_dir, "documentation", ".html")
146
170
 
147
171
  samm_cli.to_html(file_path, output=output_file)
148
172
 
@@ -154,7 +178,7 @@ class TestSammCliIntegration:
154
178
 
155
179
  def test_to_png(self, samm_cli, file_path, temp_output_dir):
156
180
  """Test generating PNG diagram."""
157
- output_file = os.path.join(temp_output_dir, "diagram.png")
181
+ output_file = _get_temp_file_name(temp_output_dir, "diagram", ".png")
158
182
 
159
183
  samm_cli.to_png(file_path, output=output_file)
160
184
 
@@ -166,7 +190,7 @@ class TestSammCliIntegration:
166
190
 
167
191
  def test_to_svg(self, samm_cli, file_path, temp_output_dir):
168
192
  """Test generating SVG diagram."""
169
- output_file = os.path.join(temp_output_dir, "diagram.svg")
193
+ output_file = _get_temp_file_name(temp_output_dir, "diagram", ".svg")
170
194
 
171
195
  samm_cli.to_svg(file_path, output=output_file)
172
196
 
@@ -178,7 +202,7 @@ class TestSammCliIntegration:
178
202
 
179
203
  def test_to_java(self, samm_cli, file_path, temp_output_dir):
180
204
  """Test generating Java classes."""
181
- output_dir = os.path.join(temp_output_dir, "java")
205
+ output_dir = _get_temp_file_name(temp_output_dir, "java", "")
182
206
  os.makedirs(output_dir, exist_ok=True)
183
207
 
184
208
  samm_cli.to_java(file_path, output_directory=output_dir, package_name="com.example.test")
@@ -194,7 +218,7 @@ class TestSammCliIntegration:
194
218
 
195
219
  def test_to_sql(self, samm_cli, file_path, temp_output_dir):
196
220
  """Test generating SQL script."""
197
- output_file = os.path.join(temp_output_dir, "schema.sql")
221
+ output_file = _get_temp_file_name(temp_output_dir, "schema", ".sql")
198
222
 
199
223
  samm_cli.to_sql(file_path, output=output_file, dialect="databricks")
200
224
 
@@ -205,7 +229,7 @@ class TestSammCliIntegration:
205
229
 
206
230
  def test_to_jsonld(self, samm_cli, file_path, temp_output_dir):
207
231
  """Test generating JSON-LD representation."""
208
- output_file = os.path.join(temp_output_dir, "model.jsonld")
232
+ output_file = _get_temp_file_name(temp_output_dir, "model", ".jsonld")
209
233
 
210
234
  samm_cli.to_jsonld(file_path, output=output_file)
211
235
 
@@ -218,7 +242,7 @@ class TestSammCliIntegration:
218
242
 
219
243
  def test_to_aas(self, samm_cli, file_path, temp_output_dir):
220
244
  """Test generating AAS submodel template."""
221
- output_file_json = os.path.join(temp_output_dir, "aas.json")
245
+ output_file_json = _get_temp_file_name(temp_output_dir, "aas", ".json")
222
246
 
223
247
  samm_cli.to_aas(file_path, output=output_file_json, format="JSON")
224
248
 
@@ -229,7 +253,7 @@ class TestSammCliIntegration:
229
253
 
230
254
  def test_package_export_import(self, samm_cli, file_path, temp_output_dir):
231
255
  """Test exporting and importing a package."""
232
- package_file = os.path.join(temp_output_dir, "package.zip")
256
+ package_file = _get_temp_file_name(temp_output_dir, "package", ".zip")
233
257
 
234
258
  # Export the model as a package
235
259
  samm_cli.package_export(file_path, output=package_file)
@@ -243,26 +267,39 @@ class TestSammCliIntegration:
243
267
  assert zipfile.is_zipfile(package_file)
244
268
 
245
269
  # Import the package (would need models-root directory)
246
- import_dir = os.path.join(temp_output_dir, "imported_models")
270
+ import_dir = _get_temp_file_name(temp_output_dir, "imported_models", "")
247
271
  os.makedirs(import_dir, exist_ok=True)
248
272
 
273
+ imported_files = []
274
+ import_failed = False
275
+ import_error = None
276
+
249
277
  # Note: This might fail if the package structure doesn't match expectations
250
278
  try:
251
279
  samm_cli.package_import(package_file, models_root=import_dir)
252
280
  # Check if files were imported
253
281
  imported_files = list(Path(import_dir).rglob("*.ttl"))
254
- assert len(imported_files) > 0
255
282
  except Exception as e:
256
- pytest.skip(f"Package import failed: {e}")
283
+ import_failed = True
284
+ import_error = e
285
+
286
+ if import_failed:
287
+ pytest.skip(f"Package import failed: {import_error}")
288
+
289
+ # assertions are outside the try/except -> no S5779
290
+ assert len(imported_files) > 0
257
291
 
258
292
 
259
293
  class TestSammCliLanguageSupport:
260
294
  """Test language-specific outputs."""
261
295
 
296
+ def __init__(self):
297
+ pass
298
+
262
299
  @pytest.mark.parametrize("language", ("en", "de"))
263
300
  def test_to_html_languages(self, samm_cli, file_path, temp_output_dir, language):
264
301
  """Test generating HTML in different languages."""
265
- output_file = os.path.join(temp_output_dir, f"doc_{language}.html")
302
+ output_file = _get_temp_file_name(temp_output_dir, f"doc_{language}", ".html")
266
303
 
267
304
  samm_cli.to_html(file_path, output=output_file, language=language)
268
305
 
@@ -271,7 +308,7 @@ class TestSammCliLanguageSupport:
271
308
  @pytest.mark.parametrize("language", ("en", "de"))
272
309
  def test_to_schema_languages(self, samm_cli, file_path, temp_output_dir, language):
273
310
  """Test generating JSON schema in different languages."""
274
- output_file = os.path.join(temp_output_dir, f"schema_{language}.json")
311
+ output_file = _get_temp_file_name(temp_output_dir, f"schema_{language}", ".json")
275
312
 
276
313
  samm_cli.to_schema(file_path, output=output_file, language=language)
277
314
 
@@ -281,9 +318,12 @@ class TestSammCliLanguageSupport:
281
318
  class TestSammCliErrorHandling:
282
319
  """Test error handling in SAMM CLI."""
283
320
 
321
+ def __init__(self):
322
+ pass
323
+
284
324
  def test_invalid_model_validation(self, capfd, samm_cli, temp_output_dir):
285
325
  """Test validation of an invalid model."""
286
- invalid_model = os.path.join(temp_output_dir, "invalid.ttl")
326
+ invalid_model = _get_temp_file_name(temp_output_dir, "invalid", ".ttl")
287
327
  with open(invalid_model, "w") as f:
288
328
  f.write("This is not valid Turtle syntax!!!")
289
329