rustdl 0.3.26__tar.gz → 0.3.28__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 (252) hide show
  1. {rustdl-0.3.26 → rustdl-0.3.28}/Cargo.lock +10 -10
  2. {rustdl-0.3.26 → rustdl-0.3.28}/Cargo.toml +1 -1
  3. {rustdl-0.3.26 → rustdl-0.3.28}/PKG-INFO +1 -1
  4. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/convert.rs +17 -5
  5. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/told.rs +14 -7
  6. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/explain.rs +16 -5
  7. {rustdl-0.3.26 → rustdl-0.3.28}/README.md +0 -0
  8. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/Cargo.toml +0 -0
  9. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/README.md +0 -0
  10. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/absorb.rs +0 -0
  11. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/approx_saturation.rs +0 -0
  12. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/clause.rs +0 -0
  13. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/convert_back.rs +0 -0
  14. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/data_axioms.rs +0 -0
  15. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/definitions.rs +0 -0
  16. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/disjunction_existential.rs +0 -0
  17. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/disjunctive_antecedent.rs +0 -0
  18. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/ir.rs +0 -0
  19. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/lib.rs +0 -0
  20. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/locality.rs +0 -0
  21. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/normalize.rs +0 -0
  22. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/ontology.rs +0 -0
  23. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/residual_trigger.rs +0 -0
  24. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/role_hierarchy.rs +0 -0
  25. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/transform.rs +0 -0
  26. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/src/vocab.rs +0 -0
  27. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/tests/concept_pool_proptest.proptest-regressions +0 -0
  28. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/tests/concept_pool_proptest.rs +0 -0
  29. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/tests/convert_round_trip_proptest.rs +0 -0
  30. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-core/tests/role_hierarchy_proptest.rs +0 -0
  31. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-datatypes/Cargo.toml +0 -0
  32. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-datatypes/README.md +0 -0
  33. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-datatypes/src/lib.rs +0 -0
  34. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/.gitignore +0 -0
  35. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/Cargo.toml +0 -0
  36. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/README.md +0 -0
  37. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/.gitignore +0 -0
  38. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/README.md +0 -0
  39. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/__init__.py +0 -0
  40. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/fixtures/recorded_replies_clash.json +0 -0
  41. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/fixtures/seed.ofn +0 -0
  42. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/gate.py +0 -0
  43. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/llm.py +0 -0
  44. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/loop.py +0 -0
  45. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out/candidate.ofn +0 -0
  46. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out/current.ofn +0 -0
  47. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out/metrics.md +0 -0
  48. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out/transcript.jsonl +0 -0
  49. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out-clash/candidate.ofn +0 -0
  50. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out-clash/current.ofn +0 -0
  51. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out-clash/metrics.md +0 -0
  52. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/out-clash/transcript.jsonl +0 -0
  53. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/requirements.txt +0 -0
  54. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/run.py +0 -0
  55. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/__init__.py +0 -0
  56. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/test_gate.py +0 -0
  57. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/test_llm.py +0 -0
  58. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/test_loop.py +0 -0
  59. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/test_run.py +0 -0
  60. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/examples/nesy_loop/tests/test_seed.py +0 -0
  61. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/classify.rs +0 -0
  62. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/errors.rs +0 -0
  63. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/lib.rs +0 -0
  64. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/load.rs +0 -0
  65. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/materialize.rs +0 -0
  66. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/src/queries.rs +0 -0
  67. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/conftest.py +0 -0
  68. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_classify.py +0 -0
  69. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_examples.py +0 -0
  70. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_explain.py +0 -0
  71. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_manchester.py +0 -0
  72. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_materialize.py +0 -0
  73. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_queries.py +0 -0
  74. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_results.py +0 -0
  75. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_smoke.py +0 -0
  76. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_soundness.py +0 -0
  77. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_stubs.py +0 -0
  78. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-py/tests/python/test_tutorial.py +0 -0
  79. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/Cargo.toml +0 -0
  80. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/README.md +0 -0
  81. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/examples/embed_classify.rs +0 -0
  82. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/abox_check.rs +0 -0
  83. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/abox_saturation.rs +0 -0
  84. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/classify.rs +0 -0
  85. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/diagnose.rs +0 -0
  86. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/justify.rs +0 -0
  87. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/laconic.rs +0 -0
  88. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/lib.rs +0 -0
  89. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/model_cache.rs +0 -0
  90. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/oracle_diff.rs +0 -0
  91. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/realize.rs +0 -0
  92. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/repair.rs +0 -0
  93. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/src/union_find.rs +0 -0
  94. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/abox_consistency.rs +0 -0
  95. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/abox_sat_fp_probe.rs +0 -0
  96. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/abox_saturation.rs +0 -0
  97. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/adaptive_budget.rs +0 -0
  98. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/anon349_diagnostic.rs +0 -0
  99. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/anonymous_individuals_identity.rs +0 -0
  100. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/anonymous_individuals_reporting.rs +0 -0
  101. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/approx_saturation_forced_disjunct.rs +0 -0
  102. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/backfold.rs +0 -0
  103. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/backjump_precision_gate.rs +0 -0
  104. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/blocked_disjunction_soundness.rs +0 -0
  105. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/blocked_disjunction_termination.rs +0 -0
  106. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/cardinality_disjunct_atoms.rs +0 -0
  107. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/classify_concrete_domain.rs +0 -0
  108. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/classify_defined_sweep.rs +0 -0
  109. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/classify_inverse_domain.rs +0 -0
  110. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/completeness_contract.rs +0 -0
  111. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/concrete_domain_clash.rs +0 -0
  112. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/data_properties.rs +0 -0
  113. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/data_property_assertions.rs +0 -0
  114. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/datatype_completeness.rs +0 -0
  115. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/datatype_inconsistency.rs +0 -0
  116. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/datatype_value_membership.rs +0 -0
  117. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/decide_pair_probe.rs +0 -0
  118. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/diagnose_partition.rs +0 -0
  119. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/disjunctive_existential_marker_fp.rs +0 -0
  120. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/domain_gci_completeness.rs +0 -0
  121. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/existential_successors.rs +0 -0
  122. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/exists_top_filler.rs +0 -0
  123. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p1_direct_bot.ofn +0 -0
  124. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p1_no_bot.ofn +0 -0
  125. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p2_disjoint_different_individuals.ofn +0 -0
  126. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p2_disjoint_types.ofn +0 -0
  127. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p3_neg_opa.ofn +0 -0
  128. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p3_neg_opa_no_clash.ofn +0 -0
  129. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p3_role_hierarchy_neg_consistent.ofn +0 -0
  130. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p3_role_hierarchy_neg_inconsistent.ofn +0 -0
  131. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p4_same_different.ofn +0 -0
  132. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p4_same_without_different.ofn +0 -0
  133. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p5_functional_diff.ofn +0 -0
  134. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p5_functional_same_target.ofn +0 -0
  135. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p6_asymmetric.ofn +0 -0
  136. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p6_asymmetric_one_way.ofn +0 -0
  137. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p6_irreflexive.ofn +0 -0
  138. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p6_irreflexive_distinct.ofn +0 -0
  139. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p7_range_compatible.ofn +0 -0
  140. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/abox/p7_range_disjoint.ofn +0 -0
  141. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/data_cardinality_disjoint.ofn +0 -0
  142. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/data_property_domain-classified.owx +0 -0
  143. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/data_property_domain.ofn +0 -0
  144. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/datatype_definition-classified.owx +0 -0
  145. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/datatype_definition.ofn +0 -0
  146. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/datatype_facet.ofn +0 -0
  147. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/functional_data_property.ofn +0 -0
  148. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/sub_data_property-classified.owx +0 -0
  149. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/datatype/sub_data_property.ofn +0 -0
  150. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/functional-equiv-some-bug.ofn +0 -0
  151. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/materialize/rbox-materialized.owx +0 -0
  152. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/materialize/rbox.ofn +0 -0
  153. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/named-pizza-country-bug.ofn +0 -0
  154. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-01.txt +0 -0
  155. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-02.txt +0 -0
  156. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-03.txt +0 -0
  157. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-04.txt +0 -0
  158. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-05.txt +0 -0
  159. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-06.txt +0 -0
  160. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-07.txt +0 -0
  161. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/p2b0-terms-08.txt +0 -0
  162. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_01.hermit.owx +0 -0
  163. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_01.ofn +0 -0
  164. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_01.owx +0 -0
  165. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_02.hermit.owx +0 -0
  166. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_02.ofn +0 -0
  167. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_02.owx +0 -0
  168. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_03.hermit.owx +0 -0
  169. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_03.ofn +0 -0
  170. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_03.owx +0 -0
  171. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_04.hermit.owx +0 -0
  172. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_04.ofn +0 -0
  173. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_04.owx +0 -0
  174. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_05.hermit.owx +0 -0
  175. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_05.ofn +0 -0
  176. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_05.owx +0 -0
  177. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_06.hermit.owx +0 -0
  178. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_06.ofn +0 -0
  179. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_06.owx +0 -0
  180. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_07.hermit.owx +0 -0
  181. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_07.ofn +0 -0
  182. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_07.owx +0 -0
  183. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_08.hermit.owx +0 -0
  184. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_08.ofn +0 -0
  185. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/pair_08.owx +0 -0
  186. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/fixtures/phase2b/phase2b-verdicts.log +0 -0
  187. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/funcmerge_inverse.rs +0 -0
  188. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/funcmerge_scaling.rs +0 -0
  189. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/functional_enforcement.rs +0 -0
  190. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/inverse_cardinality_soundness.rs +0 -0
  191. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/inverse_symmetric_domain.rs +0 -0
  192. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/justification.rs +0 -0
  193. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/konclude_closure_diff.rs +0 -0
  194. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/label_heuristic_canary.rs +0 -0
  195. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/laconic_justification.rs +0 -0
  196. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/materialize_oracle.rs +0 -0
  197. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/object_has_self_domain.rs +0 -0
  198. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/phase2c_pair_06_canary.rs +0 -0
  199. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/precompletion_probe_gate.rs +0 -0
  200. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/property_assertions.rs +0 -0
  201. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/real_ontology_corpus.rs +0 -0
  202. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/repair_suggestions.rs +0 -0
  203. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/sat_lookahead_gate.rs +0 -0
  204. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/saturator_disjointness.rs +0 -0
  205. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/seed_probe_gate.rs +0 -0
  206. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/shadow_dep_gate.rs +0 -0
  207. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/snapshot_phase0_canary.rs +0 -0
  208. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/sp2_nogood_gate.rs +0 -0
  209. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/subproperty_axioms.rs +0 -0
  210. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/tautology_skip_canary.rs +0 -0
  211. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/tbox_only_classify.rs +0 -0
  212. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/top_subsumes_all.rs +0 -0
  213. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/value_type_disjoint_canary.rs +0 -0
  214. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/value_type_disjoint_probe.rs +0 -0
  215. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-reasoner/tests/wedge_consistency.rs +0 -0
  216. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/Cargo.toml +0 -0
  217. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/README.md +0 -0
  218. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/src/lib.rs +0 -0
  219. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/src/proof.rs +0 -0
  220. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/src/seed_sat.rs +0 -0
  221. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/tests/fixtures/phase2a_functional_role_canary.ofn +0 -0
  222. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-saturation/tests/fixtures/phase2b_compound_existential_canary.ofn +0 -0
  223. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/Cargo.toml +0 -0
  224. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/README.md +0 -0
  225. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/counters.rs +0 -0
  226. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/deps.rs +0 -0
  227. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/graph.rs +0 -0
  228. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/hyper.rs +0 -0
  229. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/lib.rs +0 -0
  230. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/replay.rs +0 -0
  231. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/rules.rs +0 -0
  232. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/saturate.rs +0 -0
  233. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/search.rs +0 -0
  234. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/shadow_measures.rs +0 -0
  235. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/snapshot.rs +0 -0
  236. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/src/trail.rs +0 -0
  237. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/backprop_risk.rs +0 -0
  238. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/replay_driver.rs +0 -0
  239. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/replay_roundtrip.rs +0 -0
  240. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/sat_lookahead_drop.rs +0 -0
  241. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/semantic_branching.rs +0 -0
  242. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/shadow_dep_probe.rs +0 -0
  243. {rustdl-0.3.26 → rustdl-0.3.28}/crates/owl-dl-tableau/tests/snapshot_capture.rs +0 -0
  244. {rustdl-0.3.26 → rustdl-0.3.28}/pyproject.toml +0 -0
  245. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/__init__.py +0 -0
  246. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/__init__.pyi +0 -0
  247. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/_results.py +0 -0
  248. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/data/pizza.owl.gz +0 -0
  249. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/data/sio.owl.gz +0 -0
  250. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/data/sulo.owl.gz +0 -0
  251. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/examples.py +0 -0
  252. {rustdl-0.3.26 → rustdl-0.3.28}/python/rustdl/py.typed +0 -0
