rdfs:subPropertyOf works like a relationship inheritance system.
It tells the graph:
“Whenever this specific relationship exists, a more general relationship also exists automatically.”
The Family Relationship Analogy
Imagine a family database.
If someone says:
“Bob is the child of Al”
then it is automatically true that:
“Bob is related to Al.”
You never need to write the second sentence manually.
The system can infer it.
That is exactly what rdfs:subPropertyOf does.
Example
:childOf rdfs:subPropertyOf :relatedTo .
:Bob :childOf :Al .
The reasoner automatically infers:
:Bob :relatedTo :Al .
The Company Hierarchy Analogy
Think of relationships like job titles inside a company.
| Specific Role | General Role |
|---|
| Senior Engineer | Employee |
| Team Lead | Employee |
| Intern | Employee |
If someone is a “Senior Engineer,” they are automatically an “Employee.”
Similarly:
| Specific RDF Property | General RDF Property |
|---|
:childOf | :relatedTo |
:author | :contributor |
:student | :knows |
How Inference Works
| Declared Hierarchy | Explicit Triple | Inferred Triple |
|---|
:childOf rdfs:subPropertyOf :relatedTo | :Bob :childOf :Al | :Bob :relatedTo :Al |
:student rdfs:subPropertyOf :knows | :A :student :B | :A :knows :B |
:author rdfs:subPropertyOf :contributor | :X :author :Y | :X :contributor :Y |
Direction Matters
This inheritance only flows upward.
If the graph knows:
:Bob :childOf :Al .
then it can infer:
:Bob :relatedTo :Al .
But NOT the reverse.
Knowing two people are related does NOT prove one is the child of the other.
Mental Model
Think of rdfs:subPropertyOf as a semantic zoom-out.
The graph moves from:
“very specific relationship”
into:
“broader category of relationship.”
Why This Matters
This mechanism allows:
- flexible querying
- hierarchical reasoning
- vocabulary reuse
- generalized graph search
For example, a query searching for all :relatedTo relationships will also discover:
:childOf
:parentOf
:siblingOf
if those are defined as sub-properties.
Key Insight
rdfs:subPropertyOf creates semantic inheritance for relationships.
Specific predicates automatically imply broader predicates.
The graph becomes smarter because meaning propagates upward through the relationship hierarchy.