Struct rio_turtle::GTriGParser

source ·
pub struct GTriGParser<R: BufRead> { /* private fields */ }
Expand description

A TriG streaming parser parsing generalized quads.

It implements the GeneralizedQuadsParser trait. Using it requires to enable the generalized feature.

Count the number of people using the QuadsParser API:

use rio_turtle::{GTriGParser, TurtleError};
use rio_api::parser::GeneralizedQuadsParser;
use rio_api::model::NamedNode;

let file = b"@prefix schema: <http://schema.org/> .
<http://example/> {
    <http://example.com/foo> a schema:Person ;
        schema:name  ?name .
    <http://example.com/bar> a schema:Person ;
        schema:name  ?name .
}";

let rdf_type = NamedNode { iri: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" };
let schema_person = NamedNode { iri: "http://schema.org/Person" };
let mut count = 0;
GTriGParser::new(file.as_ref(), None).parse_all(&mut |t| {
    if t.predicate == rdf_type.into() && t.object == schema_person.into() {
        count += 1;
    }
    Ok(()) as Result<(), TurtleError>
})?;
assert_eq!(2, count);

Implementations§

source§

impl<R: BufRead> GTriGParser<R>

source

pub fn new(reader: R, base_iri: Option<Iri<String>>) -> Self

Builds the parser from a BufRead implementation, and a base IRI for relative IRI resolution.

Trait Implementations§

source§

impl<R: BufRead> GeneralizedQuadsParser for GTriGParser<R>

§

type Error = TurtleError

source§

fn parse_step<E: From<TurtleError>>( &mut self, on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E> ) -> Result<(), E>

Parses a small chunk of the file and calls on_quad each time a new quad is read. (A “small chunk” could be a line for an N-Quads parser.) Read more
source§

fn is_end(&self) -> bool

Returns true if the file has been completely consumed by the parser.
source§

fn parse_all<E>( &mut self, on_quad: &mut impl FnMut(GeneralizedQuad<'_>) -> Result<(), E> ) -> Result<(), E>where E: From<Self::Error>,

Parses the complete file and calls on_quad each time a new quad is read. Read more
source§

fn into_iter<T, E, F>( self, convert_quad: F ) -> GeneralizedQuadsParserIterator<T, E, F, Self>where E: From<Self::Error>, F: FnMut(GeneralizedQuad<'_>) -> Result<T, E>, Self: Sized,

Converts the parser into a Result<T, E> iterator. Read more

Auto Trait Implementations§

§

impl<R> RefUnwindSafe for GTriGParser<R>where R: RefUnwindSafe,

§

impl<R> Send for GTriGParser<R>where R: Send,

§

impl<R> Sync for GTriGParser<R>where R: Sync,

§

impl<R> Unpin for GTriGParser<R>where R: Unpin,

§

impl<R> UnwindSafe for GTriGParser<R>where R: UnwindSafe,

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, 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.