Struct rio_turtle::NQuadsParser[][src]

pub struct NQuadsParser<R: BufRead> { /* fields omitted */ }

A N-Quads streaming parser.

It implements the QuadsParser trait.

Its memory consumption is linear in the size of the longest line of the file. It does not do any allocation during parsing except buffer resizing if a line significantly longer than the previous is encountered.

Count the number of people using the QuadsParser API:

use rio_turtle::{NQuadsParser, TurtleError};
use rio_api::parser::QuadsParser;
use rio_api::model::NamedNode;

let file = b"<http://example.com/foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> <http://example.com/> .
<http://example.com/foo> <http://schema.org/name> \"Foo\" <http://example.com/> .
<http://example.com/bar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .
<http://example.com/bar> <http://schema.org/name> \"Bar\" .";

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;
NQuadsParser::new(file.as_ref()).parse_all(&mut |t| {
    if t.predicate == rdf_type && t.object == schema_person.into() {
        count += 1;
    }
    Ok(()) as Result<(), TurtleError>
})?;
assert_eq!(2, count);

Implementations

impl<R: BufRead> NQuadsParser<R>[src]

pub fn new(reader: R) -> Self[src]

Trait Implementations

impl<B: BufRead> QuadSource for NQuadsParser<B>[src]

type Error = <NQuadsParser<B> as QuadsParser>::Error

The type of errors produced by this source.

type Quad = ScopedRioSourceQuad

Determine the type of Quads that this quad source yields. (see streaming_mode Read more

impl<R: BufRead> QuadsParser for NQuadsParser<R>[src]

type Error = TurtleError

Auto Trait Implementations

impl<R> RefUnwindSafe for NQuadsParser<R> where
    R: RefUnwindSafe

impl<R> Send for NQuadsParser<R> where
    R: Send

impl<R> Sync for NQuadsParser<R> where
    R: Sync

impl<R> Unpin for NQuadsParser<R> where
    R: Unpin

impl<R> UnwindSafe for NQuadsParser<R> where
    R: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.