Struct rio_turtle::NTriplesParser [−][src]
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]
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 Triple
s
that this triple source yields.
(see streaming_mode
Read more
fn try_for_some_triple<F, EF>(
&mut self,
f: &mut F
) -> StreamResult<bool, Self::Error, EF> where
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Result<(), EF>,
EF: Error,
[src]
&mut self,
f: &mut F
) -> StreamResult<bool, Self::Error, EF> where
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Result<(), EF>,
EF: Error,
pub fn try_for_each_triple<F, E>(
&mut self,
f: F
) -> Result<(), StreamError<Self::Error, E>> where
E: Error,
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Result<(), E>,
[src]
&mut self,
f: F
) -> Result<(), StreamError<Self::Error, E>> where
E: Error,
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Result<(), E>,
pub fn for_some_triple<F>(&mut self, f: &mut F) -> Result<bool, Self::Error> where
F: FnMut(StreamedTriple<'_, Self::Triple>),
[src]
F: FnMut(StreamedTriple<'_, Self::Triple>),
pub fn for_each_triple<F>(&mut self, f: F) -> Result<(), Self::Error> where
F: FnMut(StreamedTriple<'_, Self::Triple>),
[src]
F: FnMut(StreamedTriple<'_, Self::Triple>),
pub fn filter_triples<F>(self, filter: F) -> FilterSource<Self, F> where
F: FnMut(&StreamedTriple<'_, Self::Triple>) -> bool,
[src]
F: FnMut(&StreamedTriple<'_, Self::Triple>) -> bool,
pub fn filter_map_triples<F, T>(self, filter_map: F) -> FilterMapSource<Self, F> where
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Option<T>,
[src]
F: FnMut(StreamedTriple<'_, Self::Triple>) -> Option<T>,
pub fn map_triples<F, T>(self, map: F) -> MapSource<Self, F> where
F: FnMut(StreamedTriple<'_, Self::Triple>) -> T,
[src]
F: FnMut(StreamedTriple<'_, Self::Triple>) -> T,
pub fn size_hint_triples(&self) -> (usize, Option<usize>)
[src]
pub fn collect_triples<G>(
self
) -> Result<G, StreamError<Self::Error, <G as Graph>::Error>> where
G: CollectibleGraph,
[src]
self
) -> Result<G, StreamError<Self::Error, <G as Graph>::Error>> where
G: CollectibleGraph,
pub fn add_to_graph<G>(
self,
graph: &mut G
) -> Result<usize, StreamError<Self::Error, <G as MutableGraph>::MutationError>> where
G: MutableGraph,
[src]
self,
graph: &mut G
) -> Result<usize, StreamError<Self::Error, <G as MutableGraph>::MutationError>> where
G: MutableGraph,
impl<R: BufRead> TriplesParser for NTriplesParser<R>
[src]
type Error = TurtleError
fn parse_step<E: From<TurtleError>>(
&mut self,
on_triple: &mut impl FnMut(Triple<'_>) -> Result<(), E>
) -> Result<(), E>
[src]
&mut self,
on_triple: &mut impl FnMut(Triple<'_>) -> Result<(), E>
) -> Result<(), E>
fn is_end(&self) -> bool
[src]
pub fn parse_all<E>(
&mut self,
on_triple: &mut impl FnMut(Triple<'_>) -> Result<(), E>
) -> Result<(), E> where
E: From<Self::Error>,
[src]
&mut self,
on_triple: &mut impl FnMut(Triple<'_>) -> Result<(), E>
) -> Result<(), E> where
E: From<Self::Error>,
pub fn into_iter<T, E, F>(
self,
convert_triple: F
) -> TriplesParserIterator<T, E, F, Self> where
E: From<Self::Error>,
F: FnMut(Triple<'_>) -> Result<T, E>,
[src]
self,
convert_triple: F
) -> TriplesParserIterator<T, E, F, Self> where
E: From<Self::Error>,
F: FnMut(Triple<'_>) -> Result<T, E>,
Auto Trait Implementations
impl<R> RefUnwindSafe for NTriplesParser<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<R> Send for NTriplesParser<R> where
R: Send,
R: Send,
impl<R> Sync for NTriplesParser<R> where
R: Sync,
R: Sync,
impl<R> Unpin for NTriplesParser<R> where
R: Unpin,
R: Unpin,
impl<R> UnwindSafe for NTriplesParser<R> where
R: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,