1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
//! Implementation of [N-Triples](https://www.w3.org/TR/n-triples/), [N-Quads](https://www.w3.org/TR/n-quads/), [Turtle](https://www.w3.org/TR/turtle/) and [TriG](https://www.w3.org/TR/trig/) parsers. //! //! All the provided parsers work in streaming from a `BufRead` implementation. //! They do not rely on any dependencies outside of Rust standard library. //! //! How to read a file `foo.ttl` and count the number of `rdf:type` triples: //! ```no_run //! use rio_turtle::{TurtleParser, TurtleError}; //! use rio_api::parser::TriplesParser; //! use rio_api::model::NamedNode; //! use std::io::BufReader; //! use std::fs::File; //! //! let rdf_type = NamedNode { iri: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" }; //! let mut count = 0; //! TurtleParser::new(BufReader::new(File::open("foo.ttl").unwrap()), "file:foo.ttl").unwrap().parse_all(&mut |t| { //! if t.predicate == rdf_type { //! count += 1; //! } //! Ok(()) as Result<(), TurtleError> //! }).unwrap(); //! ``` //! //! Replace `TurtleParser` by `NTriplesParser`, `NQuadsParser` or `TriGParser` to read a N-Triples, N-Quads or TriG file instead. //! //! `NTriplesParser` and `NQuadsParser` do not use the second argument of the `new` function that is the IRI of the file. mod error; mod formatters; mod ntriples; mod shared; mod turtle; mod utils; #[cfg(feature = "generalized")] mod gtrig; pub use error::TurtleError; pub use formatters::NQuadsFormatter; pub use formatters::NTriplesFormatter; pub use formatters::TriGFormatter; pub use formatters::TurtleFormatter; pub use ntriples::NQuadsParser; pub use ntriples::NTriplesParser; pub use turtle::TriGParser; pub use turtle::TurtleParser; #[cfg(feature = "generalized")] pub use gtrig::GTriGParser;