[][src]Struct rio_turtle::NTriplesParser

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

Methods

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

pub fn new(reader: R) -> Result<Self, TurtleError>[src]

Trait Implementations

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.