Struct oxrdf::BlankNode

source ·
pub struct BlankNode(_);
Expand description

An owned RDF blank node.

The common way to create a new blank node is to use the BlankNode::default() function.

It is also possible to create a blank node from a blank node identifier using the BlankNode::new() function. The blank node identifier must be valid according to N-Triples, Turtle, and SPARQL grammars.

The default string formatter is returning an N-Triples, Turtle, and SPARQL compatible representation:

use oxrdf::BlankNode;

assert_eq!(
    "_:a122",
    BlankNode::new("a122")?.to_string()
);

Implementations§

source§

impl BlankNode

source

pub fn new(id: impl Into<String>) -> Result<Self, BlankNodeIdParseError>

Creates a blank node from a unique identifier.

The blank node identifier must be valid according to N-Triples, Turtle, and SPARQL grammars.

In most cases, it is much more convenient to create a blank node using BlankNode::default() that creates a random ID that could be easily inlined by Oxigraph stores.

source

pub fn new_unchecked(id: impl Into<String>) -> Self

Creates a blank node from a unique identifier without validation.

It is the caller’s responsibility to ensure that id is a valid blank node identifier according to N-Triples, Turtle, and SPARQL grammars.

BlankNode::new() is a safe version of this constructor and should be used for untrusted data.

source

pub fn new_from_unique_id(id: u128) -> Self

Creates a blank node from a unique numerical id.

In most cases, it is much more convenient to create a blank node using BlankNode::default().

source

pub fn as_str(&self) -> &str

Returns the underlying ID of this blank node.

source

pub fn into_string(self) -> String

Returns the underlying ID of this blank node.

source

pub fn as_ref(&self) -> BlankNodeRef<'_>

Trait Implementations§

source§

impl Clone for BlankNode

source§

fn clone(&self) -> BlankNode

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 Debug for BlankNode

source§

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

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

impl Default for BlankNode

source§

fn default() -> Self

Builds a new RDF blank node with a unique id.

source§

impl Display for BlankNode

source§

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

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

impl<'a> From<&'a BlankNode> for BlankNodeRef<'a>

source§

fn from(node: &'a BlankNode) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a BlankNode> for GraphNameRef<'a>

source§

fn from(node: &'a BlankNode) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a BlankNode> for NamedOrBlankNodeRef<'a>

source§

fn from(node: &'a BlankNode) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a BlankNode> for SubjectRef<'a>

source§

fn from(node: &'a BlankNode) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a BlankNode> for TermRef<'a>

source§

fn from(node: &'a BlankNode) -> Self

Converts to this type from the input type.
source§

impl From<BlankNode> for GraphName

source§

fn from(node: BlankNode) -> Self

Converts to this type from the input type.
source§

impl From<BlankNode> for NamedOrBlankNode

source§

fn from(node: BlankNode) -> Self

Converts to this type from the input type.
source§

impl From<BlankNode> for Subject

source§

fn from(node: BlankNode) -> Self

Converts to this type from the input type.
source§

impl From<BlankNode> for Term

source§

fn from(node: BlankNode) -> Self

Converts to this type from the input type.
source§

impl<'a> From<BlankNodeRef<'a>> for BlankNode

source§

fn from(node: BlankNodeRef<'a>) -> Self

Converts to this type from the input type.
source§

impl FromStr for BlankNode

source§

fn from_str(s: &str) -> Result<Self, TermParseError>

Parses a blank node from its NTriples and Turtle serialization

use oxrdf::BlankNode;
use std::str::FromStr;

assert_eq!(BlankNode::from_str("_:ex").unwrap(), BlankNode::new("ex").unwrap())
§

type Err = TermParseError

The associated error which can be returned from parsing.
source§

impl Hash for BlankNode

source§

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

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<BlankNode> for BlankNode

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<BlankNode> for BlankNodeRef<'_>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<BlankNodeRef<'_>> for BlankNode

source§

fn eq(&self, other: &BlankNodeRef<'_>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for BlankNode

source§

impl StructuralEq for BlankNode

source§

impl StructuralPartialEq for BlankNode

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere T: Clone,

§

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 Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V