View Source Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG.
v0.3.9- 2023-12-19
Elixir versions < 1.12 are no longer supported
Fixed
- The internal SPARQL lexer and parser were renamed more uniquely. A potential for collisions came to light after switching to Elixir v1.15 where the new compilation behaviour was causing sometimes interferences with another generically named parser, namely the one from erlex (a dependency of dialyxir).
v0.3.8 - 2022-11-03
This version is just upgraded to RDF.ex 1.0.
Elixir versions < 1.11 are no longer supported
v0.3.7 - 2022-03-22
Upgrades to RDF.ex 0.11. Earlier version won't work with RDF.ex >= 0.11.
Elixir versions < 1.10 are no longer supported
Added
- Support for SPARQL-star query results JSON and XML formats
v0.3.6 - 2020-09-21
Fixed
- The JSON query result decoder didn't recognize the datatype of literals when the JSON
value object was
"type" : "literal"
. Only for those with"typed-literal"
the"datatype"
field was interpreted. - Not all IRI values in CSV results were recognized as IRIs. Values starting with the most common URI schemes (http/https, urn, ftp, file, ldap, mailto, geo, data) are now recognized correctly.
v0.3.5 - 2020-06-01
Changed
- Upgrade to RDF.ex 0.8. With that Elixir versions < 1.8 are no longer supported.
- the SPARQL extension function registry is now implemented with the ProtocolEx library,
improving the performance of queries using SPARQL extension functions (including the
builtin casting functions); unfortunately this means the
SPARQL.ExtensionFunction.Registry.get_all/0
function to get all registered extension functions can no longer be supported
v0.3.4 - 2019-12-14
- Upgrade to RDF.ex 0.7
v0.3.3 - 2019-10-25
Fixed
- a bug in the BGP processing algorithm lead to wrong solutions when one triple pattern in a BGP had no solutions
v0.3.2 - 2019-09-08
Added
no_extension_detection_in_releases_warning
configuration which disables the
warning that not all extension functions may be detected in a release with the runtime system in interactive mode
Fixed
- Raise an error when the query uses an unknown prefix instead of producing an invalid query
v0.3.1 - 2019-07-15
Changed
- Use the new
RDF.Literal.matches?/3
function from RDF.ex 0.6.1 for theREGEX
function - with the fix from RDF.ex 0.6.1 XSD boolean with uppercase letters in the boolean lexical values are no longer valid
Fixed
- the
true
andfalse
keywords from the SPARQL language are case-insensitive - the new
RDF.Literal.matches?/3
function also fixes some Unicode escaping issues in regular expressions
v0.3.0 - 2019-04-06
Changed
- Replace the prefix management of SPARQL.ex with the new prefix management capabilities of RDF.ex 0.6
- Use the query prefixes as the prefixes of CONSTRUCTed graphs
v0.2.9 - 2019-03-06
Fixed
- the application failed to start in OTP releases (#2)
v0.2.8 - 2019-02-16
Added
- Support for negations with
MINUS
v0.2.7 - 2018-11-11
Added
- Support of the
CONSTRUCT
query form
Fixed
- various fixes on comparisons between
RDF.DateTime
s andRDF.Date
s
v0.2.6 - 2018-10-30
Added
- Support for alternative graph patterns with
UNION
- Support for assigning to variables with
BIND
Changed
REDUCED
no longer removes duplicates without projection (for performance reasons)
Fixed
DISTINCT
did not work without projection
v0.2.5 - 2018-10-21
Added
- Support for optional graph patterns via
OPTIONAL
- Support for the
bound
function
Fixed
- errors during evaluation of function arguments were handled incorrectly,
which led in particular to wrong behaviour of the
COALESCE
function SPARQL.Query.Result.get/2
failed when the given variable was not in the results
v0.2.4 - 2018-10-06
Added
- Support for group graph patterns, i.e. nested graph patterns and
FILTER
s in the middle of a graph patterns (which splits up a graph pattern) SPARQL.Query.Result.get/2
as a short way for getting the solutions of a single variable
Fixed
FILTER
expressions at the beginning of a graph pattern
v0.2.3 - 2018-09-23
Added
- evaluation of
DISTINCT
andREDUCED
(the later having the semantics asDISTINCT
, i.e. no optimizations right now) - implementation of
String.Chars
protocol onSPARQL.Query
Changed
- various refinements of default prefixes
- renamed the query-specific default prefixes option from
prefixes
todefault_prefixes
- setting
none
on thedefault_prefixes
option, removes the standard application-wide configured default prefixes SPARQL.Processor.query
(and theSPARQL.execute_query
alias) pass options downSPARQL.Query.new/2
, so it can also used withdefault_prefixes
- renamed the query-specific default prefixes option from
v0.2.2 - 2018-09-22
Added
- application-wide and query-specific ways to define default prefixes
Fixed
- bug in the lexer grammar which caused a scanner error on lowercase
distinct
v0.2.1 - 2018-09-17
Fixed
- generated Erlang output files of Leex and Yecc are excluded from Hex package, which caused issues using the SPARQL.ex Hex package on OTP < 21 (because the package was released with OTP 21)
v0.2.0 - 2018-09-17
Added
- SPARQL Query engine for executing queries against RDF.ex graphs (not complete yet; see Current state section in README)
Changed
- Elixir versions < 1.6 are no longer supported
- renamed the
SPARQL.Query.ResultSet
struct toSPARQL.Query.Result
- removed the previous
SPARQL.Query.Result
struct for single solutions; these are now represented as simple maps
v0.1.0 - 2018-03-19
Initial release