pub enum Axiom {
Declaration {
entity: Entity,
annotations: AxiomAnnotations,
},
SubClassOf {
sub_class: ClassExpression,
super_class: ClassExpression,
annotations: AxiomAnnotations,
},
EquivalentClasses {
classes: Vec<ClassExpression>,
annotations: AxiomAnnotations,
},
DisjointClasses {
classes: Vec<ClassExpression>,
annotations: AxiomAnnotations,
},
ObjectPropertyDomain {
property: ObjectPropertyExpression,
domain: ClassExpression,
annotations: AxiomAnnotations,
},
AnnotationAssertion {
property: Iri<String>,
subject: AnnotationSubject,
value: AnnotationValue,
annotations: AxiomAnnotations,
},
}Expand description
An OWL structural axiom.
Variants§
Declaration
An entity declaration.
SubClassOf
A subclass axiom.
Fields
sub_class: ClassExpressionSubclass expression.
super_class: ClassExpressionSuperclass expression.
annotations: AxiomAnnotationsAxiom annotations.
EquivalentClasses
An equivalent-classes axiom.
Fields
classes: Vec<ClassExpression>Equivalent class expressions.
annotations: AxiomAnnotationsAxiom annotations.
DisjointClasses
A disjoint-classes axiom.
Fields
classes: Vec<ClassExpression>Disjoint class expressions.
annotations: AxiomAnnotationsAxiom annotations.
ObjectPropertyDomain
An object-property domain axiom.
Fields
property: ObjectPropertyExpressionObject property expression.
domain: ClassExpressionDomain class expression.
annotations: AxiomAnnotationsAxiom annotations.
AnnotationAssertion
An annotation assertion axiom.
Fields
subject: AnnotationSubjectAnnotation assertion subject.
value: AnnotationValueAnnotation assertion value.
annotations: AxiomAnnotationsAxiom annotations.
Implementations§
Source§impl Axiom
impl Axiom
Sourcepub fn declaration(entity: Entity) -> Self
pub fn declaration(entity: Entity) -> Self
Create a declaration axiom without axiom annotations.
Sourcepub fn sub_class_of(
sub_class: ClassExpression,
super_class: ClassExpression,
) -> Self
pub fn sub_class_of( sub_class: ClassExpression, super_class: ClassExpression, ) -> Self
Create a subclass axiom without axiom annotations.
Sourcepub fn equivalent_classes(
classes: Vec<ClassExpression>,
) -> Result<Self, StructuralModelError>
pub fn equivalent_classes( classes: Vec<ClassExpression>, ) -> Result<Self, StructuralModelError>
Create an equivalent-classes axiom without axiom annotations.
§Errors
Returns StructuralModelError::InvalidFormat when fewer than two
class expressions are supplied.
Sourcepub fn disjoint_classes(
classes: Vec<ClassExpression>,
) -> Result<Self, StructuralModelError>
pub fn disjoint_classes( classes: Vec<ClassExpression>, ) -> Result<Self, StructuralModelError>
Create a disjoint-classes axiom without axiom annotations.
§Errors
Returns StructuralModelError::InvalidFormat when fewer than two
class expressions are supplied.