This is an experimental implementation of Whelk in Rust
Clone this repo, change into the whelk-rs directory (cd whelk-rs), and then:
cargo build --release./target/release/whelk -i path/to/ontology.owlTo write named class subsumptions as tab-separated IRIs:
cargo run --release -- -i path/to/ontology.owl --subsumptionsUse --asserted-subsumptions to print named class subsumptions translated from the input without running Whelk.
cargo test --release -- --nocaptureInstall ROBOT and make sure robot is on PATH, or set ROBOT=/path/to/robot.
The ELK tests are ignored by default because they run external commands; mismatches are reported as test failures with example pairs.
Compare Whelk's reasoned named class subsumptions with ELK's materialized hierarchy:
scripts/compare-with-elk.sh path/to/ontology.owx target/elk-validation/ontologyThis also writes whelk-unsatisfiable.tsv and asks ELK for unsatisfiability explanations in elk-unsatisfiable.md.
Validate the checked-in inference fixtures against ELK:
cargo test --release --test elk_validation fixture_expectations_match_elk -- --ignored --nocaptureRun the ignored Whelk/ELK ontology comparison as a test:
WHELK_ELK_ONTOLOGY=path/to/ontology.owx cargo test --release --test elk_validation whelk_matches_elk_for_input_ontology -- --ignored --nocapture