1#![warn(missing_docs)]
39
40mod axiom;
41mod consistency;
42mod dirty;
43mod dl;
44mod engine;
45mod entity;
46mod error;
47mod graph;
48mod iri;
49mod limits;
50mod ontology;
51mod parse_meta;
52mod reasoner;
53mod serialize;
54mod session;
55mod swrl;
56mod taxonomy;
57mod trace;
58
59pub use axiom::{Axiom, AxiomId, DataLiteral};
60pub use consistency::ConsistencyResult;
61pub use dirty::{DirtySet, OntologyRevision, axiom_signature};
62pub use dl::{CeId, ClassExpr, DataExpr, DeId, DlAxiom, DlStore, RoleExpr};
63pub use engine::{DetectedProfileKind, EngineKind, ResolvedRoute, uses_dl_entailment};
64pub use entity::{EntityId, EntityKind, EntityRecord, EntityRegistry};
65pub use error::{Error, Result};
66pub use graph::{AxiomIndex, AxiomStore};
67pub use iri::{
68 InternPool, IriId, validate_iri, validate_snapshot_iri, validate_snapshot_iri_with_max_len,
69};
70pub use limits::Limits;
71pub use ontology::{Ontology, OntologyBuilder};
72pub use parse_meta::{OwlConstruct, ParseMeta, ParseMetaSummary};
73pub use reasoner::{Profile, Reasoner, ReasonerBuilder, ReasonerConfig};
74pub use session::ReasonerSession;
75pub use swrl::{SwrlAtom, SwrlDArg, SwrlIArg, SwrlRule};
76pub use taxonomy::Taxonomy;
77pub use trace::{InferenceTrace, TraceConclusion, TracePremise, TraceStep};
78
79#[cfg(test)]
80mod integration_tests {
81 use super::*;
82
83 #[test]
84 fn reasoner_rejects_invalid_parallelism() {
85 let ontology = Ontology::default();
86 let err = Reasoner::builder()
87 .config(ReasonerConfig {
88 parallelism: 0,
89 ..ReasonerConfig::default()
90 })
91 .build(ontology)
92 .expect_err("parallelism");
93 assert!(matches!(err, Error::Message(_)));
94 }
95}