Releases: ruby-rdf/rdf
Releases · ruby-rdf/rdf
Release 3.3.1
Release 3.3.0
- Add support for directional language-tagged strings from RDF 1.2.
- Consolidate N-Triples and N-Triples Star grammars. Use LANG_DIR terminal instead of LANGTAG.
- Removes support for legacy
text/plain
(as an alias forapplication/n-triples
) andtext/x-nquads
(as an alias forapplication/n-quads
) - Cleanup RDF* nomenclature, and use
:quoted_triples
instead of:rdfstar
for supports?. - Add
:base_direction
as something supported (or not) by writeable. - Require
rdfstar
option to read directional language-tagged strings. - Add missing Statement#dup. Does not duplicate blank node components.
- Added documentation to clarify that term canonicalization is not the same as Graph/Dataset canonicalization, which is impleented in the rdf-normalize gem.
- Add Enumerable#canonicalize method, which can be overridden by rdf-normalize, which normalizes each statement in an enumerable.
- Minimum Ruby version now 3.0.
Release 3.2.11
- Ruby extensions no longer necessary.
- Make Ruby warnings visible and reduce warnings.
- Updates to URI normalization. Fixes #439.
Release 3.2.10
- Fix arguments to Logger.log_depth to pass depth keyword parameter to #log_depth.
- Minor update in mutable to change the way keyword argument overrides work.
- Update N-Triples/Quads ASCII escapes when writing literals based on proposed RDF 1.2 behavior.
- Fix memory leak on RDF::Util::Cache (#438 – @abrisse)
Release 3.2.9
- Narrow list of valid dates/times/dateTimes based on more strict lexical representations from https://www.w3.org/TR/xmlschema11-2/#rf-lexicalMappings-datetime
- Update CLI
filtered
option to allow Array or Proc in addition to a single value. This allows, for example, a command to be associated with multiple formats.
Release 3.2.8
Query#execute
andPattern#execute
can take a Solution for bindings, in addition to a hash. This supports passing pre-bound variables from SPARQL.- When generating docs, add etc/doap files to yard output.
- Fix
Dataset#inspect
Release 3.2.7
- Add
:uri
option toFormat,content_type
, anduris
andto_uri
class methods. This allows retrieving the defined format URI for specified formats. (See https://www.w3.org/ns/formats/). - pass
format
keyword parameter as option when filtering CLI commands. - Check for windows drive letter to not confuse it with a URI scheme (windows platform only).
Release 3.2.6
- In Temporal#to_s, set
@string
if it is nil. - Reset the string representation for Time values having an hour > 23.
- Temporal#adjust_to_timezone! can certainly take a Literal::DayTimeOffset, in addition to a String.
Treat the empty string as nil, to remove the timezone. - Add
Solutions#variable_names=
to override automated variable name count. - Add
Solutions#==
andSolutions
#eql?` to test solutions including variable names.
Release 3.2.5
- Adds
Temporal
literal as superclass ofDate
,Time
, andDateTime
.- Adds
#adjust_to_timezone
(and#adjust_to_timezone!
) based on XPath function. Takes either a[+1]HH:MM
or an xsd:dayTimeDuration restricted to hours and minutes. - Adds
<=>
comparison operator. - Adds
#year
,#month
,#day
,#hours
,#minutes
, and#seconds
accessors. - Add and subtract temporals with each other and durations, per XPath/XQuery functions spec.
- Adds
- Updates to Date literal:
- Object base is now
::DateTime
instead of::Date
to record and manipulate timezone. - Better conformance to XSD and XPath specs.
- Object base is now
- Updates to DateTime literal:
- Better conformance to XSD and XPath specs.
*Add XPath math functions and constants to Literal::Numeric.PI
,#exp
,#exp10
,#log
,#log10
,#sqrt
,#sin
,#cos
,#tan
,#asin
,#acos
,#atan
,#atan2
.
- Better conformance to XSD and XPath specs.
Release 3.2.4
Vocabulary representation
- When reading a vocabulary, don't skip non-english literals.
- When writing a vocabulary, use language-map form for language-tagged literals with any in english serialized as the first entry of the map,
- Remove more redundant string freezes.
- Fixes #432.
Documentation
- Document and parse datatype/language maps as part of
Term
attribute definitions. - Update documentation links to use gh-pages, and add action to publish gh-pages from Yard docs.
- Improve Vocabulary DSL documentation.
- Add Yard tag to prevent parsing vocabularies if
:noDoc
is set.
Other
- Exclude '_' and '-' from
PN_LOCAL
escapes. Not all reserved characters need to be escaped in SPARQL/Turtle, but they must be unescaped when encountered. - Improve
#quoted?
accessor forRDF::Statement
, and set it when parsing embedded triples in NTriples/NQuads. - Update expectation for
RDF:URI
with a hash argument, due to updates to rspec-mock. - Update Countable, Enumerable, and Queryable to include their Enumerator classes inline, and remove a separate enumerator.rb to address #433.