Release Notes

GraphDB release notes provide information about the features and improvements in each release, as well as various bug fixes. GraphDB’s versioning scheme is based on semantic versioning. The full version is composed of three components:

major.minor.patch

e.g., 9.2.1 where the major version is 9, the minor version is 2 and the patch version is 1.

Note

Releases with the same major and minor versions do not contain any new features. Releases with different patch versions contain fixes for bugs discovered since the previous minor. New or significantly changed features are released with a higher major or minor version.

GraphDB 9 includes two components with their version numbers:

  • RDF4J

  • GraphDB Connectors

Their versions use the same semantic versioning scheme as the whole product, and their values are provided only as a reference.

GraphDB 9.2.1

Released: 11 May 2020

Component versions

RDF4J

Connectors

3.2.0-M1

12.0.3

Important

  • Several non-critical bug fixes in GraphDB Engine, Workbench, Plugins & Connectors

GraphDB Engine

Bug fixing

  • GDB-4483 FROM is much slower than the GRAPH clause because of an inefficient context index existence check

  • GDB-4501 Cached class hierarchy is not removed from cache on reload if new one is empty

  • GDB-4507 Storage tool cannot initialize some of the collections with 40 bits entity size.

GraphDB Plugins & Connectors

Bug fixing

  • GDB-4444 Allow multiple fields per connector instance to define the property chain as a single property $self

  • GDB-4448 Similarity plugin fails when indexing small data repositories

GraphDB Workbench

Bug fixing

  • GDB-4403 Uncaught TypeError when loading swagger

  • GDB-4400 Resource view: Reduce the font of embedded triples in the resource view

GraphDB 9.2.0

Released: 23 April 2020

Component versions

RDF4J

Connectors

3.2.0-M1

12.0.2

Important

  • GraphDB 9.2 now supports statement level annotations with RDF*/SPARQL*. They enable a more efficient representation of scores, weights, temporal restrictions, and provenance information. It also allows the implementation of all use cases native for the property graph model by fully supporting all its modeling primitives. GraphDB and the new RDF type reduce by over 40% the number of RDF statements, the loading time, and the required disk space to model complex graphs like Wikidata.

  • The semantic similarity indexes remain online during refresh. All clients will continue to hit the old similarity index version until the new one is fully functional and published.

  • The GraphDB Proof plugin can trace back the rules fired to derive a particular implicit statement.

  • Improved performance in the history log searches and diffs with the current state.

  • All third party open source libraries are upgraded to the newer version to avoid publicly known vulnerabilities.

  • RDF4J is upgraded to 3.2.0-M1 version, which includes the embedded triple type and new RDF* parsers and serializers.

GraphDB Engine & Cluster

New features

  • GDB-4244 As a database user I want to upgrade all GraphDB APIs to support RDF* formats

  • GDB-4245 As a database user I want to upgrade all GraphDB APIs to support SPARQL* queries

  • GDB-4390 Update the RDF4J to version 3.2.0-M1 with RDF*/SPARQL* support

Bug fixing

  • GDB-4352 Local codes of the language tags follow ISO 639/3166, where “en-US” is case insensitive but returned in this format

  • GDB-3586 Notification listener fails to notify listeners for transactionStarted and transactionCompleted events

  • GDB-3836 Fixed the default path to the .keystore in graphdb.properties file

  • GDB-4092 Batching multiple updates with internal federation generates causes an NPE and HTTP error 500

  • GDB-4222 Fixed a potential deadlock in the GlobalPageCache during the predicate statistics update

  • GDB-4369 Storage tool may not replace IRI consistently in all database collections

GraphDB Workbench

New features

  • GDB-4246 As a database user I want the Workbench to support RDF*/SPARQL* syntax highlighting and rendering

  • GDB-4248 Extend YASR table view to render SPARQL* results

  • GDB-4287 As a database user I need the Workbench to support the new MIME types so I can import and export RDF* data

  • GDB-4375 Upgrade graphdb.js library to support RDF*/SPARQL*

