AnzoGraph 2.5 Releases

To view the release notes for an AnzoGraph 2.5 version, select the version from the list below. The release notes for each version describe the product changes from the previous version.

AnzoGraph Version 2.5.22

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.22.

Improvements

Fixes

Patches for Security Vulnerabilities

Additional GDI Controls for the VIEW Enlistment Algorithm

Version 2.5.22 provides additional GDI controls for determining when a virtualized view should be executed.

Improved Command to Check License Properties

Version 2.5.22 provides an easier way to check the expiration date and other properties of the AnzoGraph license using the command azgctl -getlicenseid.

ODATA Installers No Longer Distributed with the Frontend Container

The frontend container EOLs the distribution of ODATA installers.

GDI Error Loading Parquet Files That Use INT96 Primitive Type

Version 2.5.22 resolves a GDI issue where the data gets read as an integer instead of a timestamp when loading a parquet file with columns of INT96 primitive type. The following exception occurs: java.lang.IllegalArgumentException: the column order {} is not supported by INT96.

A SELECT Query with EXPLAIN Command Mishandles Reformatting Errors

Version 2.5.22 resolves an issue where any SELECT query with an EXPLAIN command whose results cannot be reformatted would abort with an error instead of returning the raw result.

AnzoGraph Version 2.5.21

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.21.

Improvements

Fixes

Patches for Security Vulnerabilities

Added GDI Support for Random Access Read for Cloud VFS Providers

In Version 2.5.21, Cloud VFS drivers (S3, GCS, Azure) bundled with GDI support random access reads, which allows large files to be partitioned and makes the loading of large CSV and Parquet files faster.

ODATA Installers No Longer Distributed with the Frontend Container

The frontend container EOLs the distribution of ODATA installers.

GDI Virtual VIEW Enlistment Algorithm Causes Some Queries to Incorrectly Return Empty Result Set

Version 2.5.21 corrects the behavior of the GDI DataToolkitView handler, which improperly suppresses the execution of the virtualized SERVICE clause and causes queries to incorrectly return an empty result set.

AnzoGraph Version 2.5.20

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.20.

Improvements

Fixes

Patches for Security Vulnerabilities

Added GDI ElasticSource Support for Wildcard Indices

Version 2.5.20 updates the GDI to support wildcards in es:ElasticSourcewhen specifying the indices to query against. Wildcards can be specified in the es:index property. The "-" prefix can be used to filter out an index that would have otherwise matched one of the wildcard patterns.

GDI Error Comparing Date/Time Values Using SQL Server

Version 2.5.20 fixes an error that occurs when comparing any date/time column against NOW() because of too many fractional digits in the generated timestamp. SQL Server limits fractional digits to a maximum of 3 providing millisecond resolution by default.

GDI ElasticSource Unnecessarily Partitions Aggregation Queries

Version 2.5.20 corrects the behavior of ElasticSource where it partitions aggregation queries instead of issuing a single query allowing Elasticsearch to compute aggregates across all indices being queried.

AnzoGraph Version 2.5.19

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.19.

Improvements

Fixes

Patches for Security Vulnerabilities

GDI Partitioning Improvements

Version 2.5.19 updates the GDI to support specifying the logical table instead of the base join table when including s:table with s:query in GDI DbSource queries.

Upgraded the Google Cloud Storage Dependency for C++ Extensions

Version 2.5.19 updates the Google Cloud Storage dependency for the AnzoGraph C++ extensions.

Incorrect Results when Merge Joins were Enabled

Version 2.5.19 corrects an issue that caused a query to return incorrect results when merge joins were enabled for the query planner.

Error when Planning a Query

Version 2.5.19 fixes an error that caused a query to return an Invalid system state: Assert IFF(state->callable, !right_plan->is_materializer()) error because the query planner attempted to materialize results that had already been materialized.

AnzoGraph Version 2.5.18

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.18.

Improvements

Fixes

Added GDI Support for Elasticsearch Request Headers

