Introduction
This document lists all changes in the most recent major release, which is 7.3.0, and changes in the latest release, which is 7.3.1.
These release notes cover version 7.3.0 and 7.3.1. See the Recent Release Notes documents for the release notes for versions just prior to 7.3.0.
Change History repeats the list of user-visible modifications for this release and includes similar lists for all earlier releases.
Release 7.3.1
Release 7.3.1 is a minor release with bug fixes and various speed and interface enhancements but no major new features.
Version 7.3.1 Admin notes
This sections notes changes which may affect AllegroGraph administration, which includes managing users, dealing with passwords, and so on.
- agtool calls appear in ps without arguments. This means usernames and passwords, which may appear in agtool command, will not be displayed.
Release 7.3.0
Release 7.3.0 is a major release with important new features.
Support for GraphQL. See AllegroGraph and GraphQL.
New features IRI aliases and typevars. See Namespaces and query options, IRI aliases, and typevars.
Database internal format is unchanged from version the previous version (7.2.0)
Release 6.4.6 had a different internal format. All releases since then have the same internal format. This means version 6.5.0 through 7.2.1 repositories can be directly loaded into version 7.3.0 without upgrading. Note that backing up repositories before loading them into a new version is always recommended. Once a database has been used in a later release, it cannot be used in an earlier release regardless of whether or not the database format is the same. Upgrading is discussed in the Repository Upgrading document.
Version 7.3.0 Admin notes
This sections notes changes which may affect AllegroGraph administration, which includes managing users, dealing with passwords, and so on.
No admin notes for 7.3.0.
Version 7.3.0 Programmer notes
This section notes changes which may affect how certain code or operations work compared to earlier releases. These are emphasized here because the changes may be unexpected. The complete list of user-visible changes below also mentions these changes in a shorter format.
- New query options allow profiling of queries.
profileQuery
andprofileOutputFormat
can cause profile data to be written the the AllegroGraph log. This is useful when a query seems to take longer than expected. See Query execution options in SPARQL Reference.
Version 7.3.1 user visible changes
AllegroGraph Server: General Changes
spr45740 - SHACL: errors in franzOption_profileQuery and resultMessage
These valid SHACL requests might signal the following errors:
"Attempt to take the car of :time which is not listp." error when the SHACL SPARQL query has PREFIX franzOption_profileQuery:
An error when trying to format a resultMessage template with one of the variables being a non-string UPI
These have been fixed. There have also other been SHACL speedups.
Bug26839 - Fix SSLCipherSuite directive
A bug fetching the value of the SSLCipherSuite config directive (see Server Configuration and Control) at startup caused it to be ignored. This is now fixed.
Bug26806 - Turtle parser fails on prefixes starting with base
/prefix
AllegroGraph's Turtle/TriG parser used to fail on prefixes that start with directive keywords (base
and prefix
). For example, all the statements in the following Turtle file
@prefix : <http://example.org/>.
@prefix base: <http://example.org/base/>.
@prefix basenames: <http://example.org/basenames/>.
@prefix prefix: <http://example.org/prefix/>.
@prefix prefixes: <http://example.org/prefixes/>.
base:s :p :o.
basenames:s :p :o.
prefix:s :p :o.
prefixes:s :p :o.
would have failed to parse. This has been fixed.
Bug26775 - Turtle parser fails on boolean literals followed by dots
Turtle parser used to signal an error when a boolean literal was used in an object position of a statement and immediately followed by the dot character, for example
@prefix : <http://example.org/>.
:s0 :p0 true.
:s1 :p1 false.
bug26765 - Problem with Admin/Audit log page
The audit log was not recording audit events. This is now fixed.
Bug26754 - Load-transform fails on floating point numbers in JSON
Floating point numbers in JSON documents used to produce errors of the form
`0.0d0` is not of type xsd:double
due to conversion operation malfunction. This has been fixed.
Bug26747 - Allow using transform templates with JSON list elements
It is now possible to use tranform templates with elements of JSON lists. For example, assuming JSON source
{"foo": "1", "bar": ["2", "3"]}
command
agtool load <repo> \
--tr-prefix 'http://example.org/' \
--tr-transform 'bar=http://example.org/bar${foo}-${bar}' \
<source.json>
will create two objects for property bar
:
_:e0 ex:bar ex:bar1-2, ex:bar1-3.
bug26135 - change in stored queries format in 7.3.0
Stored SPARQL should be preserved when backed up and restored but this failed in 7.3.0 because the name of one of the fields was change from "text" to "query". Now either label can be used.
Bug26755 - Errors when using numeric values in load-transform templates
Populating templates with numeric values (as opposed to strings) would cause an error during load-transform operations, for example, assuming the following JSON document
{ "foo": 1 }
the following load-transform
agtool load <repo> -i json \
--tr-transform 'foo=http://example.org/Foo/${foo}' \
<source.json>
would signal an obscure error
excl::string2 argument should be a string
because of an internal type mismatch. This has been fixed.
HTTP Client
No significant changes.
SPARQL
Bug26872 - "Not CaaT state" errors with large OFFSET
and DISTINCT
It was possible to get a confusing error of the form
Not CaaT state: nil within set
when running a SPARQL query with DISTINCT
modifier and a large OFFSET
, e.g.
SELECT DISTINCT ?s ?p ?o { ?s ?p ?o }
OFFSET 500000
LIMIT 1000
when the actual number of solutions iterated through exceeded one of the internal thresholds. This has been fixed.
Bug26739 - Type errors on language-tagged literals in SPARQL's REGEX
SPARQL REGEX function used to report a type error when its first argument was a language-tagged string, for example
SELECT (REGEX('Blade Runner'@en, 'Blade') AS ?r) {}
This has been fixed.
AGWebView
bug26762 - cancel query button didn't work in AG WebView
This has been fixed.
Changes to the Lisp API
No significant changes.
Prolog
No significant changes.
Documentation
No significant changes.
Distributed AllegroGraph
No significant changes.
Version 7.3.0 user visible changes
This section lists changes in the current release. See the Change History for a list of changes in all earlier releases.
AllegroGraph Server: General Changes
agtool --output
option replaced by --output-format
.
--output-format
is more descripting. The affected agtool commands include:
catalogs
export
namespaces
query-options
repos
shacl-validate
tokens list
--output
can still be used but will trigger a deprecation warning.
Rfe16785 - Deprecate --results-format
in favor of --output-format
The command-line interface for agtool query has a new argument, --output-format
for specifying the desired output format, replacing --results-format
. --output-format
is the argument used by all agtool commands. Here is a sample call:
agtool query <repo> query.rq --output-format sparql-json
The old argument can still be used but will trigger a deprecation warning.
Rfe16780 - Support for using AWS session tokens with agtool
New --aws-session-token
command-line argument argument was added to the agtool commands that support interacting with AWS S3 (agtool export, agtool load and agtool archive). The session token value can also be read automatically from the configuration files. See Temporary credentials in the agtool document.
HTTP Client
No significant changes.
SPARQL
Rfe16766 - New query option to print query execution error backtraces
The logBacktraceOnQueryFailure
causes debugging information to be printed to the log when errors occur when executing a query. While this information is rarely useful to the user, it may be useful when contacting AllegroGraph support.
Rfe16761 - New query options for profiling query execution
New query options profileQuery
and profileOutputFormat
can cause profile data to be written the the AllegroGraph log. This is useful when a query seems to take longer than expected. See Query execution options in SPARQL Reference.
Bug26683 - Incorrect results with duplicate blank nodes in patterns
SPARQL queries with patterns containing duplicate blank nodes, for example
SELECT * { _:x ?p _:x }
could return incorrect solutions where the values corresponding to the blank nodes were not the same. This has been fixed.
Bug26629 - Errors in GROUP expressions with unknown variables on MJQE
SPARQL queries with unknown variables in a singleton complex GROUP
expression, for example
PREFIX franzOption_engine: <franz:mjqe>
SELECT (SAMPLE(1) AS ?foo) { ?s ?p ?o }
GROUP BY CONCAT(\"bar\", ?bar)
used to fail with the error message
Received signal number 7 (Bus error)
This has been fixed and now the result of evaluating such an expression is assumed to be UNDEF
, and the type error warning is reported alongside the unknown variables warning.
Bug26627 - Some SPARQL query warnings may cause obscure print errors
Certain query warnings, for example repeated projected variables like in the following query
SELECT ?s ?s ?o { ?s ?p ?o }
are generated during parsing and trying to send such a query in a parsed form to a remote triple store or a distributed triple store shard may cause errors like
Unable to print
#<db.agraph.sparql.parser:warn-repeated-projected-variables-ignored
@ #x10012f443b2>
readably and *print-readably* is true.
This has been fixed.
Bug26621 - SPARQL ORDER clause might not work when GROUP present
SPARQL queries with both GROUP
and ORDER
clauses could return results in an incorrect order because ORDER
clause expressions used to have no access to bindings in GROUP
and SELECT
clauses that defined during aggregation. This has been fixed.
Additionally, ordering now also works with non-aggregate variables: in such cases the order expression is wrapped in an implicit SAMPLE
operation and a corresponding warn-implicit-sample-introduced
query warning is reported.
Bug26616 - Allow using constant SPARQL expressions as aggregates
It should be possible in SPARQL to use constant expression assignments alongside aggregated variables, for example
SELECT ?s ("constant" AS ?c)
WHERE { ?s ?p ?o }
GROUP BY ?s
but assignments likes these used to cause queries to fail with errors like
All selected variables must be aggregates but ?c is not.
This has been fixed.
Changes to the Lisp API
Rfe16175: Unify run-sparql
's rdf-format
/results-format
arguments
The run-sparql function's arguments rdf-format and results-format are deprecated in favor of the new output-format argument. The old arguments can still be used but will signal a deprecation warning.
Prolog
No significant changes.
Documentation
No significant changes.
Distributed AllegroGraph
No significant changes.
User-visible changes in earlier releases
See Release Notes for Recent Versions for changes in recent release and Change History for user-visible changes to all earlier releases.