Introduction

This document lists all changes in the current release, which is 8.3.0.

See the release-notes document for links to release notes for some previous releases.

Change History repeats the list of user-visible modifications for this release and includes similar lists for all earlier releases.

Release 8.3.0

This is a major release with significant new features, as well as other improvements and bug fixes.

The new features include:

  1. Support for OAuth/OIDC. AllegroGraph extends support for logging in and logging out using OAuth.
  2. Only Authorization Code flow is supported. See the Single Sign-on and Sign-off document and the description of the OAuth configuration directive here in the Server Configuration and Control document.

  3. Support for Ollama
  4. Ollama is a platform designed for deploying, managing, and interacting with AI language models locally. AllegroGraph supports Ollama, as described in the Ollama document.

  5. Support for auto-completing in SPARQL queries
  6. When typing a query on the WebView query page (described here), auto-complete menus will be displayed when possible. See the section Query auto-completion for more information.

  7. Support for Leiden Community Detection Social Network Analysis
  8. See the section on Leiden-Community-Detection in the SNA Magic Properites document.

  9. JAVA update
  10. AllegroGraph Java client release has been upgraded to version 5.0.0. Major changes include (1) Java 17 is required, (2) Update RDF4J to 5.0.2 and (3) Update Jena to 5.1.

  11. Support for Natural Language to SPARQL (pre-release)
  12. A new feature (in pre-release state) will take a natural language query (NLQ) and convert it to a suitable SPARQL query. This feature will work nearly immediately (the setup can use defaults which do a great deal). Users can easily associate specific NLQ and associate it with a specific SPARQL translation. See the Natural Language SPARQL Queries document for more information and examples.

  13. WebView nomenclature change
  14. A new AGWebView interface was introduced in AllegroGraph version 8.0.0. Since then, this new version has been referred to as New WebView while the older interface is called Traditional WebView. Starting with the 8.3.0 release, we are dropping the New. We now have WebView and Traditional WebView. (Because references to New WebView are pervasive in the documentation, there are likely places where the New remains. Wherever you see New WebView, we mean WebView.) Note too that new features, for example Single Sign-on, mentioned just above, are not being implemented in Traditional WebView, just in WebView.

A list of all significant user-visible changes is below.

Database internal format is unchanged since release 6.4.6

Release 6.4.6 had a different internal data format. All releases since then have the same internal format. Any archived repository or sets of repositories (see Repository Backup and Restore) from a version later that 6.4.6 may be loaded into into this version 8.3.0. 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 8.3.0 Admin notes

  1. Support for OAuth/OIDC: See the description of the OAuth configuration directive here in the Server Configuration and Control document. Single Sign-on and Sign-off is described in the SSO (Single Sign-on) Support in AllegroGraph document.

Version 8.3.0 Programmer notes

There are no programmer notes for release 8.3.0.

User-visible changes version 8.3.0

AllegroGraph Server: General Changes

AG-768 - OpenID Connect authentication support

OIDC (OpenID Connect) authentication support has been added. See OAuth config directive documentation for the details on how to configure AllegroGraph to allow SSO WebView login/logout with OIDC. Direct authentication with OIDC ID tokens is now supported as well, both in HTTP API and in agtool.

AG-909 Allow superuser to create tokens for others

The superuser can create, delete and list tokens for other users. This is reflected in the Lisp API as well as the agtool tokens command.

AG-1026 - duplicate triple attribute aggregation

The duplicate suppression feature has been extended with duplicate triple attributes aggregation functionality: even though the duplicate triples get discarded (suppressed), their attributes are combined with the attributes of an existing triple. See Aggregating attributes of duplicate triples for more details.

AG-1027 - multi-word fuzzy matching for Freetext Query

In addition to single-word fuzzy matcher, Freetext Queries now support a new matcher called fuzzy-phrase for fuzzy-matching multi-word sequences. See Freetext Query Expressions for details and examples.

HTTP Client

AG-1035 - /repositories/NAME/add-object will commit

On a shared backend adding an object will commit immediately after the object is added.

SPARQL

AG-1161 - error parsing + path modifier followed by non-space characters

Due to a bug introduced in AllegroGraph v8.1.1, SPARQL parser used to fail on property paths + modifier if it followed by a non-space character, for example

?s (:p1+) ?1.  
?s :p2+/:p3 ?o2. 

This has been fixed. Character + is now interpreted as a path modifier even if it is space-separated from other path components, just like *, even in cases like this

?s :p1 +:o1. 

The only exception is the case when there is no space between the + character and the following unsigned numeric literal, for example

?s :p1 +1.0. 

In this case the +1.0 is interpreted as a singed numeric literal.

AG-1060 - errors in SELECT inside [NOT] EXISTS expressions

When SPARQL [NOT] EXISTS clauses are used as a FILTER functions, SELECT subqueries inside used to cause obscure errors. For example the following query