Version 2.5.18 adds GDI support for configuring HTTP request headers with Elasticsearch data sources. The s:header property can be added to ElasticSource requests. For example, s:header [ s:name "Connection" ; s:value "close" ].

Added GDI Support for HTTP Digest Authentication

Version 2.5.18 adds GDI support for using HTTP digest access authentication with HTTP data sources.

Added GDI Support for Pagination with Incremental Load Queries

Version 2.5.18 updates the GDI to add support for configuring paging with incremental load queries. For information about pagination with the GDI, see Pagination Options.

Incorrect GDI Validation used for Impala Data Source Connections

Version 2.5.18 updates the GDI to use the standard SELECT 1 query for Impala validation instead of SET UTF8_MODE=TRUE.

GDI Error when Reading a JSON File with Null Nodes

Version 2.5.18 updates the GDI to resolve an issue that caused a class cast exception to be returned for a query that was run against a JSON file with null nodes.

GDI Failed to Release Locks on Parquet Files after Load

Version 2.5.18 fixes an issue where the GDI continued to maintain a lock on Parquet files after the query was completed.

GDI did not Qualify all Partitioning Column Names for Database Sources

Version 2.5.18 corrects an issue in the GDI where partitioning column names were not always qualified and could lead to ambiguous reference errors when s:query in a DbSource query referenced multiple tables with a JOIN.

An Explicit "Vacuum" Command did not Run Vacuum to Completion

Version 2.5.18 resolves an issue where explicitly running the VACUUM command (such as when Anzo runs the command at the end of graphmart loads) did not ensure that the database was fully vacuumed.

AnzoGraph Version 2.5.17

This section describes the improvements in AnzoGraph Version 2.5.17.

Improvements

Patches for Security Vulnerabilities

Improved Query Cancellation Responsiveness

Version 2.5.17 includes an enhancement that decreases the time it takes to cancel most queries.

Added Support for Timeout Parameters with Load/Write from Amazon S3

Version 2.5.17 adds support for specifying the following timeout-related parameters in a Query Context when reading or writing files from/to Amazon S3 with the AnzoGraph IO Load or Write services: httpRequestTimeoutMs, connectTimeoutMs, requestTimeoutMs, tcpKeepAliveIntervalMs.

AnzoGraph Version 2.5.16

This section describes the improvements in AnzoGraph Version 2.5.16.

Enhanced the GDI to Capture Property Keys from JSON Files

Version 2.5.16 updates the GDI to add the ability to capture the names of property keys in JSON files. In GDI Generator queries, this type of metadata can be selected from JSON files by including a variable as the s:selector and using the same variable as the s:key. For more information, see Capturing Property Keys.

Enhanced the GDI's Handling of Queries against Virtualized Views

Previously, for queries that were executed against a view, the GDI translated only filters and static values to the virtualized service. In Version 2.5.16, the GDI translates many of the pattern constraints, including FILTER and VALUES, from the outer query to the virtualized service so that the GDI can use the context in the query to better plan the virtualized query. In addition, when constructing views for HTTP sources, the GDI now supports variables in the s:header and s:parameter list. When running a query against a view with variables, the variables can be mapped through the view by including predicates in the CONSTRUCT clause. A new property, s:require, was also introduced. This property can be included in the view to list the variables that are required as input to the view. For example, the following triple pattern makes latitude and longitude required input for queries that are run against the view: () s:require ?latitude, ?longitude.

AnzoGraph Version 2.5.15

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.15.

Improvements

Patches for Security Vulnerabilities

Updated the Apache Arrow Extensions to Apache Arrow 11

Version 2.5.15 upgrades the Apache Arrow C++ extensions to Apache Arrow version 11.

Updated the GDI to Automatically Partition Data Sources without Indexes

In Version 2.5.15, if a data source does not expose an index or other partitioning metadata, which is likely with Databricks, Snowflake, and Impala sources, the GDI proceeds as if s:partitionBy s:auto is included in the INSERT query. This forces the GDI to partition the data in a way that makes onboarding as performant as possible.

AnzoGraph Version 2.5.14

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.14.

