tiny_dl/
lib.rs

1
2struct Symbol(String);
3
4struct Role(Symbol);
5
6enum Concept {
7    Atomic(Symbol),
8    Conjunction(Box<Concept>, Box<Concept>),
9    Disjunction(Box<Concept>, Box<Concept>),
10    Negation(Box<Concept>),
11    Subsumption(Box<Concept>, Box<Concept>),
12    Equivalence(Box<Concept>, Box<Concept>),
13    ExistentialRestriction(Box<Concept>, Role),
14    ValueRestriction(Box<Concept>, Role)
15}
16
17struct RoleInstance(Role, Concept, Concept);