?doc :sensitivityLevel ?level.  
FILTER ( ?level >= 3 || EXISTS  
} ) 

would signal an error Received signal number 7 (Bus error). This has been fixed.

SD-1947 - errors in SPARQL's single group aggregates with LIMIT

SPARQL's aggregate queries returning a single group used to fail when used with a limit of 0 or 1, for example the following query

SELECT (COUNT(*) AS ?c) { ?s ?p ?o } LIMIT 1 

would signal an error

QUERY FAILED: PLAN-COMPLETE-CONDITION signal not handled 

but would return the single result as expected fine without the limit or with a limit of 2 and more. This has been fixed.

Leiden Community Detection support

The Social Network Analysis interface has been enhanced to support Leiden Community Detection. See the section on Leiden-Community-Detection in the SNA Magic Properites document. Note too that the description of SNA support has been broken out into its own document.

AGWebView

No significant changes.

LLM support

AG-1056 - add dimensions argument to vector store creation

An embedder was denoted by an embedder name (e.g. "openai") and a model name (e.g. "text-embedding-ada-002"). Now for some models you can specify :dimensions which is the length of the embedding vector produced. The models supporting the :dimensions argument are embedder: "demo" all models (there's just one) embedder: "openai" model "text-embedding-3-large" embedder: "openai" model "text-embedding-3-small"

Note that there is a range of dimensions for each model but agraph doesn't signal an error if you specify a value out of range. However the embedding service will signal an error. Check with the embedder to find the valid range for the dimensions.

See Embedding Knowledge in a Vector Database for more details.

Ollama support

AllegroGraph supports Ollama. See the Ollama document.

agtool

AG-987 - improved agtool errors and warnings for JSON load-transform

When using agtool for a JSON load-transform operation, parsing errors messages will now include character position information. Additionally, when a transform rule is skipped for an object because the key in the template is not a valid key for a given object, a warning is always printed to avoid confusing users with unexpected results. Such a warning will also contain information about the start character position of the current object.

AG-1022 - restore-all from a relative filename to a remote server

agtool archive restore-all backup-directory user:pwd@host:port 

This would not restore the settings directory if the backup-directory was was located by a relative filename and the server was accessed via HTTP/HTTPS and not a direct lisp interface. This has been fixed.

AG-1080 - support numeric usernames in triple store specs

Triple store spec parser used to be unable to parse a triple store spec if it contained a username starting with a sequence of numeric characters. This was especially annoying in agtool, for example the following command

agtool load 1user:pass@10035/test test-data.ttl 

used to be impossible to run and there was no easy way around it. This has been fixed.

AG-1181 - triple store spec parser used to eat leading zeroes

Leading sequences of 0 character in numeric parts of triple store specs used to be eaten by the parser, for example

agtool repos create 10035/001_test_repo 

would create a repo called 1_test_repo instead of 001_test_repo, while

agtool repos create 001_user:pass@10035/repo 

would fail because it would try authenticating as user 1_user instead of 001_user. This has been fixed.

Changes to the Lisp API

No significant changes.

Prolog

No significant changes.

Documentation

Arrangement of current and recent release notes

The release notes for several recent releases are included with the documentation set. (In earlier releases they were combined into a document named Recent Release Notes. That document has been removed from the documentation set.)

Magic property documentation

Magic properties (see tha SPARQL Magic Properties document) and magic function are named with the prefix used to identify them. The text index match magic property is named

http://franz.com/ns/allegrograph/2.2/textindex/match 

So in a SPARQL query you could define a PREFIX

PREFIX fti: http://franz.com/ns/allegrograph/2.2/textindex/ 

and then fti:match would refer to the magic property in a query. The documentation for the magic property was also in that location (with https instead of http):

https://franz.com/ns/allegrograph/2.2/textindex/match/index.html 

This had the disadvantage of salting magic property docs in many locations all away from the rest of the documentation, making cross linking complicated. Starting in release v8.3.0, magic property documentation is in the same directory as the rest of the AllegroGraph documentation, with the files named with the property name starting at ns and with slashes (/) replaced by hyphens (-), so the doc file for match is

ns-allegrograph-2.2-textindex-match.html 

For magic properties introduced prior to v8.3.0, the old locations still work. (Magic properties names include the version in which they were introduced, AllegroGraph 2.2 in the case of match so you can tell whether a property works in a specific version or not. A property introduced in one version of AllegroGraph will work in that version and all subsequent versions. If it is updated in a subsequent version then you'll see another property name with a later version number. This would be a different version and both version co-exist in AllegroGraph.)

Distributed AllegroGraph

No significant changes.

User-visible changes in earlier releases

See the general release-notes document for links to release notes for other recent releases. See Change History for user-visible changes to all earlier releases.