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);