Introduction

This document lists all changes in the current release, which is 8.3.1, as well as including the complete 8.3.0 release notes. (In general N.M.X release notes include all information for all X (= 0,1,etc.))

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

This is a minor release with fixes and optimizations (mostly behind the scenes) only. There is a more significant change having to do with specifying an OpenAI key.

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.1. 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.1 Admin notes

  1. As noted above, OpenAI keys can be specified by an admin user on the webview/welcome/ page and if that is done, the key will be used wherever it is required.

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.1 Programmer notes

  1. Method of specifying an API of AllegroGraph Cloud vector repos changed. AllegroGraph Cloud is a server available for use without downloading and installing AllegroGraph on your own machine. It comes with a number of pre-loaded repositories and associated vector databases. You need an OpenAI key to use the vector databases. In 8.3.0, all the vector databases were opened when the Cloud server ws started, and you could click on a button in order to specify the OpenAI key. However, opening all those vector repos took time even if you did not intend to use them. The process for opening these vector repos has thus been changed. You open them one at a time and provide the key for each when opened. See the AllegroGraph.cloud document where the procedure is described with the Natural Language SPARQL example.

Version 8.3.0 Programmer notes

There are no programmer notes for release 8.3.0.

User-visible changes version 8.3.1

AllegroGraph Server: General Changes

AG-1363/AG-1365 - fix Gruff startup issues when using external authentication

When external authentication is used (LDAP/OAuth), launching Gruff for a repository causes a login dialog to pop up in the browser as well as an error message

 No anonymous access allowed. 

Launching Gruff outside of repository might work at first, but display errors messages in Gruff UI later. Both of these issues have have been fixed.

AG-1152 Creation of am SNA generator in a remote triple store failed

This has been fixed. Social Network Analysis (SNA) support is described in the Social Network document.

HTTP Client

No significant changes.

SPARQL

No significant changes.

AGWebView

No significant changes.

LLM support

Code and documentation corrections with the associated magic properties

The llm:askMyDocuments and llm:nearestNeighbor magic property descriptions were incorrect in version 8.3.0. They have been corrected and updated in this release. User should rely on the updated 8.3.1 (and later when it comes out) documentation. Also the references in other documents has been corrected where necessary.

OpenAI keys can be specified once only on the webview/welcome page

As long as there is any repo, you can go to the webview/welcome/ page to specify an OpenAI key which will be used whenever it is required. See the LLM document for more information.

Ollama support

No significant changes.

agtool

No significant changes.

Changes to the Lisp API

No significant changes.

Prolog

No significant changes.

Documentation

No significant changes.

Distributed AllegroGraph

No significant changes.

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.