[−][src]Crate sophia_term
This crate is part of Sophia, an RDF and Linked Data toolkit in Rust.
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. -
MownTerm
(alias of `Term<MownStr<'a>>) should be used in situations where some terms can borrow their data, while others need to own it.
Modules
blank_node | Blank node like specified in RDF. |
factory | A |
index_map | A trait for bidirectional mappings between terms and indexes of a smaller type. |
iri | IRIs for identifying resources like specified in RDF. |
literal | RDF literals like specified in RDF. |
matcher | This line re-exports the module |
ns | This module re-exports things from |
variable | Variables like used in SPARQL or universally quantified variables in Notation3. |
Enums
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 | This line re-exports |
Type Definitions
ArcTerm | Convenient alias for a specialization of |
BoxTerm | Convenient alias for a specialization of |
MownTerm | Convenient alias for a specialization of |
RcTerm | Convenient alias for a specialization of |
RefTerm | Convenient alias for a specialization of |
Result | Type alias for |
StaticTerm | Convenient alias for a specialization of |