owl_structural_model/
annotation_axiom.rs1use crate::{AnnotationSubject, AnnotationValue, Axiom, AxiomAnnotations};
3use iri_rfc3987::Iri;
4impl<L, B> Axiom<L, B> {
5 #[must_use]
7 pub fn annotation_assertion(
8 property: Iri<String>,
9 subject: AnnotationSubject<B>,
10 value: AnnotationValue<L, B>,
11 ) -> Self {
12 Self::AnnotationAssertion {
13 property,
14 subject,
15 value,
16 annotations: AxiomAnnotations::empty(),
17 }
18 }
19 #[must_use]
21 pub fn sub_annotation_property_of(
22 sub_property: Iri<String>,
23 super_property: Iri<String>,
24 ) -> Self {
25 Self::SubAnnotationPropertyOf {
26 sub_property,
27 super_property,
28 annotations: AxiomAnnotations::empty(),
29 }
30 }
31 #[must_use]
33 pub fn annotation_property_domain(property: Iri<String>, domain: Iri<String>) -> Self {
34 Self::AnnotationPropertyDomain {
35 property,
36 domain,
37 annotations: AxiomAnnotations::empty(),
38 }
39 }
40 #[must_use]
42 pub fn annotation_property_range(property: Iri<String>, range: Iri<String>) -> Self {
43 Self::AnnotationPropertyRange {
44 property,
45 range,
46 annotations: AxiomAnnotations::empty(),
47 }
48 }
49}