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:
OWL-Lite
OWL-Lite restricts the cardinality minimum and maximum values to 0 or 1.
OWL-DL
OWL-DL relaxes this restriction by allowing minimum and maximum values.
OWL Full
OWL Full allows instances to be also defined as a class, which is not allowed in OWL-DL and OWL-Lite ontologies.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.