Struct rio_turtle::NTriplesParser[][src]

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

A N-Triples streaming parser.

It implements the TriplesParser 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 TriplesParser API:

use rio_turtle::{NTriplesParser, TurtleError};
use rio_api::parser::TriplesParser;
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/foo> <http://schema.org/name> \"Foo\" .
<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;
NTriplesParser::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> NTriplesParser<R>[src]

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

Trait Implementations

impl<B: BufRead> TripleSource for NTriplesParser<B>[src]

type Error = <NTriplesParser<B> as TriplesParser>::Error

The type of errors produced by this source.

type Triple = ScopedRioSourceTriple

Determine the type of Triples that this triple source yields. (see streaming_mode Read more

impl<R: BufRead> TriplesParser for NTriplesParser<R>[src]

type Error = TurtleError

Auto Trait Implementations

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

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

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

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

impl<R> UnwindSafe for NTriplesParser<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.