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.

Release 7.3.0

Release 7.3.0 is a major release with important new features.

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.

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:

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:

--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.