owl:inverseOf

Get the reverse direction of a relation for free.

0/3 done

Theory

Declaring :parentOf owl:inverseOf :childOf means: every :A :parentOf :B triple entails :B :childOf :A, and vice versa.

You only need to assert one direction; the reasoner fills in the other.

In practice this lets you ingest data in whatever direction your source system happens to expose (often only one) and then query in the natural direction for the question at hand — find all students of :Splinter and find all teachers of :Michelangelo become the same shape of query, even though the file on disk only stores :teaches.

Analogy

Saying Alice is Bob's parent automatically tells you Bob is Alice's child. You'd never write both in a diary entry. owl:inverseOf is that intuition, encoded.

It's also why family-tree apps never ask you to fill in both columns: enter one parent-child link and the child-parent link appears on its own. owl:inverseOf is that UX, baked into the data model.

Visualization

Master Student teaches studentOf (inverseOf)

One declaration, two directions. The reasoner mirrors :teaches into :studentOf for every matching triple.

Read the diagram as a single edge with two labels: the green arc going right is what you wrote (:teaches); the arc going back left is what the reasoner adds (:studentOf). No new data — just the same fact, viewed from the other end.

Reading in progress · 0 of 3 activities done