Bug fixing

  • GDB-4386 Fix the minimist reported security vulnerability in Workbench

  • GDB-4401 Missing status when creating a Connector in Workbench

  • GDB-4402 JS error when disconnecting cluster node in Workbench

  • GDB-4409 YASR: Cached custom styles leads to bad SPARQL results presentation

GraphDB Plugins & Connectors

New features

  • GDB-4136 Similarity plugin: The similarity index remains online during refresh

  • GDB-4165 Proof plugin: Release a new plugin to trace back the rules fired to derive a particular implicit statement

  • GDB-4173 Data versioning plugin: Improve the efficiency of queries like “All that is changed for a subject in a date interval”

  • GDB-4444 Allow multiple fields per connector instance to define the property chain as a single property $self

Bug fixing

  • GDB-4318 Querying the history log for the same subject twice returns fewer results than expected

GraphDB Distributions

New features

  • GDB-4373 Upgrade the GraphDB docker to AdoptJDK 11 built on top of Alpine 3.11

GDB 9.1.1

Released: 21 January 2020

Component versions

RDF4J

Connectors

3.0.1

12.0.2

Important

  • Several non-critical bug fixes in GraphDB Engine, Plugins & Connectors

GraphDB Engine

Bug fixing

  • GDB-4161 Adding invalid pie file may corrupt repository

GraphDB Workbench

Bug fixing

  • GDB-4171 Product info JSON should not be visible in create similarity index page parameters

GraphDB Plugins & Connectors

Bug fixing

  • GDB-3030 Predication Similarity: OOM exception is thrown when trying to rebuild a failed index

  • GDB-4163 MongoDB plugin queries may hang

  • GDB-4172 Problem with score retrieval when ordering by a field in Lucene or Elasticsearch

  • GDB-4177 History plugin memory optimizations

GDB 9.1.0

Released: 19 January 2019

Component versions

RDF4J

Connectors

3.0.1

12.0.1

Important

  • GraphDB 9.2 now supports statement level annotations with RDF*/SPARQL*. They enable a more efficient representation of scores, weights, temporal restrictions, and provenance information. It also allows the implementation of all use cases native for the property graph model by fully supporting all its modeling primitives. GraphDB and the new RDF type reduce by over 40% the number of RDF statements, the loading time, and the required disk space to model complex graphs like Wikidata.

  • The semantic similarity indexes remain online during refresh. All clients will continue to hit the old similarity index version until the new one is fully functional and published.

  • The GraphDB Proof plugin can trace back the rules fired to derive a particular implicit statement.

  • Improved performance in the history log searches and diffs with the current state.

  • All third party open source libraries are upgraded to the newer version to avoid publicly known vulnerabilities.

  • RDF4J is upgraded to 3.2.0-M1 version, which includes the embedded triple type and new RDF* parsers and serializers.

GraphDB Engine & Cluster

New features

  • GDB-4017 Extend the supported authentication protocols with Kerberos

  • GDB-4026 As a solution architect, I want to use SHACL validation with GraphDB

  • GDB-4101 Upgrade to RDF4J 3.0.1

Bug fixing

  • GDB-3043 Weird interaction of VALUES and Federated

  • GDB-3480 Creating a backup without providing the trailing slash of the path fails

  • GDB-3774 Variables bound in Filter leak outside the Filter block

  • GDB-3800 Peering password protected masters with incorrect token does not generate any error messages

  • GDB-3804 DuplicateAliasException when using internal federation

  • GDB-3902 Abnormal behavior when a single OPTIONAL is an argument of a UNION

  • GDB-3911 Suboptimal owl2-rl rule implementation that handles owl:hasKey

  • GDB-3921 Nested OPTIONALs cause strange query results

  • GDB-3941 xsd:time queries with a timezone produce wrong results when running against a DB with no timezones

  • GDB-3943 Deadlock when evaluating a query with two SERVICE operators

  • GDB-3944 DuplicateAliasException when evaluating a query with internal federation request to same repository

  • GDB-3955 GraphDB Cluster stopped working because of dropped worker’s repository

  • GDB-4033 Federated query for single property fails

  • GDB-4071 Problem with newline in string literal when importing data using curl

  • GDB-4084 Unbound variables in the SELECT cause performance degradation

  • GDB-4117 Removing owl:sameAs does not remove inferred statements

  • GDB-4141 Calling an unknown function in SPARQL does not throw an error and returns an empty binding

  • GDB-4150 Inconsistent behavior of backup between GraphDB editions

  • GDB-4154 OntoRefine Movies dataset cannot be inserted in GraphDB

