Skip navigation

Oracle Graph Server and Client 20.1 is a software package that works with Oracle Database.   It includes the in-memory analytics server (PGX) and client libraries required to work with the Property Graph feature in Oracle Database.     The package simplifies installation and provides access to the latest graph features and updates.   New Property Graph features in Oracle Graph Server and Client 20.1 include:


  • Support for working with Autonomous Database
  • New PGQL DDL to create a Property Graph from data in database tables
  • GraphViz: Lightweight, single-page web application to visualize graphs
  • New PGQL query features and algorithms:
    • TOP k CHEAPEST path queries
    • Compute High Degree Vertices
    • Create Distance Index
    • Limited Shortest Path (Hop Distance)
    • All Reachable Vertices/Edges
  • In-memory graph representation optimized for reduced memory usage and faster performance
  • Improved software packaging


Oracle Graph Server and Client works with Oracle Database 12.2 onward.


Download is available on and    Download and try it out by following install instructions in section 1.2 of the documentation.    Oracle Graph Server and Client is typically installed in a separate Linux machine; for Cloud deployment this would be a compute node instance.    Sections 1.6 and 1.7 include additional useful information for getting started, and section 1.9 includes a quickstart.


The Property Graph feature supports storage, modeling and analysis of data as graphs in Oracle Database. Graphs are a different way of looking at data.  They enable data to be modeled based on relationships and connections between data entities.  Graph algorithms are designed specifically to analyze relationships in data, making possible additional data insights not easily discovered using other methods. With graph analytics you can explore and discover connections and patterns in social networks, IoT, big data, data warehouses, and complex transaction data for applications such as fraud detection in banking, customer 360, and smart manufacturing.  

This release is compatible with Oracle Database Release 12c (,, and newer


This release supports Apache Jena 3.1.0 and Apache Jena Fuseki 2.4.0, both standalone and web application versions. Support for Joseki 3.4.4 is continued.  Details can be found below.


- Compliance with Apache Jena 3.1.0

      This release complies with Apache Jena 3.1.0



- Fuseki 2.4.0 standalone version support

To start Fuseki 2.4.0 standalone version, first create a configuration file (config.ttl, see an example at the end of the README), and then issue the following command:


./fuseki-server --config config.ttl


After the above command, one should be able to use the SPARQL endpoint using




- Fuseki 2.4.0 web app support

* Create a directory called /etc/fuseki/ that allows read and write access by the J2EE container process running on the system.


* Create /etc/fuseki/config.ttl (see the example at the end of the README)


* Deploy the fuseki.war. Note that after deploying fuseki.war to a J2EE container (Web Logic Server or above), a few files and sub-directories will be automatically created under /etc/fuseki


* Modify /etc/fuseki/shiro.ini

To properly show dataset names when connecting to http://<your_host_name>:7001/fuseki/ (the port 7001 and also the fuseki/ context may vary depending on your

J2EE container setup), replace the following line of text in /etc/fuseki/shiro.ini,

/$/** = localhostFilter




/$/server   = anon

$/** = localhostFilter


After making the above change, restart the fuseki web application and one should be able to use the SPARQL endpoint via





- Joseki 3.4.4 support

The deployment and use of Joseki 3.4.4 has not changed since the previous release.



An example config.ttl is as follows. Note that it is recommended to use oracle:allGraphs to expose RDF data including triples and quads.


@prefix :        <#> .   

@prefix fuseki:  <> .

@prefix rdf:     <> .


@prefix rdfs:   <> .

@prefix tdb:     <> .

@prefix ja:      <> .


@prefix oracle:  <> .


[] rdf:type fuseki:Server ;

fuseki:services (


) .


# Custom code.

[] ja:loadClass "oracle.spatial.rdf.client.jena.assembler.OracleAssemblerVocab" .

oracle:Dataset rdfs:subClassOf  ja:RDFDataset .


<#oracle> rdf:type oracle:Dataset;


[ a oracle:OracleConnection ;


oracle:User "<your_DB_user>" ;

oracle:Password "<your_DB_password"


oracle:allGraphs [ oracle:firstModel "TEST_MODEL" ] .



## ---------------------------------------------------------------

## Updatable in-memory dataset.


<#service1> rdf:type fuseki:Service ;

# URI of the dataset -- http://host:port/ds

fuseki:name "oracle" ;


# SPARQL query services e.g. http://host:port/ds/sparql?query=...

fuseki:serviceQuery "sparql" ;

fuseki:serviceQuery "query" ;

# SPARQL Update service -- http://host:port/ds/update?request=...

fuseki:serviceUpdate "update" ;   # SPARQL query service -- /ds/update


# Upload service -- http://host:port/ds/upload?graph=default or ?graph=URI or ?default

# followed by a multipart body, each part being RDF syntax.

# Syntax determined by the file name extension.

fuseki:serviceUpload "upload" ;   # Non-SPARQL upload service


# SPARQL Graph store protocol (read and write)

# GET, PUT, POST DELETE to http://host:port/ds/data?graph= or ?default=

fuseki:serviceReadWriteGraphStore "data" ;


# A separate read-only graph store endpoint:

fuseki:serviceReadGraphStore "get" ;   # Graph store protocol (read only) -- /ds/get


fuseki:dataset <#oracle> ;



To download, go to the following website and select the version dated "December 2016."


RDF Semantic Graph Licensed Software