pub enum ValidId<I = IriBuf, B = BlankIdBuf> {
Blank(B),
Iri(I),
}
Expand description
RDF Subject.
Either a blank node identifier or an IRI.
Hash
implementation
It is guaranteed that the Hash
implementation of Subject
is
transparent, meaning that the hash of Term::Blank(id)
the same as id
and the hash of Subject::Iri(iri)
is the same as iri
.
Variants§
Implementations§
source§impl<I, B> Subject<I, B>
impl<I, B> Subject<I, B>
pub fn is_blank(&self) -> bool
pub fn is_iri(&self) -> bool
pub fn as_blank(&self) -> Option<&B>
pub fn as_iri(&self) -> Option<&I>
pub fn into_blank(self) -> Option<B>
pub fn into_iri(self) -> Option<I>
pub fn into_term<L>(self) -> Term<I, B, L>
pub fn as_str(&self) -> &strwhere
I: AsRef<str>,
B: AsRef<str>,
source§impl Subject<IriBuf, BlankIdBuf>
impl Subject<IriBuf, BlankIdBuf>
pub fn as_subject_ref(&self) -> Subject<Iri<'_>, &BlankId>
pub fn as_graph_label_ref(&self) -> Subject<Iri<'_>, &BlankId>
pub fn as_term_ref(
&self
) -> Term<Iri<'_>, &BlankId, &Literal<StringLiteral, IriBuf, LanguageTagBuf<Vec<u8, Global>>>>
pub fn inserted_into<V>(
&self,
vocabulary: &mut V
) -> Subject<<V as IriVocabulary>::Iri, <V as BlankIdVocabulary>::BlankId>where
V: VocabularyMut,
pub fn insert_into<V>(
self,
vocabulary: &mut V
) -> Subject<<V as IriVocabulary>::Iri, <V as BlankIdVocabulary>::BlankId>where
V: VocabularyMut,
source§impl<'a> Subject<Iri<'a>, &'a BlankId>
impl<'a> Subject<Iri<'a>, &'a BlankId>
pub fn into_owned(self) -> Subject<IriBuf, BlankIdBuf>
Trait Implementations§
source§impl<I, B, V> AsRefWithContext<str, V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
impl<I, B, V> AsRefWithContext<str, V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
fn as_ref_with<'a>(&'a self, vocabulary: &'a V) -> &'a str
source§impl<I, B, V> DisplayWithContext<V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
impl<I, B, V> DisplayWithContext<V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
source§impl<T, B> MappedEq<Subject<T, B>> for Subject<T, B>where
T: PartialEq<T>,
B: PartialEq<B>,
impl<T, B> MappedEq<Subject<T, B>> for Subject<T, B>where
T: PartialEq<T>,
B: PartialEq<B>,
type BlankId = B
source§fn mapped_eq<'a, 'b, F>(&'a self, other: &Subject<T, B>, f: F) -> boolwhere
F: Clone + Fn(&'a <Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId) -> &'b <Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId,
<Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId: 'a + 'b,
fn mapped_eq<'a, 'b, F>(&'a self, other: &Subject<T, B>, f: F) -> boolwhere
F: Clone + Fn(&'a <Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId) -> &'b <Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId,
<Subject<T, B> as MappedEq<Subject<T, B>>>::BlankId: 'a + 'b,
Structural equality with mapped blank identifiers. Read more
source§impl<I, B> Ord for Subject<I, B>where
I: Ord,
B: Ord,
impl<I, B> Ord for Subject<I, B>where
I: Ord,
B: Ord,
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<I1, B1, I2, B2> PartialEq<Subject<I2, B2>> for Subject<I1, B1>where
I1: PartialEq<I2>,
B1: PartialEq<B2>,
impl<I1, B1, I2, B2> PartialEq<Subject<I2, B2>> for Subject<I1, B1>where
I1: PartialEq<I2>,
B1: PartialEq<B2>,
source§impl<I1, B1, I2, B2> PartialOrd<Subject<I2, B2>> for Subject<I1, B1>where
I1: PartialOrd<I2>,
B1: PartialOrd<B2>,
impl<I1, B1, I2, B2> PartialOrd<Subject<I2, B2>> for Subject<I1, B1>where
I1: PartialOrd<I2>,
B1: PartialOrd<B2>,
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<I, B, V> RdfDisplayWithContext<V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
impl<I, B, V> RdfDisplayWithContext<V> for Subject<I, B>where
V: Vocabulary<Iri = I, BlankId = B>,
source§impl<I, B> StrippedHash for Subject<I, B>where
I: Hash,
B: Hash,
impl<I, B> StrippedHash for Subject<I, B>where
I: Hash,
B: Hash,
fn stripped_hash<H>(&self, state: &mut H)where
H: Hasher,
source§impl<I, B> StrippedOrd for Subject<I, B>where
I: Ord,
B: Ord,
impl<I, B> StrippedOrd for Subject<I, B>where
I: Ord,
B: Ord,
fn stripped_cmp(&self, other: &Subject<I, B>) -> Ordering
source§impl<I, B, __I, __B> StrippedPartialEq<Subject<__I, __B>> for Subject<I, B>where
I: PartialEq<__I>,
B: PartialEq<__B>,
impl<I, B, __I, __B> StrippedPartialEq<Subject<__I, __B>> for Subject<I, B>where
I: PartialEq<__I>,
B: PartialEq<__B>,
fn stripped_eq(&self, other: &Subject<__I, __B>) -> bool
source§impl<I, B, __I, __B> StrippedPartialOrd<Subject<__I, __B>> for Subject<I, B>where
I: PartialOrd<__I>,
B: PartialOrd<__B>,
impl<I, B, __I, __B> StrippedPartialOrd<Subject<__I, __B>> for Subject<I, B>where
I: PartialOrd<__I>,
B: PartialOrd<__B>,
impl<I, B> Copy for Subject<I, B>where
I: Copy,
B: Copy,
impl<I, B> Eq for Subject<I, B>where
I: Eq,
B: Eq,
impl<I, B> StrippedEq for Subject<I, B>where
I: Eq,
B: Eq,
impl<I, B> StructuralEq for Subject<I, B>
Auto Trait Implementations§
impl<I, B> RefUnwindSafe for Subject<I, B>where
B: RefUnwindSafe,
I: RefUnwindSafe,
impl<I, B> Send for Subject<I, B>where
B: Send,
I: Send,
impl<I, B> Sync for Subject<I, B>where
B: Sync,
I: Sync,
impl<I, B> Unpin for Subject<I, B>where
B: Unpin,
I: Unpin,
impl<I, B> UnwindSafe for Subject<I, B>where
B: UnwindSafe,
I: UnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.