Improvements

Fixes

Patches for Security Vulnerabilities

Updated the GDI to Add Support for TOPDOWN with File Sources

Version 2.5.14 updates the Graph Data Interface (GDI) to add support for including the TOPDOWN keyword in the SERVICE clause. TOPDOWN is used when you want to pass input values from the graphmart to the data source.

Improved Logging for the JVM Subsystem

Version 2.5.14 improves logging for the JVM subsystem to help diagnose the cause of issues that result from queries that run Java extensions.

Inconsistent Performance for a Query

Version 2.5.14 resolves an issue that could cause long wait times when AnzoGraph released memory back to the operating system. The long wait times impacted query performance for certain queries.

Resulting Ontology was Incomplete for DbSource GDI Ontology Generator Query

Version 2.5.14 updates the GDI to fix an issue that caused the generated ontology to be incomplete if a user ran a GDI Generator query that included only the s:OntologyGenerator object without s:RdfGenerator.

AnzoGraph Version 2.5.13

This section describes the issues that were fixed in AnzoGraph Version 2.5.13.

Fixes

Patches for Security Vulnerabilities

Invalid Identifier Error for Incremental Database Direct Data Load Query

Version 2.5.13 updates the GDI to fix an issue that prevented users from being able to ingest a database data source incrementally via the Direct Data Load workflow.

Incorrect RPATH for C++ Extensions

Version 2.5.13 corrects the RPATH for the AnzoGraph C++ extensions.

AnzoGraph Version 2.5.12

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.12.

Improvements

Other Changes and Fixes

Patches for Security Vulnerabilities

Added Support for Snowflake and Databricks Data Sources

Version 2.5.12 adds JDBC drivers for connecting to Snowflake and Databricks data sources.

Enhanced Processing of GDI Views

To improve performance of graphmarts that contain views, Version 2.5.12 updates the GDI so that view queries are run only when a request targets its data. For more information, see Enhanced Processing of View Steps that Contain GDI Queries.

Added GDI Support for SPARQL Results

Version 2.5.12 updates the GDI to add support for returning results in SPARQL results format.

Added GDI Support for Keyed JSON Files

Version 2.5.12 updates the GDI to enhance support for JSON files that contain patterns such as the following example, where the JSON key, used in conjunction with a JSON object, is the ID of the entity that the JSON property points to:

{
  <ID1>:
  {
    "FunctionID": <ID1>
  }
  <ID2>:
  {
    "FunctionID": <ID2>,
    "Parameters":
    {
      <ID3>:
      {
        "ParameterID": <ID3>
      }
    }
  }
}

Removed CDATA Drivers

Version 2.5.12 removes the following drivers from the AnzoGraph installation:

  • cdata.jdbc.json
  • cdata.jdbc.xml
  • cdata.jdbc.odata
  • csvjdbc

Unexpected Results Returned for Query with BIND

Version 2.5.12 resolves an issue that could cause unexpected results to be returned if a query included a BIND clause in a certain order in the query.

The GDI Could not Access a Query Context from a View Query

Version 2.5.12 fixes an issue where the GDI could not access a query context if its keys were referenced in a view query.

AnzoGraph Version 2.5.11

This section describes the issues that were fixed in AnzoGraph Version 2.5.11.

Patches for Security Vulnerabilities

Errors when Loading Some XML Files via the Direct Data Load Workflow

In Version 2.5.11 the Graph Data Interface (GDI) was updated to correct an issue that caused certain XML files to fail to load via the Direct Data Load workflow.

The GDI does not process Document Type Definition (DTD) files. If an XML file references a DTD, the DTD is ignored. The XML is not validated against the DTD and queries that reference elements defined only in the DTD will fail with an error.

GDI did not Recognize Changes to a Database Schema after Initial Ingestion

In Version 2.5.11 the Graph Data Interface was updated to resolve an issue where a query resulted in a "Could not find table" error when a user targeted a new table that was added to the schema after the data source was initially onboarded. DbSource now supports dynamic discovery of tables added to a schema after that schema has been loaded.

