All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG.
This version is just upgraded to RDF.ex v3.0.
Elixir versions < 1.15 are no longer supported
This version is just upgraded to RDF.ex v2.1.
Elixir versions < 1.14 and OTP version < 24 are no longer supported
This version is just upgraded to RDF.ex v2.0.
Elixir versions < 1.13 and OTP version < 23 are no longer supported
- Replacement of
elixir_uuidwithuniqdependency
Elixir versions < 1.12 are no longer supported
- 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).
This version is just upgraded to RDF.ex 1.0.
Elixir versions < 1.11 are no longer supported
Upgrades to RDF.ex 0.11. Earlier version won't work with RDF.ex >= 0.11.
Elixir versions < 1.10 are no longer supported
- Support for SPARQL-star query results JSON and XML formats
- 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.
- 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/0function to get all registered extension functions can no longer be supported
- Upgrade to RDF.ex 0.7
- a bug in the BGP processing algorithm lead to wrong solutions when one triple pattern in a BGP had no solutions
no_extension_detection_in_releases_warningconfiguration which disables the
warning that not all extension functions may be detected in a release with the runtime system in interactive mode
- Raise an error when the query uses an unknown prefix instead of producing an invalid query
- Use the new
RDF.Literal.matches?/3function from RDF.ex 0.6.1 for theREGEXfunction - with the fix from RDF.ex 0.6.1 XSD boolean with uppercase letters in the boolean lexical values are no longer valid
- the
trueandfalsekeywords from the SPARQL language are case-insensitive - the new
RDF.Literal.matches?/3function also fixes some Unicode escaping issues in regular expressions
- 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
- the application failed to start in OTP releases (#2)
- Support for negations with
MINUS
- Support of the
CONSTRUCTquery form
- various fixes on comparisons between
RDF.DateTimes andRDF.Dates
- Support for alternative graph patterns with
UNION - Support for assigning to variables with
BIND
REDUCEDno longer removes duplicates without projection (for performance reasons)
DISTINCTdid not work without projection
- Support for optional graph patterns via
OPTIONAL - Support for the
boundfunction
- errors during evaluation of function arguments were handled incorrectly,
which led in particular to wrong behaviour of the
COALESCEfunction SPARQL.Query.Result.get/2failed when the given variable was not in the results
- Support for group graph patterns, i.e. nested graph patterns and
FILTERs in the middle of a graph patterns (which splits up a graph pattern) SPARQL.Query.Result.get/2as a short way for getting the solutions of a single variable
FILTERexpressions at the beginning of a graph pattern
- evaluation of
DISTINCTandREDUCED(the later having the semantics asDISTINCT, i.e. no optimizations right now) - implementation of
String.Charsprotocol onSPARQL.Query
- various refinements of default prefixes
- renamed the query-specific default prefixes option from
prefixestodefault_prefixes - setting
noneon thedefault_prefixesoption, removes the standard application-wide configured default prefixes SPARQL.Processor.query(and theSPARQL.execute_queryalias) pass options downSPARQL.Query.new/2, so it can also used withdefault_prefixes
- renamed the query-specific default prefixes option from
- application-wide and query-specific ways to define default prefixes
- bug in the lexer grammar which caused a scanner error on lowercase
distinct
- 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)
- SPARQL Query engine for executing queries against RDF.ex graphs (not complete yet; see Current state section in README)
- Elixir versions < 1.6 are no longer supported
- renamed the
SPARQL.Query.ResultSetstruct toSPARQL.Query.Result - removed the previous
SPARQL.Query.Resultstruct for single solutions; these are now represented as simple maps
Initial release