Enum horned_owl::model::ClassExpression
source · pub enum ClassExpression<A> {
Show 18 variants
Class(Class<A>),
ObjectIntersectionOf(Vec<ClassExpression<A>>),
ObjectUnionOf(Vec<ClassExpression<A>>),
ObjectComplementOf(Box<ClassExpression<A>>),
ObjectOneOf(Vec<Individual<A>>),
ObjectSomeValuesFrom {
ope: ObjectPropertyExpression<A>,
bce: Box<ClassExpression<A>>,
},
ObjectAllValuesFrom {
ope: ObjectPropertyExpression<A>,
bce: Box<ClassExpression<A>>,
},
ObjectHasValue {
ope: ObjectPropertyExpression<A>,
i: Individual<A>,
},
ObjectHasSelf(ObjectPropertyExpression<A>),
ObjectMinCardinality {
n: u32,
ope: ObjectPropertyExpression<A>,
bce: Box<ClassExpression<A>>,
},
ObjectMaxCardinality {
n: u32,
ope: ObjectPropertyExpression<A>,
bce: Box<ClassExpression<A>>,
},
ObjectExactCardinality {
n: u32,
ope: ObjectPropertyExpression<A>,
bce: Box<ClassExpression<A>>,
},
DataSomeValuesFrom {
dp: DataProperty<A>,
dr: DataRange<A>,
},
DataAllValuesFrom {
dp: DataProperty<A>,
dr: DataRange<A>,
},
DataHasValue {
dp: DataProperty<A>,
l: Literal<A>,
},
DataMinCardinality {
n: u32,
dp: DataProperty<A>,
dr: DataRange<A>,
},
DataMaxCardinality {
n: u32,
dp: DataProperty<A>,
dr: DataRange<A>,
},
DataExactCardinality {
n: u32,
dp: DataProperty<A>,
dr: DataRange<A>,
},
}
Expand description
A class expression
As well as a named class, it is possible to define classes of individuals based on these class constructors.
Variants§
Class(Class<A>)
A named class
ObjectIntersectionOf(Vec<ClassExpression<A>>)
The boolean and
The class of individuals which are individuals of all these classes.
ObjectUnionOf(Vec<ClassExpression<A>>)
The boolean or
The class of individuals which are individuals of any of these classes.
ObjectComplementOf(Box<ClassExpression<A>>)
The boolean not
The class of individuals which are not individuals of any of these classes.
ObjectOneOf(Vec<Individual<A>>)
An enumeration of individuals
This is the class containing exactly the given set of individuals.
ObjectSomeValuesFrom
An existential relationship
This is the anonymous class of individuals i
, which have the
relationship o
to a class expression ce
. Every individual
in i
must have this relationship to one individual in ce
.
ObjectAllValuesFrom
A universal relationship
This is the anonymous class of individuals i
where all
individuals which are related by o
are instances of
ce
. This does not imply that the i
necessarily has any
relation r
.
ObjectHasValue
An existential relationship to an individual
This is the class of individuals c
which have the
relationship o
to another individual i
. Every individual
in c
must have this relationship to the individual i
ObjectHasSelf(ObjectPropertyExpression<A>)
The class of individuals which have a relation to themselves
Given a object property r
, this class defines all the
individuals where i r i
.
ObjectMinCardinality
A min cardinality relationship between individuals
Given an object property o
and a class ce
, this describes
the class of individuals which have the o
relationship to at
least n
other individuals.
ObjectMaxCardinality
A max cardinality relationship between individuals
Given an object property o
and a class ce
, this describes
the class of individuals which have the o
relationship to at
most n
other individuals.
ObjectExactCardinality
An exact cardinality relationship between individuals
Given an object property o
and a class ce
, this describes
the class of individuals which have the o
relationship to exactly
n
other individuals.
DataSomeValuesFrom
An existential relationship.
This is the anonymous class of individuals i
which have the
relationship dp
to the data range, dr
. Every individual
i
must have this relationship to data constrained by dr
.
See also: Existential Quantification
DataAllValuesFrom
A universal relationship.
This is the anonymous class of individuals i
which if they
have a relationship dp
to some data, then that must be of
type dr
.
See also Universal Quantification
DataHasValue
A has-value relationship.
This is the class of individuals, i
, which have the
relationship dp
to exactly the literal l
.
See also Value Restriction
DataMinCardinality
A minimum cardinality restriction
The class of individuals have at least n
relationships of
the kind dp
to a given data range dr
.
See also Min Cardinality
DataMaxCardinality
A max cardinality restriction
The class of individuals have at most n
relationships of
the kind dp
to a given data range dr
.
See also Max Cardinality
DataExactCardinality
An exact cardinality restriction
The class of individuals have exactly n
relationships of
the kind dp
to a given data range dr
.
See also Exactly Cardinality
Trait Implementations§
source§impl<A: ForIRI> AsFunctional<A> for ClassExpression<A>
impl<A: ForIRI> AsFunctional<A> for ClassExpression<A>
source§fn as_functional(&self) -> Functional<'_, Self, A>
fn as_functional(&self) -> Functional<'_, Self, A>
source§fn as_functional_with_prefixes<'t>(
&'t self,
prefix: &'t PrefixMapping
) -> Functional<'t, Self, A>
fn as_functional_with_prefixes<'t>( &'t self, prefix: &'t PrefixMapping ) -> Functional<'t, Self, A>
source§impl<A: Clone> Clone for ClassExpression<A>
impl<A: Clone> Clone for ClassExpression<A>
source§fn clone(&self) -> ClassExpression<A>
fn clone(&self) -> ClassExpression<A>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<A: Debug> Debug for ClassExpression<A>
impl<A: Debug> Debug for ClassExpression<A>
source§impl<'a, A: ForIRI> From<&'a Class<A>> for ClassExpression<A>
impl<'a, A: ForIRI> From<&'a Class<A>> for ClassExpression<A>
source§fn from(c: &'a Class<A>) -> ClassExpression<A>
fn from(c: &'a Class<A>) -> ClassExpression<A>
source§impl<A: ForIRI> From<Class<A>> for ClassExpression<A>
impl<A: ForIRI> From<Class<A>> for ClassExpression<A>
source§fn from(c: Class<A>) -> ClassExpression<A>
fn from(c: Class<A>) -> ClassExpression<A>
source§impl<A: Hash> Hash for ClassExpression<A>
impl<A: Hash> Hash for ClassExpression<A>
source§impl<A: Ord> Ord for ClassExpression<A>
impl<A: Ord> Ord for ClassExpression<A>
source§fn cmp(&self, other: &ClassExpression<A>) -> Ordering
fn cmp(&self, other: &ClassExpression<A>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<A: PartialEq> PartialEq for ClassExpression<A>
impl<A: PartialEq> PartialEq for ClassExpression<A>
source§fn eq(&self, other: &ClassExpression<A>) -> bool
fn eq(&self, other: &ClassExpression<A>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<A: PartialOrd> PartialOrd for ClassExpression<A>
impl<A: PartialOrd> PartialOrd for ClassExpression<A>
source§fn partial_cmp(&self, other: &ClassExpression<A>) -> Option<Ordering>
fn partial_cmp(&self, other: &ClassExpression<A>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl<A: Eq> Eq for ClassExpression<A>
impl<A> StructuralPartialEq for ClassExpression<A>
Auto Trait Implementations§
impl<A> Freeze for ClassExpression<A>where
A: Freeze,
impl<A> RefUnwindSafe for ClassExpression<A>where
A: RefUnwindSafe,
impl<A> Send for ClassExpression<A>where
A: Send,
impl<A> Sync for ClassExpression<A>where
A: Sync,
impl<A> Unpin for ClassExpression<A>where
A: Unpin,
impl<A> UnwindSafe for ClassExpression<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.