Inferencing with the RDF Graph Feature

Inferencing is the ability to make logical deductions based on rules. Inferencing enables you to construct queries that perform semantic matching based on meaningful relationships among pieces of data, as opposed to just syntactic matching based on string or other values. Inferencing involves the use of rules.

An ontology is a shared conceptualization of knowledge in a particular domain. It consists of a collection of classes, properties, and optionally instances. Classes are typically related by class hierarchy (subclass/superclass relationship). Similarly, the properties can be related by property hierarchy (subproperty/superproperty relationship). Properties can be symmetric or transitive, or both. Properties can also have domain, ranges, and cardinality constraints specified for them.

RDFS-based ontologies only allow specification of class hierarchies, property hierarchies, instanceOf relationships, and a domain and a range for properties.

OWL ontologies build on RDFS-based ontologies by additionally allowing specification of property characteristics. OWL ontologies can be further classified as:

Inferencing with the RDF Graph Feature

The RDF Graph feature supports W3C RDF Schema (RDFS) and Web Ontology Language (OWL) inference through Apache Jena. It also has the ability to support other memory-based third party reasoners such as Pellet and TrOWL as described in Query RDF Graphs.

Inferencing can be performed in memory on OntModel APIs. Alternatively, the ontology can be passed to an external reasoner. The newly inferred triples can be written back to NoSQL Database and stored as part of the original graph or a new named graph.