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.
- New webview/welcome page allows admin users to specify an OpenAI key for the whole AG server The various Large Language Model (LLM) tools use OpenAI and thus require an OpenAI key (obtainable from here). The key can be supplied in multiple places but admin users can go to the new [server:port]/webview/welcome page, which displays this dialog
- Fix Ollama support for exec-nl-query endpoint. AG endpoints and magic properties must work with both supported vendors (Ollama, OpenAI). This change fixes /catalogs/[CATNAME]/repositories/[REPONAME]/exec-nl-query endpoint support for Ollama.
If specified here users do not need to specify the key in other places (like in SPARQL query prefixes). Users without admin privileges (see the Managing Users document) will not see the dialog if they go to the page.) You can of course choose not to specify it at this time and can use prefixes and the like to specify it when needed and users using Ollama and not OpenAI need not specify an OpenAI key. AllegroGraph.cloud must give an OpenAI key if they wish to test LLM functionality with the pre-loaded repos.
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:
- Support for OAuth/OIDC. AllegroGraph extends support for logging in and logging out using OAuth.
- Support for Ollama
- Support for auto-completing in SPARQL queries
- Support for Leiden Community Detection Social Network Analysis
- JAVA update
- Support for Natural Language to SPARQL (pre-release)
- WebView nomenclature change
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.
Ollama is a platform designed for deploying, managing, and interacting with AI language models locally. AllegroGraph supports Ollama, as described in the Ollama document.
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.
See the section on Leiden-Community-Detection in the SNA Magic Properites document.
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.
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.
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
- 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
- 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
- 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.