Remote Service Call Could Fail when Query Included Tabs

Version 2.5.11 resolves an issue that could cause the HTTP request for a remote service call to be corrupted if tabs were used to format the query text.

AnzoGraph Version 2.5.10

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.10.

Improvements

Fixes

Patches for Security Vulnerabilities

Enhanced Filtering Capabilities for GDI Incremental Onboarding of File Sources

Previously, when writing GDI incremental ingestion queries for file sources, the incremental condition to evaluate and filter on needed to be against file metadata, such as changes to file names or the last modified date. In Version 2.5.10, the GDI was updated to enable incremental ingestion queries against file sources to filter on file contents in addition to metadata.

A Dashboard was Slow to Load Due to Long Running Queries

Version 2.5.10 resolves an issue that caused code compilation for queries to take longer than expected.

The GDI Generated Both Literal and URI Values for Some Object Properties

Version 2.5.10 resolves an issue that could cause the GDI RDF Generator to generate two triples for an object property, one with a literal value as the object and one with a URI. Now the generator correctly creates the object property as a URI.

Public AWS S3 Buckets were Inaccessible without Credentials

Version 2.5.10 updates the included AWS SDK to resolve an issue that caused public buckets not to be accessible without credentials.

GDI Exception with Void Data Types

When AnzoGraph cannot determine the data type for an input variable binding it types the value as void. The GDI did not recognize void as one of the potential schema types and threw an exception if it encountered the type. In Version 2.5.10, the GDI maps void to an Object data type so that the exception no longer occurs.

GDI Query Against Non-Existent Table Returned No Results Instead of Error

Version 2.5.10 changes the GDI's handling of the s:table property in queries when a single table is specified and the table does not exist in the source. Previously, the GDI returned 0 results. In Version 2.5.10, an error is returned.

AnzoGraph Version 2.5.9

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.9.

Improvements

Fixes

Increased GDI Tolerance for Non-Standard JDBC Connection URLs

Since different JDBC drivers accept various connection URL formats, Version 2.5.9 enhances the GDI to relax the parsing rules and accept additional JDBC connection URL variations.

Added Support for Defining Numeric and Boolean Data Type Formats in GDI Mapping Variables

Version 2.5.9 adds support for defining formats for numeric and boolean data types for mapping variables in GDI queries. Numeric format strings accept the Java DecimalFormat conventions. A semicolon can be used to separate positive and negative patterns. For example:

?MetersPerSecond (xsd:double "##0.### m/s") ;
?TotalDue (xsd:double "$##0.00;[$##0.00]") ;

Boolean format strings can contain up to three semicolon delimited sections for true, false, and other values. Each section is a comma separated list of values that should be treated as either true, false, or null. A wildcard can also be specified so that any value not matching another pattern in the format will be treated as matching the wildcard. For example:

?Male ("Gender" xsd:boolean "M;F;*") ;
?Female ("Gender" xsd:boolean "F;M;*") ;

The format strings above will interpret the Gender column as a boolean value. ?Male is true when the column contains an "M" and ?Female is true when the column contains an "F".

Added Support for Null Geometries with the ST_ReadGeoJSON Function

In Version 2.5.9, the ST_ReadGeoJSON geospatial function supports reading JSON files with null geometries. Previously ST_ReadGeoJSON queries failed with an exception if the input file was missing some geometry values.

Made GDI Date to DateTime Conversions Consistent with SPARQL

Version 2.5.9 updates the GDI to ensure that conversions from date to dateTime result in values that are consistent with the SPARQL standard.

Added Support for Referencing Several Anzo Functions in GDI queries

