[−][src]Module sophia::term
Terms are the building blocks of an RDF graph. There are four types of terms: IRIs, blank nodes (BNode for short), literals and variables.
NB: variable only exist in generalized RDF.
This module defines a generic type Term
which can be derived differently depending on your needs.
-
RefTerm<'a>
(alias ofTerm<&'a str>
) should be used for very short-lived terms, i.e. terms that live less than'a
, which is the lifetime of their underlying text. -
BoxTerm
(alias ofTerm<Box<str>>
) should be used when the term may outlive the text used to create it. -
RcTerm
(alias ofTerm<Rc<str>>
) should also be used for long-lived terms, especially if they need to be cloned multiple times. The use ofRc
prevents the duplication of the underlying text, while ensuring that it is cleaned when appropriate. -
ArcTerm
(alias ofTerm<Arc<str>>
) should be used when, additionally, terms need to be sent to other threads. -
StaticTerm
(alias ofTerm<&'static str>) is a special case of
RefTerm` where the underlying text is a static string. Those terms can live as long as the program runs, and be cloned and sent without any restriction.
Re-exports
pub use self::LiteralKind::*; |
pub use self::Term::*; |
Modules
factory | A |
index_map | A trait for bidirectional mappings between terms and indexes of a smaller type. |
iri_rfc3987 | Implementation of IRIs as per [RFC 3987]. |
matcher | This crate defines generic traits and default implementations for matchers, objects that can be used to match zero, one or several terms. |
Structs
BNodeId | Internal representation of a blank node identifier. |
IriData | Internal representation of an IRI. |
Enums
LiteralKind | There are two kinds of literals: language-tagged, and typed. |
Normalization | Noramlization policies are used to ensure that IRIs are represented in a given format. |
Term | Generic type for RDF terms. |
TermError | This error is raised when the creation of a term fails. |
Traits
TermData | Trait alias for types holding the textual data of terms. |
Functions
same_graph_name | Check the equality of two graph names ( |
Type Definitions
ArcTerm | Convenient alias for a specialization of |
BoxTerm | Convenient alias for a specialization of |
RcTerm | Convenient alias for a specialization of |
RefTerm | Convenient alias for a specialization of |
Result | |
StaticTerm | Convenient alias for a specialization of |