GraphDB Workbench

New features and improvements

  • GDB-3694 Replace static libraries with their NPM versions

  • GDB-3864 Remove VersionUrlRewriteFilter as Workbench packages come with their own version hash

  • GDB-3874 Replace requires modules with standard es6 modules import/export

  • GDB-3885 Remove unused or empty stylesheets

  • GDB-3887 Implement and integrate rest clients

  • GDB-3888 Make use of utility classes/services

  • GDB-3890 Split Workbench bundle in more fine-grained pieces

  • GDB-3891 Optimize D3 library loading

  • GDB-3947 Invert module and component dependencies in Workbench

  • GDB-4053 Ask for and accept Kerberos authentication when using GraphDB Workbench

  • GDB-4153 Update Workbench libraries due to security risk reported by GitHub

Bug fixing

  • GDB-3699 Similarity index config is appended in the URL after cloning an existing index

  • GDB-3693 Resolve reported code quality issues in the Workbench

  • GDB-3810 Visual graph: advanced search is displayed in situations where Easy graph search should be used.

  • GDB-3898 Sending parallel queries to GDB Workbench links controller in GDB free results in a deadlock

  • GDB-3913 Graphs overview: cannot export graph’s contents from within the graph itself

  • GDB-3923 Missing remove icon in the cluster view

  • GDB-3924 Visual graph reports a strange 404 error when opening resource details

  • GDB-3939 Resource page is not loaded properly in Workbench

  • GDB-4050 Workbench: various overlaps in some sections of the Workbench.

  • GDB-4085 Disabling sameAs from UI does not affect exported result set

GraphDB Connectors & Plugins

New features

  • GDB-3931 Implement change tracking plugin - a plugin that tracks data updates

  • GDB-3969 Implement GraphDB Plugin data for history and versioning

Bug fixing

  • GDB-3662 Improve the Connector error message when sorting over an empty index

  • GDB-3740 Similarity search query should be configurable without building similarity index

  • GDB-3904 Similarity search index does not preform special predicate validation properly, leading to “stuck” create index operations

  • GDB-3926 GeoSPARQL plugin displays wrong “current configuration” properties

  • GDB-3928 Propagate all ES connection errors to the Workbench

  • GDB-4079 Semantic vectors logs are left “open” when rebuilding a semantic vector, leading to a memory leak

  • GDB-4155 MongoDB connector raises Cannot cast org.bson.Document to java.util.List

GDB 9.0.0

Released: 30 September 2019

Component versions

RDF4J

Connectors

3.0.0

12.0.0

Important

  • The new release features a major redesign of the database Plugin API that simplifies the way to implement complex software logic next to the core database engine. Ontotext releases multiple plugins to the community as open source, demonstrating how to solve common tasks such as data virtualization (see MongoDB Plugin), a complex ranking of search results (see Autocomplete Plugin), new types of indexing (see GeoSPARQL plugin) and advanced graph analytics (see RDF Rank plugin).

  • GraphDB Workbench now becomes a separate open source project enabling the fast development of knowledge graph prototypes starting from the default AngularJS administrative interface. Furthermore, the product includes an open source graphdb.js driver optimized for Node.js and other rapid development frameworks.

  • GraphDB 9.0 supports OpenJDK 11. The product continues to support OpenJDK 8 for its existing clients, as well as every new Oracle Java Long Term Support (LTS) version.

  • The product continues to support the RDF open source community, and is now upgraded to RDF4J version 3.0.