In Version 2.5.9, the GDI was updated to add support for including the following Anzo functions directly in GDI queries. To see descriptions and syntax for the functions, see Anzo Function and Formula Reference.

  • ESCAPEHTML
  • EXP
  • FACT
  • FIND
  • FINDREVERSE
  • FORMATDATETIME
  • FORMATFRACTION
  • FORMATNUMBER
  • HAMMING_DIST
  • ISERROR
  • LEFT
  • LEN
  • LEVENSHTEIN_DIST
  • LN
  • LOG
  • LOG2
  • MID
  • MOD
  • PI
  • QUOTIENT
  • RANDBETWEEN
  • RIGHT
  • ROUNDDOWN
  • ROUNDUP
  • SQRT
  • SUBSTITUTE
  • TEXT
  • TODAY
  • TRIM
  • WEEKDAY
  • WEEKNUM
  • YEARMONTH

The following list of functions are non-standard and must be referenced using their full URI when included in GDI queries:

  • ISERROR: http://cambridgesemantics.com/analytics/functions#isError
  • LEN: http://cambridgesemantics.com/analytics/functions#len
  • MID: http://cambridgesemantics.com/analytics/functions#mid
  • QUOTIENT: http://www.w3.org/2005/xpath-functions/math#quotient
  • TEXT: http://cambridgesemantics.com/analytics/functions#text
  • YEARMONTH: http://cambridgesemantics.com/analytics/functions#yearMonth

Unable to Return Elasticsearch Fields Listed in the GDI es:source Property

Version 2.5.9 resolves an issue that prevented the GDI from retrieving data from Elasticsearch for fields that were specified in the es:source property.

No Results when Querying for GDI System Information

Version 2.5.9 fixes an issue that caused no results to be returned when a user ran the following query to retrieve the GDI metadata:

PREFIX s:    <http://cambridgesemantics.com/ontologies/DataToolkit#>
PREFIX xsd:  <http://www.w3.org/2001/XMLSchema#>
SELECT *
WHERE 
{
  SERVICE <http://cambridgesemantics.com/services/DataToolkit>
  {
    ?data a s:SystemInformationSource ;
    ?title () ;
    ?version () ;
    ?vendor () ;
    ?timestamp xsd:dateTime .
  }
}

NPE for GDI Query Against a Service with Cursor Pagination

Version 2.5.9 fixes an issue that caused a Null Pointer Exception to be returned when a GDI query was run against a service that exposed cursor pagination.

AnzoGraph Version 2.5.8

This section describes the changes in AnzoGraph Version 2.5.8.

Patches for Security Vulnerabilities

Added GDI Support for Paging Results

Version 2.5.8 includes an updated version of the GDI that adds support for paging large amounts of data across a number of smaller requests and other improvements described in the Anzo Version 5.3.8 Release Notes.

A MySQL JDBC Driver is not Distributed with AnzoGraph

AnzoGraph does not include a JDBC driver for MySQL databases. To connect to MySQL sources via GDI queries or the Direct Data Load capability, you can use the included MariaDB driver or add a MySQL driver to AnzoGraph. For instructions on adding a driver, see Deploy Optional Drivers for Accessing Custom Database Sources.

AnzoGraph Version 2.5.7

This section describes the issues that were fixed in AnzoGraph Version 2.5.7.

Patches for Security Vulnerabilities

Removed the 200-Character Limit for ST_ReadGeoJSON Geometries

Version 2.5.7 updates the Geospatial extension to remove the 200-character limit that was applied to input geometries for the ST_ReadGeoJSON service.

Unable to Use the GDI to Retrieve Data from a DbSource with an SQL Query

Version 2.5.7 updates the GDI extension to resolve an issue where a user was unable to retrieve data for a database data source using only the s:query "<SQL_query>" option without also including the s:table and s:partitionBy options.

Error when Including the Aggregations Property in GDI ElasticSource Queries

Version 2.5.7 updates the GDI extension to resolve an issue where ElasticSource queries failed with an error if they included the es:aggregations [ ] property.

AnzoGraph Version 2.5.6

This section describes the issues that were fixed in AnzoGraph Version 2.5.6.

Patches for Security Vulnerabilities

gRPC JWT Tokens did not Expire

Version 2.5.6 resolves an issue that caused gRPC authentication tokens to fail expire when the grpc_token_expiry setting was configured to expire tokens after a number of seconds.

