Changes in This Release for This Guide

This topic contains the following.

Changes in Oracle Database Release 23ai

The following are the changes in Oracle Database Graph Developer's Guide for RDF Graph for Oracle Database Release 23ai.

Note:

Before you get started with the RDF features, you must install the database patch listed in the MOS note 3030523.1, currently available on My Oracle Support. The patch can be applied for all revision versions of Oracle Database Release 23.4.x.

Enhanced Support for Querying Semantic Data

In addition to the SEM_MATCH table function, you can also query semantic data in the following order:

See Using the SEM_APIS.GET_SQL Function and SEM_SQL SQL Macro to Query RDF Data for more information.

Support for In-Memory Subject-Property-Matrix Tables

You can create in-memory Subject-Property-Matrix (SPM) tables by using the INMEMORY=T option in SEM_APIS.BUILD_SPM_TAB.

See In-Memory Result Tables for more information.

Support for GeoSPARQL 1.1

The Open Geospatial Consortium (OGC) has proposed GeoSPARQL 1.1 as an update to the original OGC GeoSPARQL standard. This update includes new literal data types based on GeoJSON and KML geometry serializations and several new spatial query functions and spatial aggregates.

These new GeoSPARQL 1.1 geometry literals, query functions and aggregates can be used in SPARQL queries through SPARQL APIs provided by the RDF feature of Oracle Database.

See Spatial Support for more information.

Support for Auto-List Subpartitioning of RDF_LINK$ table

To improve the performance of SPARQL update (CLEAR, MOVE, COPY, or DROP query constructs, using keywords such as, DEFAULT, NAMED, GRAPH, and ALL), you can create the RDF_LINK$ table as a list-list composite partitioned table where subpartitions are automatically maintained on the graph ID. You can create the auto-list subpartitioned table by using the MODEL_PARTITIONING=BY_LIST_G option in SEM_APIS.CREATE_SEM_NETWORK.

See RDF Networks for more information.

Support for Retrieving Query Execution Plan Cost

You can use the SEM_APIS.GET_PLAN_COST API procedure to get the cost of a query execution plan.

See SEM_APIS.GET_PLAN_COST for more information.

Support for 32K VARCHAR RDF Values

You can now store RDF values up to 32767 bytes in length as VARCHAR values in your semantic network if your database has extended VARCHAR support enabled (MAX_STRING_SIZE=EXTENDED). In previous releases, only RDF values up to 4000 bytes in length were stored as VARCHAR values. RDF values larger than this limit (4K or 32K bytes), are stored as CLOBs. A 32K VARCHAR network results in less values being stored as CLOBs, which increases performance for queries, DMLs, and bulk load operations on large RDF literals.

To control the maximum VARCHAR size in your semantic network, you can pass NETWORK_MAX_STRING_SIZE=EXTENDED for 32k VARCHAR or NETWORK_MAX_STRING_SIZE=STANDARD (default) for 4K VARCHAR in the options argument of SEM_APIS.CREATE_SEM_NETWORK.

A pre-existing 4K VARCHAR semantic network cannot be migrated to a 32K VARCHAR semantic network. You must create a new semantic network using NETWORK_MAX_STRING_SIZE=EXTENDED and reload your data into the new network.

Deprecation of MDSYS-Owned Semantic Network

Creation of RDF graph networks in the MDSYS schema is deprecated.  Oracle recommends that you create RDF graph networks in a user schema, which was enabled in Oracle Database 19c.

An existing MDSYS-owned semantic network can be migrated to a shared schema-private semantic network by using the SEM_APIS.MOVE_SEM_NETWORK_DATA and SEM_APIS.APPEND_SEM_NETWORK_DATA procedures.

See MDSYS-Owned Semantic Network in Appendix D for more information on MDSYS-owned semantic networks.

Running Graph Analytics Algorithms with RDF Graphs

You can create property graph views from an RDF graph. You can first run SEM_MATCH queries to create database views that represent vertex and edge tables, and then create a PGQL property graph from those views. This property graph can be loaded into the graph server for running graph analytics algorithms.

See Property Graph Views on RDF Graphs for more information.