- Bump MSRV to 1.75
- Bump quick-xml to 0.36
- Turtle and TriG: Hopefully actually fixes parsing of prefixes named like a keyword (
prefix
,base
,graph
,true
andfalse
).
- Upgrades the MSRV to 1.60.
- RDF/XML: properly clear the XML parser buffer during parsing to avoid it to grow indefinitely.
- Sets officially the minimal supported Rust version to 1.58.
- Turtle and TriG: Fixes parsing of prefixes named like a keyword (
prefix
,base
,graph
,true
andfalse
).
- Upgrades
quick-xml
to 0.27.
- Generalized RDF: Quoted triples are now allowed to contain generalized terms.
GeneralizedNQuadsParser
for NQuads syntax with generalized RDF (all terms might be IRIs, blank nodes, literals, variables or quoted triples).- XML: Properly resolves already declared entities in entity declarations.
From<Subject>
andFrom<Term>
forGeneralizedTerm
,TryFrom<GeneralizedTerm>
forSubject
andTerm
. Conversions betweenTriple
,Quad
andGeneralizedQuad
.
- Upgrades
quick-xml
to 0.26
- Adds
RdfXmlParser::buffer_position
.
- Upgrades
quick-xml
dependency ofrio_xml
to 0.23.
TurtleParser::prefixes()
andTriGParser::prefixes()
to fetch the list of IRI prefixes in the parsed file.
- Adapters for sophia_api.
- Support of oxiri 0.1.
- Formatters now flushes when the
finish
method is called. - The
NTriplesFormatter
andNQuadsFormatter
finish
method is also now fallible.
- Support of oxiri 0.2.
- The parsers now crashes before a possible stack overflow error when ready too many nested anonymous blank nodes, collections or RDF-star nested triples.
- Support of sophia_api 0.7.
- The Turtle/TriG parsers now enforce that named blank node identifiers do not collide with the identifiers auto generated by Rio.
- Support of RDF-star model.
- Support of RDF-star concrete syntaxes: NTriples, NQuads, Turtle and TriG now support RDF-star by default.
- The
Triple
s andQuad
subject has the typeSubject
(union ofNamedNode
,BlankNode
andTriple
). - The
Quad
graph name has the typeOption<GraphName>
(union ofNamedNode
,BlankNode
and the default graph). - Small optimization in formatters.
Triple
andQuad
formatting do not output training dot.- RDF/XML parser keeps spaces at the beginning and the end of parsed values (literals...).
- RDF/XML parser now resolves custom XML entities
- Upgrades
quick_xml
dependency to 0.22. This release fixes wasm compilation problems
RdfXmlSerializer::with_indentation
to format RDF/XML with indentation
- Fixes a bug in RDF/XML formatting where ":" was used in local names
- Upgrades
quick_xml
dependency to 0.21
- Upgrades
quick_xml
dependency to 0.20 - Improves code style
- Model structures and parsers now implement Sophia traits. This is disabled by default and hidden behind the
sophia
feature. Into<std::io::Error>
is now implemented byTurtleError
andRdfXmlError
for easy conversions.
- Removes
language_tag
andiri
fromrio_api
. These modules are now the cratesoxiri
andoxilangtag
.
base_iri
parameter of parser constructors is now taking values of typeOption<Iri<String>>
instead of&str
.- Parser constructors are now returning
Self
and notResult<Self>
. - RDF/XML serializers now use
std::io::Error
error type instead ofrio_xml::RdfXmlError
because only I/O related errors might be returned. - RDF/XML serializer now tries to extract predicate prefixes.
- Use
u64
instead ofusize
to report file positions in order to support parsing big files on 32 bits systems.
- Normalizes all language tags to lowercase in the
rio_turtle
andrio_xml
crates. - Introduces the
LanguageTag
struct to parse and normalize case of language tags. - Fixes Turtle parsing when the parser look ahead needs to span multiple lines.
- Makes
Iri
implementAsRef<str>
andFromStr
.
- Makes
Iri
allow resolving against base IRIs with not hierarchical path (likefile:foo
). - Upgrades
quick-xml
dependency to 0.18.
- Adds "generalized" RDF support and generalized Trig parser behind a "generalized" feature flag.
- Allows to recover NTriples and NQuads parser errors, the parser jumps to the next line if the current line parsing fail.
- Makes
Iri
parser do the full IRI validation.
Iri::as_str
andDisplay
implementation torio_api
.
TriplesFormatter
andQuadsFormatter
with implementations for NTriples, NQuads, Turtle, TriG and RDF/XML.Iri
torio_api
that allows to do partial IRI validation and resolution.ParseError::textual_position
that allows to get the error position from aTurtleError
or aRdfXmlError
.
TripleParser
have been renamed toTriplesParser
for consistency.QuadParser
have been renamed toQuadsParser
for consistency.TriplesParser::parse_step
andTriplesParser::parse_all
on_triple
callbacks should now return aResult
. It allows library user to return more easily errors from their callback code. The same change have been applied toQuadsParser
.- Literals formatting only escape the characters required by the canonical NTriples syntax.
Quad
struct andQuadParser
trait torio_api
.- N-Quads (
NQuadsParser
) and TriG (TriGParser
) parsers torio_turtle
. rdf_xml
crate with an RDF/XML parser.
\r
characters could also end comments in Turtle/TriG.- Fixes IRI parsing when the IRI has an authority and a query and/or fragment but no path.
- Do not allow "[] ." lines in Turtle.
- Minor optimisations to the Turtle parser.
rio_api
crate withTriple
struct andTripleParser
trait.rio_turtle
crate with N-Triples (TurtleParser
) and Turtle (TurtleParser
).