1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
/*! This module contains the traits and types used to describe an abstract DataSet, Graph, and Statement RDF model. */ // ------------------------------------------------------------------------------------------------ // Public Types // ------------------------------------------------------------------------------------------------ /// /// A trait implemented by types that are constructed by providers. This allows for providers to /// ensure that values belong to them. /// /// Note, by convention the fully qualified crate/module name is used as a provider name. /// pub trait Provided { /// /// Return the identifier for the provider associated with this instance. /// fn provider_id(&self) -> &'static str; } /// /// Denotes equivalence between Self and some other type. Equivalence is a very specific, /// non-symmetric, non-transitive, directed type to type equality. /// pub trait Equiv<T> where T: Sized, { /// Returns `true` if `other` is equivalent to `self`, else `false`. fn eqv(&self, other: &T) -> bool; /// Returns `true` if `other` is **not** equivalent to `self`, else `false`. fn not_eqv(&self, other: &T) -> bool { !self.eqv(other) } } // ------------------------------------------------------------------------------------------------ // Private Types // ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------ // Public Functions // ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------ // Implementations // ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------ // Private Functions // ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------ // Modules // ------------------------------------------------------------------------------------------------ pub mod data_set; pub mod features; pub mod graph; pub mod literal; pub mod qname; pub mod statement;