Skip to main content

nquads_syntax/
lib.rs

1//! N-Quads is a line-based, plain text format for encoding an RDF dataset.
2//! This library provides a [W3C Recommendation](https://www.w3.org/TR/n-quads/)
3//! compliant parser that keeps track of the position of each syntax node in the
4//! source file using the [locspan](https://crates.io/crates/locspan) library.
5pub use rdf_syntax;
6use rdf_syntax::{GrdfQuad, RdfQuad};
7
8pub mod lexing;
9mod parsing;
10
11pub use lexing::NquadsLexingError;
12pub use parsing::*;
13
14/// N-Quads document.
15pub type NquadDocument = Vec<RdfQuad>;
16
17/// gRDF N-Quads document.
18pub type GrdfNquadDocument = Vec<GrdfQuad>;
19
20pub fn document_from_str(
21	string: impl AsRef<str>,
22) -> Result<(NquadDocument, NquadsCodeMap), parsing::NquadsError> {
23	NquadDocument::parse_str(string.as_ref())
24}
25
26pub fn grdf_document_from_str(
27	string: impl AsRef<str>,
28) -> Result<(GrdfNquadDocument, NquadsCodeMap), parsing::NquadsError> {
29	GrdfNquadDocument::parse_str(string.as_ref())
30}