Chapter 1. RDF Graph for NoSQL Database Overview

Table of Contents

Introduction to the RDF Graph Feature
Semantic Data Modeling
Named Graphs
Semantic Data in the Database
Inferencing with the RDF Graph Feature

This chapter describes the support in Oracle NoSQL Database for semantic technologies, specifically the Worldwide Web Consortium (W3C) Resource Description Framework (RDF), SPARQL query language, and a subset of the Web Ontology Language (OWL). These capabilities are a feature referred to as the RDF Graph feature for Oracle NoSQL Database Enterprise Edition.

This chapter assumes that you are familiar with the major concepts associated with RDF and OWL, such as {subject, predicate, object} triples, URIs, blank nodes, plain and typed literals, and ontologies. It also assumes that you are familiar with the overall capabilities and use of the Apache Jena Java framework. This chapter does not explain these concepts in detail, but focuses instead on how the concepts are implemented in Oracle NoSQL Database.

For an excellent explanation of RDF concepts, see the World Wide Web Consortium (W3C) RDF Primer at

For information about OWL, see the OWL Web Ontology Language Reference at

The RDF Graph feature provides a Java-based interface to store and query semantic data in the Oracle NoSQL Database. This is done by implementing the well-known Apache Jena Graph, Model, and DatasetGraph APIs. (Apache Jena is an open source framework. For license and copyright conditions, see

The Apache Jena Graph and Model APIs are used to manage graph data, also referred as triples. The DatasetGraph APIs are used to manage named graph data, also referred to as quads.

The RDF Graph feature supports creating a SPARQL end point web service using Apache Jena Joseki, an open source SPARQL server that supports the SPARQL protocol and SPARQL queries. Apache Jena, Apache Jena ARQ and Apache Jena Joseki are included with the RDF Graph feature as described in Prerequisite Software.

For information about the Apache Jena framework, see, especially the Apache Jena Documentation page.

Introduction to the RDF Graph Feature

Oracle NoSQL Database enables you to store semantic data and ontologies, to query semantic data and to use inferencing to expand the power of querying on semantic data. The following figure shows how these capabilities interact.

The following illustration shows the relationship between NoSQL Database and the RDF Graph client running in a Web server:

Relationship between NoSQL DB and RDF Graph

As shown in the previous figure, the database contains semantic data and ontologies (RDF/OWL models), as well as traditional key-value data. To load RDF data, bulk loading is the most efficient approach, although you can load data incrementally using an Apache Jena API.

You can query semantic data and ontologies. You can expand the power of queries on semantic data by using inferencing, which uses rules in rulebases. Inferencing enables you to make logical deductions based on the data and the rules. For information about using rules and rulebases for inferencing, see Inference on an RDF Graph.