@@ -1018,7 +1018,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
1018
1018
 
1019
1019
  [[package]]
1020
1020
  name = "owl-dl-bench"
1021
- version = "0.3.26"
1021
+ version = "0.3.28"
1022
1022
  dependencies = [
1023
1023
  "anyhow",
1024
1024
  "clap",
@@ -1038,7 +1038,7 @@ dependencies = [
1038
1038
 
1039
1039
  [[package]]
1040
1040
  name = "owl-dl-cb"
1041
- version = "0.3.26"
1041
+ version = "0.3.28"
1042
1042
  dependencies = [
1043
1043
  "hashbrown 0.15.5",
1044
1044
  "owl-dl-core",
@@ -1046,7 +1046,7 @@ dependencies = [
1046
1046
 
1047
1047
  [[package]]
1048
1048
  name = "owl-dl-cli"
1049
- version = "0.3.26"
1049
+ version = "0.3.28"
1050
1050
  dependencies = [
1051
1051
  "anyhow",
1052
1052
  "clap",
@@ -1059,7 +1059,7 @@ dependencies = [
1059
1059
 
1060
1060
  [[package]]
1061
1061
  name = "owl-dl-core"
1062
- version = "0.3.26"
1062
+ version = "0.3.28"
1063
1063
  dependencies = [
1064
1064
  "bitvec",
1065
1065
  "bumpalo",
@@ -1073,7 +1073,7 @@ dependencies = [
1073
1073
 
1074
1074
  [[package]]
1075
1075
  name = "owl-dl-datatypes"
1076
- version = "0.3.26"
1076
+ version = "0.3.28"
1077
1077
  dependencies = [
1078
1078
  "owl-dl-core",
1079
1079
  "proptest",
@@ -1083,7 +1083,7 @@ dependencies = [
1083
1083
 
1084
1084
  [[package]]
1085
1085
  name = "owl-dl-py"
1086
- version = "0.3.26"
1086
+ version = "0.3.28"
1087
1087
  dependencies = [
1088
1088
  "horned-owl",
1089
1089
  "owl-dl-core",
@@ -1094,7 +1094,7 @@ dependencies = [
1094
1094
 
1095
1095
  [[package]]
1096
1096
  name = "owl-dl-reasoner"
1097
- version = "0.3.26"
1097
+ version = "0.3.28"
1098
1098
  dependencies = [
1099
1099
  "anyhow",
1100
1100
  "dashmap",
@@ -1112,7 +1112,7 @@ dependencies = [
1112
1112
 
1113
1113
  [[package]]
1114
1114
  name = "owl-dl-saturation"
1115
- version = "0.3.26"
1115
+ version = "0.3.28"
1116
1116
  dependencies = [
1117
1117
  "dashmap",
1118
1118
  "fixedbitset",
@@ -1128,7 +1128,7 @@ dependencies = [
1128
1128
 
1129
1129
  [[package]]
1130
1130
  name = "owl-dl-tableau"
1131
- version = "0.3.26"
1131
+ version = "0.3.28"
1132
1132
  dependencies = [
1133
1133
  "bitvec",
1134
1134
  "bumpalo",
@@ -2554,7 +2554,7 @@ dependencies = [
2554
2554
 
2555
2555
  [[package]]
2556
2556
  name = "xtask"
2557
- version = "0.3.26"
2557
+ version = "0.3.28"
2558
2558
  dependencies = [
2559
2559
  "anyhow",
2560
2560
  "clap",
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["crates/owl-dl-core", "crates/owl-dl-saturation", "crates/owl-dl-tableau", "crates/owl-dl-datatypes", "crates/owl-dl-reasoner", "crates/owl-dl-py"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.3.26"
6
+ version = "0.3.28"
7
7
  edition = "2024"
8
8
  rust-version = "1.88"
9
9
  license = "Apache-2.0 OR MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rustdl
3
- Version: 0.3.26
3
+ Version: 0.3.28
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -2402,11 +2402,23 @@ fn seed_dkey_subsumptions(out: &mut InternalOntology) {
2402
2402
 
2403
2403
  // Phase D11b: `DisjointClasses(DKey(ra), DKey(rb))` for every PROVABLY
2404
2404
  // disjoint pair within a bucket — the basis of the `∃p.DKey(v) ⊓
2405
- // ∀p.DKey(r)` membership clash (v ∉ r). `disjoint` is conservative
2406
- // (true only when no value is shared), so a wrong "disjoint" — which
2407
- // would spuriously make a class = FP cannot arise from overlapping
2408
- // ranges. Same datatype bucketing: int / float / double / decimal / date /
2409
- // dateTime / string never cross-seed.
2405
+ // ∀p.DKey(r)` membership clash (v ∉ r) AND the functional / `≤1`-data-
2406
+ // property MERGE clash (`∃p.DKey(v1) ∃p.DKey(v2)` at one node, v1≠v2).
2407
+ // `disjoint` is conservative (true only when no value is shared), so a
2408
+ // wrong "disjoint" which would spuriously make a class = FP cannot
2409
+ // arise from overlapping ranges. Same datatype bucketing: int / float /
2410
+ // double / decimal / date / dateTime / string never cross-seed.
2411
+ //
2412
+ // NOTE (2026-07-20): this is O(k²) in the number of distinct data values k,
2413
+ // which is LARGE when DKeys come from ABox `DataPropertyAssertion`s
2414
+ // (ore_ont_10425: 5261 values → ~14M axioms → front-end conversion DNF).
2415
+ // A `∀p.DKey`-only gate was tried and reverted — it dropped the functional/
2416
+ // `≤1` merge clash (data_properties.rs POC tests) because that clash also
2417
+ // consumes this disjointness and needs no `∀`. The sound bound is
2418
+ // co-occurrence (only values reachable together on a merge-inducing role),
2419
+ // which needs per-subject value tracking; left as a scoped follow-up. The
2420
+ // O(1) `add_disjoint_pair` (told.rs) at least drops the build from O(k³) to
2421
+ // O(k²).
2410
2422
  seed_disjoint_bucket(out, &int_dkeys, |a, b| a.disjoint(*b));
2411
2423
  seed_disjoint_bucket(out, &float_dkeys, |a, b| a.disjoint(*b));
2412
2424
  seed_disjoint_bucket(out, &double_dkeys, |a, b| a.disjoint(*b));
@@ -22,6 +22,8 @@
22
22
 
23
23
  use std::collections::VecDeque;
24
24
 
25
+ use std::collections::HashSet;
26
+
25
27
  use smallvec::SmallVec;
26
28
 
27
29
  use crate::ConceptPool;
@@ -106,7 +108,14 @@ impl ToldTables {
106
108
  pub fn build_told_tables(ontology: &InternalOntology) -> ToldTables {
107
109
  let n = ontology.vocabulary.num_classes();
108
110
  let mut direct_super: Vec<SmallVec<[ClassId; 4]>> = vec![SmallVec::new(); n];
109
- let mut disjoint: Vec<SmallVec<[ClassId; 4]>> = vec![SmallVec::new(); n];
111
+ // Disjoint sets use a per-class `HashSet` (not `SmallVec`) so membership
112
+ // dedup during build is O(1), not O(k) linear-scan. A single large
113
+ // `DisjointClasses`/DKey-disjointness axiom produces O(k²) pairs; with the
114
+ // old `SmallVec::contains` that was O(k³) and stalled front-end conversion
115
+ // (ore_ont_10425: 5261 distinct data values → ~14M disjoint pairs → >150 s
116
+ // DNF). Output below is still a sorted `Box<[ClassId]>`, so the told table
117
+ // is byte-identical to the previous representation.
118
+ let mut disjoint: Vec<HashSet<ClassId>> = vec![HashSet::new(); n];
110
119
 
111
120
  let pool = &ontology.concepts;
112
121
 
@@ -234,14 +243,12 @@ fn add_edge(direct_super: &mut [SmallVec<[ClassId; 4]>], sub: ClassId, sup: Clas
234
243
  }
235
244
  }
236
245
 
237
- fn add_disjoint_pair(disjoint: &mut [SmallVec<[ClassId; 4]>], a: ClassId, b: ClassId) {
246
+ fn add_disjoint_pair(disjoint: &mut [HashSet<ClassId>], a: ClassId, b: ClassId) {
238
247
  let ai = a.index() as usize;
239
248
  let bi = b.index() as usize;
240
- if !disjoint[ai].contains(&b) {
241
- disjoint[ai].push(b);
242
- }
243
- if a != b && !disjoint[bi].contains(&a) {
244
- disjoint[bi].push(a);
249
+ disjoint[ai].insert(b);
250
+ if a != b {
251
+ disjoint[bi].insert(a);
245
252
  }
246
253
  }
247
254
 
@@ -30,14 +30,25 @@ pub(crate) fn render_manchester(path: &str) -> PyResult<Vec<String>> {
30
30
  }
31
31
 
32
32
  fn is_logical_axiom(c: &Component<RcStr>) -> bool {
33
- use Component::*;
33
+ use Component::{
34
+ AnnotationAssertion, DeclareAnnotationProperty, DeclareClass, DeclareDataProperty,
35
+ DeclareDatatype, DeclareNamedIndividual, DeclareObjectProperty, DocIRI, Import,
36
+ OntologyAnnotation, OntologyID,
37
+ };
34
38
  // Exclude declarations, imports, and ontology-level metadata; keep the
35
39
  // class/property/individual axioms that carry entailment meaning.
36
40
  !matches!(
37
41
  c,
38
- OntologyID(_) | DocIRI(_) | Import(_) | OntologyAnnotation(_)
39
- | DeclareClass(_) | DeclareObjectProperty(_) | DeclareAnnotationProperty(_)
40
- | DeclareDataProperty(_) | DeclareNamedIndividual(_) | DeclareDatatype(_)
42
+ OntologyID(_)
43
+ | DocIRI(_)
44
+ | Import(_)
45
+ | OntologyAnnotation(_)
46
+ | DeclareClass(_)
47
+ | DeclareObjectProperty(_)
48
+ | DeclareAnnotationProperty(_)
49
+ | DeclareDataProperty(_)
50
+ | DeclareNamedIndividual(_)
51
+ | DeclareDatatype(_)
41
52
  | AnnotationAssertion(_)
42
53
  )
43
54
  }
@@ -114,7 +125,7 @@ mod tests {
114
125
  use super::*;
115
126
 
116
127
  /// A⊑B, B⊑C written to a temp `.ofn` fixture; `render_manchester` should
117
- /// return one Manchester string per SubClassOf axiom, each mentioning
128
+ /// return one Manchester string per `SubClassOf` axiom, each mentioning
118
129
  /// its sub/super class, and skip the two `Declaration(Class(...))`
119
130
  /// components as non-logical noise.
120
131
  #[test]
File without changes