sophia_api::ns

Struct NsTerm

Source
pub struct NsTerm<'a> { /* private fields */ }
Expand description

A Term produced by a Namespace.

The raison d’être of this type, compared to IriRef<&str>, is that it stored the IRI in two parts (namespace and suffix), so that the namespace can be reused by multiple distinct terms.

It makes sense for Namespaces, whose terms all have the same prefix.

Implementations§

Source§

impl<'a> NsTerm<'a>

Source

pub const fn new_unchecked(ns: IriRef<&'a str>, suffix: &'a str) -> Self

Make an NsTerm without checking that it produces a valid IRI.

Source

pub fn iriref(&self) -> IriRef<MownStr<'_>>

Return an IriRef representing this term.

Source

pub fn to_iriref(self) -> IriRef<MownStr<'a>>

Return an IriRef representing this term.

Trait Implementations§

Source§

impl<'a> Clone for NsTerm<'a>

Source§

fn clone(&self) -> NsTerm<'a>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for NsTerm<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for NsTerm<'_>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Mul<NsTerm<'a>> for &'a str

Source§

type Output = SimpleTerm<'a>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: NsTerm<'a>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a> Mul<NsTerm<'a>> for Any

Source§

type Output = DatatypeMatcher<MownStr<'a>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: NsTerm<'a>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'a, T: Term> PartialEq<T> for NsTerm<'a>

Source§

fn eq(&self, other: &T) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Term for NsTerm<'a>

Source§

type BorrowTerm<'x> = &'x NsTerm<'a> where 'a: 'x

A type of Term that can be borrowed from this type (i.e. that can be obtained from a simple reference to this type). It is used in particular for accessing constituents of quoted tripes (Term::triple) or for sharing this term with a function that expects T: Term (rather than &T) using Term::borrow_term. Read more
Source§

fn kind(&self) -> TermKind

Return the kind of RDF term that this Term represents.
Source§

fn iri(&self) -> Option<IriRef<MownStr<'_>>>

If kind returns TermKind::Iri, return this IRI. Otherwise return None. Read more
Source§

fn borrow_term(&self) -> Self::BorrowTerm<'_>

Get something implementing Term from a simple reference to self, representing the same RDF term as self. Read more
Source§

fn eq<T: Term>(&self, other: T) -> bool

Check whether self and other represent the same RDF term.
Source§

fn is_iri(&self) -> bool

Return true if this Term is an IRI, i.e. if kind retuns TermKind::Iri.
Source§

fn is_blank_node(&self) -> bool

Return true if this Term is a blank node, i.e. if kind retuns TermKind::BlankNode.
Source§

fn is_literal(&self) -> bool

Return true if this Term is a literal, i.e. if kind retuns TermKind::Literal.
Source§

fn is_variable(&self) -> bool

Return true if this Term is a variable, i.e. if kind retuns TermKind::Variable.
Source§

fn is_atom(&self) -> bool

Return true if this Term is an atomic term, i.e. an IRI, a blank node, a literal or a variable.
Source§

fn is_triple(&self) -> bool

Return true if this Term is an RDF-star quoted triple, i.e. if kind retuns TermKind::Triple.
Source§

fn bnode_id(&self) -> Option<BnodeId<MownStr<'_>>>

If kind returns TermKind::BlankNode, return the locally unique label of this blank node. Otherwise return None. Read more
Source§

fn lexical_form(&self) -> Option<MownStr<'_>>

If kind returns TermKind::Literal, return the lexical form of this literal. Otherwise return None. Read more
Source§

fn datatype(&self) -> Option<IriRef<MownStr<'_>>>

If kind returns TermKind::Literal, return the datatype IRI of this literal. Otherwise return None. Read more
Source§

fn language_tag(&self) -> Option<LanguageTag<MownStr<'_>>>

If kind returns TermKind::Literal, and if this literal is a language-tagged string, return its language tag. Otherwise return None. Read more
Source§

fn variable(&self) -> Option<VarName<MownStr<'_>>>

If kind returns TermKind::Variable, return the name of this variable. Otherwise return None. Read more
Source§

fn triple(&self) -> Option<[Self::BorrowTerm<'_>; 3]>

If kind returns TermKind::Triple, return this triple. Otherwise return None. Read more
Source§

fn to_triple(self) -> Option<[Self; 3]>
where Self: Sized,

If kind returns TermKind::Triple, return this triple, consuming this term. Otherwise return None. Read more
Source§

fn constituents<'s>( &'s self, ) -> Box<dyn Iterator<Item = Self::BorrowTerm<'s>> + 's>

Iter over all the constituents of this term. Read more
Source§

fn to_constituents<'a>(self) -> Box<dyn Iterator<Item = Self> + 'a>
where Self: Clone + 'a,

Iter over all the constiutents of this term, consuming it. Read more
Source§

fn atoms<'s>(&'s self) -> Box<dyn Iterator<Item = Self::BorrowTerm<'s>> + 's>

Iter over all the atomic constituents of this term. Read more
Source§

fn to_atoms<'a>(self) -> Box<dyn Iterator<Item = Self> + 'a>
where Self: Sized + 'a,

Iter over all the atomic constituents of this term, consuming it. Read more
Source§

fn cmp<T>(&self, other: T) -> Ordering
where T: Term,

Compare two terms: Read more
Source§

fn hash<H: Hasher>(&self, state: &mut H)

Compute an implementation-independant hash of this RDF term.
Source§

fn into_term<T: FromTerm>(self) -> T
where Self: Sized,

Convert this term in another type. Read more
Source§

fn try_into_term<T: TryFromTerm>(self) -> Result<T, T::Error>
where Self: Sized,

Try to convert this term into another type. Read more
Source§

fn as_simple(&self) -> SimpleTerm<'_>

Copies this term into a SimpleTerm, borrowing as much as possible from self (calling SimpleTerm::from_term_ref).
Source§

impl<'a> Copy for NsTerm<'a>

Source§

impl<'a> Eq for NsTerm<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for NsTerm<'a>

§

impl<'a> RefUnwindSafe for NsTerm<'a>

§

impl<'a> Send for NsTerm<'a>

§

impl<'a> Sync for NsTerm<'a>

§

impl<'a> Unpin for NsTerm<'a>

§

impl<'a> UnwindSafe for NsTerm<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.