GraphDB Engine

New features

  • GDB-3607 Move to OpenJDK and support for newer Java versions. Make OpenJDK 8 and 11 the officially tested and recommended Java versions

  • GDB-3649 Upgrade to RDF4J 3.0

Bug fixing

  • GDB-1416 Exceptions in query evaluation do not result in error messages

  • GDB-3494 GraphDB is trying to rollback non-existing transaction

  • GDB-3506 Concurrent requests for storage health checks may produce an error

  • GDB-3531 Exception executing simple query after PUT statements in a repo

  • GDB-3585 Suboptimal execution plan for construct with FILTER

  • GDB-3592 Deadlock when notification listeners are to be notified but they were garbage collected before that

  • GDB-3596 LiteralIndex failures within RepositoryRule

  • GDB-3643 Join of subqueries does not work correctly

  • GDB-3646 Error “Could not convert the query to our optimized model” reported during query evaluation containing MINUS

  • GDB-3703 Graph Replacement Optimization does not work with the Java API

  • GDB-3720 Compound transactions do not reflect change in size()

  • GDB-3830 OPTIONAL and Alt-prop-path causes mix-up of bindings

  • GDB-3843 Bulk update “getRealId() must be called in exclusive transaction or after precommit()”

GraphDB Workbench

New features

  • GDB-3619 Split Workbench code base from GraphDB and open source the UI code

  • GDB-3728 Extend Cypress tests to cover all functionalities of the Workbench

Bug fixing

  • GDB-3248 Visual graph: expanding nodes “over owl:sameAs” not working properly

  • GDB-3642 Visual graph UI missing buttons

GraphDB Plugins

New features

  • GDB-1801 Open source plugin API and plugins with developer examples

  • GDB-3308 Implement a way for plugins to know if they are in a cluster

  • GDB-3631 Plugin API: Redesign the plugin notification interfaces to handle the notifications about transactions

  • GDB-3633 Plugin API: Extend system info object passed at plugin initialization

  • GDB-3635 Plugin API: Add mechanism to access the fingerprint in plugins

  • GDB-3636 Plugin API: Cleanup unused parts of the Plugin API like GlobalViewOnData and MemoryConfigurable

  • GDB-3730 Update Plugin API, plugin location, and the Javadoc

  • GDB-3803 Open source the GeoSPARQL plugin

  • GDB-3806 Open source the RDF Rank plugin

  • GDB-3807 Open source the Autocomplete plugin

  • GDB-3808 Open source the Lucene FTS plugin

  • GDB-3813 Open source the GeoSpatial plugin

  • GDB-3814 Open source the Notifications Logger plugin

  • GDB-3815 Open source the MongoDB plugin

Bug fixing

  • GDB-3309 Asynchronous RDFRank build through SPARQL in cluster breaks the cluster

  • GDB-3453 Explain the slow performance for rebuilding GeoSPARQL on Kadaster repository

  • GDB-3511 GeoSPARQL: Creating a quad plugin with precision >24 will result in an error when trying to create a geohash plugin

  • GDB-3554 Similarity indices with training cycles use vector values from first iteration on search

  • GDB-3556 Cannot build predication similarity index over PubMed authors data

  • GDB-3584 Similarity text index -porterstemmer flag does not work

  • GDB-3599 Stopwords do not work with default analyzer in text similarity indices

GraphDB Connectors

New features

  • GDB-3582 Upgrade connectors to latest major releases of Lucene/Solr (8.x) and Elasticsearch (7.x)

Bug fixing

  • GDB-3816 Wrong exporting of ‘elasticsearchClusterSniff’ setting from Connectors view

  • GDB-3819 Viewing existing connectors does not show the values of options that were set by default value and not explicitly

  • GDB-3905 Repair does not work when repairing a connector marked as “incompatible” by being created by an older version

GraphDB Cluster

Bug fixing

  • GDB-3766 Cluster incorrectly indicates IsWritable=false when one of its workers is down