Workarounds were Required when File Access Policies were Enabled

Version 2.5.6 corrects an issue that occurred when file access policies were enabled. Users had to include in the policy_file_* settings certain patterns that matched an internal directory and AnzoGraph-generated file or Graphmarts could not be activated.

NPE When an Incremental GDI Query Defined an AccumulatingValue without a Key

Version 2.5.6 updates the GDI extension to resolve an issue where incremental ingestion queries that included AccumulatingValue but did not define a key failed with a null pointer exception.

The Remote IO Extension Created Invalid Directories

Version 2.5.6 resolves an issue where the remote-io extension was creating directory structure before checking whether access to the path was allowed. This meant the request could fail because access to the path was denied but the new directory was still created.

The GDI Used Binary Encoding for Custom Data Types

Previously, the GDI encoded custom data types using a custom binary encoding. This caused an issue where encoded values could fail to be decoded. In Version 2.5.6, the GDI was updated to encode the following custom types using their lexical representation rather than binary encoding:

  • xsd:dayTimeDuration
  • xsd:yearMonthDuration
  • xsd:gMonth
  • xsd:gYearMonth
  • xsd:gDay
  • xsd:gYear
  • xsd:gMonthDay

AnzoGraph Version 2.5.5

This section describes the new features and issues that were fixed in AnzoGraph Version 2.5.5.

New Features

Patches for Security Vulnerabilities

Added the Ability to Configure File Access Policies

Version 2.5.5 adds configuration options that can be set to ensure that only certain files or directories on the server are accessible during the execution of a query. These configuration settings use patterns to determine whether a directory or file is accessible under the file access policy. The AnzoGraph extensions, including the Graph Data Interface (GDI), Geospatial functions, etc. follow the configured file access policy. For details about configuring file access policies, see Managing AnzoGraph File Access Policies.

Added GPG Signing to Artifacts so Authenticity can be Verified

Cambridge Semantics now signs all AnzoGraph artifacts so that their authenticity can be verified.

AnzoGraph Version 2.5.4

This version includes patches for security vulnerabilities. See AnzoGraph 2.5.4 in Patched Vulnerabilities.

AnzoGraph Version 2.5.3

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.3.

Improvement

Fix

Patches for Security Vulnerabilities

Increased the Maximum String Size from 1 MB to 2 MB

Previously, the maximum size of strings that could be loaded to AnzoGraph was 1 MB by default. Version 2.5.3 increases the maximum string size to 2 MB by default.

Could not Automatically Truncate Very Large Strings

Version 2.5.3 resolves an issue where AnzoGraph failed to truncate large strings when truncate_clob was enabled and a user attempted to load strings that were larger than the maximum allowed size. In Version 2.5.3, setting truncate_clob=true automatically truncates strings to 2 MB.

AnzoGraph Version 2.5.2

This section describes the improvements and issues that were fixed in AnzoGraph Version 2.5.2.

Improvement

Fixes

Patches for Security Vulnerabilities

Improved Load Performance

To improve load performance, Version 2.5.2 reduces the use of mutexes and removes statistics gathering operations for unused statistics.

Elasticsearch Indexing Step Hung when the Source Included Non-Standard Characters

Version 2.5.2 fixes a rarely encountered issue that occurred if a UCS2/UTF16 encoded character used surrogate pairs and was split along a 256 character page boundary. In this case, the Graph Data Interface (GDI) could attempt to encode only the high surrogate of the pair, causing the Elasticsearch Indexing Step to hang.

The ISIRI and ISURI Functions Produced Different Results

Version 2.5.2 resolves an issue the caused the ISIRI function to produce invalid results while the ISURI function returned the expected result. The two functions now produce the same result.

Federated Query Failed

Version 2.5.2 resolves an issue that caused a federated query against DBpedia to fail with a "SERVICE graph execution failed at SPARQL endpoint" exception.

Update Query with a Trailing Semicolon Failed

Version 2.5.2 resolves an issue that prevented update queries from running if a single semicolon followed the query.

AnzoGraph Version 2.5.1

