Repository navigation
HOWL 0.4.0: sriq
HOWL 0.4.0 adds sriq, a third profile. It reasons over inverses, unions, ∀, full negation and qualified cardinalities, which el and el++ omit.
Highlights
--profile sriq: the SRIQ object fragment with an ABox. It is available from the CLI, the C API and the Rust crate (Profile::Sriq).- BFO-core and CCO are fully covered and match HermiT on every class pair.
autopicks amongel,el++andsriq: the cheapest profile that covers the ontology, or else the one that omits least.- Bounded runs:
sriqstops at a fixed budget of 500,000 clauses. A run that hits the budget is inconclusive (exit 2) unless it has already found an inconsistency or an unsatisfiable class. Whenautopickedsriqand the budget is hit, it falls back toelorel++and notes this on stderr.
What changes if you're upgrading from 0.3.0
- The default profile is still
el. Nothing changes unless you ask forsriqorauto. - Under
auto, ontologies with inverses or unions now run undersriq. The report'sprofileline says which profile answered. - The report format, exit codes, C ABI and Rust API are unchanged.
- Every profile: OWL 1-style
owl:intersectionOf/unionOf/oneOfon a named class is now reported as an omission instead of silently ignored. A report that used to say coherent may now say inconclusive.
Fixes
- The named-class
owl:intersectionOfcase above. - A literal quoted in an omission is now escaped, so a multi-line literal can no longer break the report format.
Known limits
sriqruns single-threaded.--workersis accepted and the report is identical at any worker count.- RO hits the budget under
sriq, andautofalls back toel++, which omits RO's inverses. Both runs are inconclusive. - OBI is out of
sriq's reach.autofalls back toel++. - Performance against HermiT and Sequoia has not been measured yet.
Get it
- CLI and C library: the binaries and
libhowlzips below, for macOS arm64, Linux x86_64 and Windows x86_64. - Rust:
howl-reasoner = "0.4.0"on crates.io.
The full list of changes is in CHANGELOG.md.