Struct rio_turtle::TurtleParser [−][src]
A Turtle streaming parser.
It implements the TriplesParser
trait.
Count the number of people using the TriplesParser
API:
use rio_turtle::{TurtleParser, TurtleError}; use rio_api::parser::TriplesParser; use rio_api::model::NamedNode; let file = b"@prefix schema: <http://schema.org/> . <http://example.com/foo> a schema:Person ; schema:name \"Foo\" . <http://example.com/bar> a schema:Person ; schema: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; TurtleParser::new(file.as_ref(), None).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> TurtleParser<R>
[src]
pub fn new(reader: R, base_iri: Option<Iri<String>>) -> Self
[src]
Builds the parser from a BufRead
implementation, and a base IRI for relative IRI resolution.
Trait Implementations
impl<B: BufRead> TripleSource for TurtleParser<B>
[src]
type Error = <TurtleParser<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 TurtleParser<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 TurtleParser<R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<R> Send for TurtleParser<R> where
R: Send,
R: Send,
impl<R> Sync for TurtleParser<R> where
R: Sync,
R: Sync,
impl<R> Unpin for TurtleParser<R> where
R: Unpin,
R: Unpin,
impl<R> UnwindSafe for TurtleParser<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>,