An RDF graph without reasoning is just a collection of stated facts. You assert that Employee rdfs:subClassOf Person, and that Nancy rdf:type Employee, but a SPARQL query for ?x rdf:type Person will not return Nancy — unless a reasoner has computed the inference.
Employee rdfs:subClassOf Person
Nancy rdf:type Employee
?x rdf:type Person
This is the fundamental problem reasoning solves: making implicit knowledge explicit.
A reasoner reads the axioms in your ontology (subClassOf, equivalentClass, inverseOf, propertyChainAxiom, etc.) and produces new triples that logically follow from those axioms combined with your data.
Employee rdfs:subClassOf Person . ← ontology axiom Nancy rdf:type Employee . ← data fact
Query: SELECT ?x WHERE { ?x rdf:type Person } → empty result
SELECT ?x WHERE { ?x rdf:type Person }
Employee rdfs:subClassOf Person . ← ontology axiom Nancy rdf:type Employee . ← data fact Nancy rdf:type Person . ← INFERRED by reasoner
Query: SELECT ?x WHERE { ?x rdf:type Person } → Nancy ✓
The reasoner computes all inferred triples upfront and stores them alongside the asserted data. Queries run against the full materialized graph.
The reasoner modifies incoming SPARQL queries to include the inference logic. No extra triples are stored.
RDF Studio uses on-demand materialization — the reasoner runs when you toggle it on in the ontology editor, computing the full closure once. The inferred triples are displayed as dashed orange edges and chips, but never persisted to the database. Toggle it off and they disappear.
Without a reasoner, your ontology axioms are just documentation. The database doesn't "understand" them:
Employee subClassOf Person
manages inverseOf reportsTo
boughtProduct
Order equivalentClass (...)
Product disjointWith Category
Not all reasoning is created equal. OWL 2 defines four profiles with different trade-offs:
RDF Studio implements OWL 2 RL — the same profile used by production triplestores. This means the inferences you see in the editor are exactly what your triplestore will compute when you deploy.