This version includes patches for security vulnerabilities. See AnzoGraph 2.5.1 in Patched Vulnerabilities.

AnzoGraph Version 2.5.0

This section describes the new features and changes to existing components that are introduced in AnzoGraph Version 2.5.0.

New Features and Improvements

Other Changes and Fixes

Created Installer that Includes the Graph Data Interface and Other Extensions

Version 2.5.0 introduces a new installer (sometimes called the Unified Installer) that incorporates the AnzoGraph extensions, such as the Graph Data Interface (GDI) and associated JDBC drivers, so that they no longer need to be deployed to AnzoGraph after the installation. For more information and instructions on using the new installer, see Installing AnzoGraph.

Enhanced the Graph Data Interface

Version 2.5.0 includes several enhancements to the Graph Data Interface (GDI) to make it more robust for supporting Anzo's new automated ingestion workflow via Graphmarts (introduced in Anzo 5.3.0). For more information about that feature, see Direct Data Load Automated Ingestion Workflow.

Enabled Graph Data Interface Logging By Default

Version 2.5.0 incorporates and configures the logging functionality for the Graph Data Interface (GDI) and other extensions by default. Previously, a separate logging-*.jar and log.config file had to be manually added to the <install_path>/lib/udx directory. Those files are no longer needed.

Added Support for CONSTRUCT Queries with Labeled Property Graphs (RDF*)

Version 2.5.0 adds support for running CONSTRUCT queries to create Labeled Property Graphs.

Added Support for Exists and Not Exists Outside of Filters

Version 2.5.0 adds support for using EXISTS and NOT EXISTS as function expressions that can be used for projection. Previously these functions were only supported in FILTER expressions. The query below shows a simple example that uses EXISTS for projection:

SELECT (EXISTS{?s <http://anzograph.com/knows> <http://anzograph.com/person/joe>} AS ?knows_joe)
WHERE {
 ?s a <http://anzograph.com/person>
}

Added Support for Listing Multiple Load File Paths in a Single Query

Version 2.5.0 adds support for listing multiple file or directory location URIs in a single load statement. Specify multiple URIs in a space-separated list. For example, the following LOAD query loads the files from two different directories in parallel:

LOAD <dir:/global/nfs/sales/completed_sales.ttl> <dir:/global/nfs/marketing/prospects.ttl> INTO GRAPH <http://anzograph.com/finance>

When including multiple URIs in a single statement, each URI must have the same scheme, either file: or dir:. All URIs must also have the same file type extension, such as .ttl or.ttl.gz.

Added the Ability to Add Extensions with a Load Query

Version 2.5.0 adds the ability to load extensions to AnzoGraph without having to restart the database. Previously, the only way to add an extension was to copy the .jar file to the <install_path>/lib/udx directory and then restart the database. Now, you can copy the file to the <install_path>/lib/udx directory and run a LOAD query using the syntax below. Running the LOAD query loads the .jar file to AnzoGraph and makes the extension available to use without having to restart the database.

LOAD <dir:/<install_path>/lib/udx/<filename>.jar>

Inference Engine Generated Incorrect Reference for owl:TransitiveProperty

Version 2.5.0 fixes an issue that caused the Inference engine to generate an incorrect inference for the owl:TransitiveProperty.

Incorrect Results for Subquery with Multiple Values Clauses

Version 2.5.0 resolves an issue that could cause incomplete results to be returned when a subquery included multiple VALUES clauses.

Out of Channels Error when Activating Multiple Graphmarts Concurrently

Version 2.5.0 fixes an issue that caused AnzoGraph to display an "Out of channels" error and hang when multiple Graphmarts were activated concurrently.

AnzoGraph Required Restart after Invalid System State Error

Version 2.5.0 resolves an issue that required AnzoGraph to be restarted after an out-of-memory error resulted in an Invalid System State message.

Crash After Refreshing Several Graphmarts Concurrently

Version 2.5.0 resolves an issue that caused AnzoGraph to hang and then eventually crash when a number of Graphmarts were refreshed.