Object Membership

The Ontological Structure

As an appendix to [] and [], a description of object membership is presented as it applies to ontologies. Considered are RDF Schema and OWL 2 Full.


Ondřej Pavlata
Jablonec nad Nisou
Czech Republic
Document date
Initial releaseDecember 12, 2012
Last major release December 12, 2012
Last updateMarch 12, 2015
(see Document history)
  1. This document has been created without any prepublication review except those made by the author himself.

Table of contents


In this document, we first provide a partial abstract specification of RDF Schema and OWL 2. The specification results in a formal structure that induces a core structure (Ō, ϵ, , r, c, p) between (primary) objects Ō such that ϵ and have the usual meaning of instance-of and inheritance relations, respectively, r is an inheritance root, c is a metaclass root, and p is an additional distinguished object.

Subsequently, we define a generalization of the S1ϵ structure, the canonical structure (O, ϵ) of object membership. () The generalized structure is denoted S1o and called the ontological structure of object membership. We then show that the restriction to primary objects, S1o.pr, is a specialization of the core structure of RDF Schema. Moreover, the additional constraints that are not guaranteed in RDF Schema, can be considered to be satisfied by most reasonable RDFS structures. In particular, the built-in structures of RDF Schema and OWL 2 satisfy all the axioms of S1o.pr structures.

Note:() For simplicity, we assume condition (S1ϵ~5⁺) so that S1o is just an eigenclass completion of the primary structure S1o.pr.


Relational indiscernibility
Let R be a (binary) relation on a set X (thus R X × X). We say that elements a and b of X are indiscernible w.r.t. R if for every x X {a,b} the following are satisfied: Equivalently, the map f = X. {(a,a), (b,b)} {(a,b),(b,a)} (f just exchanges a and b) is an automorphism of (X,R). Obviously, indiscernibility is an equivalence, inducing a partition of X into blocks.

Given a system (X, R) of relations on a set X (so that R (X × X)) elements a and b of X are indiscernible w.r.t. R if they are indiscernible w.r.t. R for each R R.

For a relational system (X, R) we distinguish the following finiteness conditions:

(IND~F~1) (X, R) has only finitely many blocks of indiscernibility.   (I.e. the quotient graph is finite).
(IND~F~2) The quotient graph of (X, R) is finite and its restriction to the set of infinite blocks acyclic.
(IND~F~3) (X, R) has only finitely many blocks of indiscernibility and at most one of them is infinite.
(IND~F~3') (X, R) has a cofinite block of indiscernibility.
(IND~F~3'') There is a cofinite subset of X whose elements are mutually indiscernible w.r.t. R.

Note: A subset Y of X is said to be cofinite if X Y is finite.


  1. For a relational system (X, R), the following are equivalent:
  2. If (X, R) satisfies (IND~F~2) (and in particular, if it satisfies (IND~F~3)) then for every relation R R, acyclic paths in R are of limited length, i.e. there exists n > 0 such that every path has a cycle (i.e. xi = xj for some i j).
  3. Conditions (IND~F~3), (IND~F~3') and (IND~F~3'') are equivalent.
  4. If (IND~F~3') is satisfied and X is infinite then there is exactly one cofinite block of indiscernibility.

RDFS structures

We describe RDFS structures – i.e. structures expressed in the RDF Schema [] [] – in three abstraction refinement steps:
  1. RDFS1 structures capture all the information related to object membership.
  2. RDFS2 structures contain the built-in RDFS structure (with all axiomatic triples).
  3. RDFS3 structures distinguishes literals in their embedding into blank nodes.
RDFS3 structures capture most of the features of RDFS structures. The not covered features include the following:
RDFS1: The core structure of RDF Schema
An RDFS1 structure is a structure (Ō, Ψ, ϵ, ‹≤C, ‹≤P, ϵd, ϵr, r, c, p) where Additional notation and terminology is applied:

The structure is subject to the following axioms:



  1. p ϵ c.
  2. Every object is a resource, Ō = r.϶.
  3. In rdfs8, rdfs9, and ext1–ext9, set inclusion, , can be equivalently replaced by equality, =. In particular:


  1. Since Ψ is non-empty we have Ψ.p p.ϵ (by rdf1). Thus p rng(ϵ). Using ϵ ϵr c and rdfs3, we have rng(ϵ) c.϶, thus p ϵ c.
  2. If x Ψ.s (resp. x Ψ.o) then x ϵ r by rdfs4a (resp. rdfs4b). If x Ψ.p then x ϵ p by rdf1. Since p is a class due to the previous proposition, it is also a subclass of r (by rdfs8). We have By rdfs9, x ϵ r.
RDFS1 closure
We say (write) that a set X Ō3 of triples is Λ1-closed if the following is satisfied: In particular, Ψ is Λ1-closed.


  1. Λ1-closed sets of triples form a closure system in ((Ō3), ). We use the Λ1 symbol for the corresponding closure operator, i.e. Λ1(T) is the smallest (w.r.t. set inclusion) superset of T that is Λ1-closed.
  2. Λ1 preserves the finiteness condition (RDFS1~5), i.e. given a set T of triples, if is a cofinite set X of objects that are mutually indiscernible w.r.t. T, then for some cofinite subset Y of X, all objects of Y are indiscernible w.r.t. Λ1(T).
  3. Corollary: Adding finitely many triples to Ψ and subsequently applying Λ1-closure results in a (new) RDFS1 structure.


  1. Let Y be the (necessarily cofinite) subset of X of objects that do not appear as a constant in a triple pattern. We show that all elements of Y are mutually indiscernible w.r.t. Λ1(T).

    Let a, b be from Y, p a property and o an objects different from both a and b. We should show that

    But this follows, since the entailment rules do not contain a triple pattern of the form (x,x,a) or (a,x,x) (or even (x,x,x)) where x is a variable.
The minimum RDFS1 structure
The following diagram shows the minimum RDFS1 structure, entailed by the empty set, i.e. Ψ = Λ1(). The structure contains exactly the 8 distinguished objects. The five core relations, ϵ, C, P, ϵd, ϵr are displayed in their respective reductions, A, C, P, D, R.
  • (A) … instance-of (ϵ)
  • (C) … subclass-of (C)
  • (P) … subproperty-of (P)
  • (D) … domain-restricted-by (ϵd)
  • (R) … range-restricted-by (ϵr)
RDFS2: A superstructure of the built-in RDFS structure
An RDFS2 structure is an RDFS1 structure such that the following is satisfied: The built-in structure is the minimum RDFS2 structure. The structure contains:
  • rdfs:Resource (inheritance root)
  • rdfs:Class (metaclass root)
  • rdfs:Datatype (metaclass)
  • rdfs:Literal
  • rdf:XMLLiteral
  • rdf:Statement
  • rdf:List
  • rdfs:Container
  • rdf:Bag
  • rdf:Seq
  • rdf:Alt
  • rdf:Property (the p class)
  • rdfs:ContainerMembershipProperty
  • rdfs:seeAlso
  • rdfs:isDefinedBy
  • rdfs:member
  • rdf:_1
  • rdf:_2, …

  • rdf:type
  • rdfs:subClassOf
  • rdfs:subPropertyOf
  • rdfs:domain
  • rdfs:range

  • rdf:subject
  • rdf:predicate
  • rdf:object

  • rdf:value
  • rdfs:label
  • rdfs:comment
  • rdf:first
  • rdf:rest


  1. Missing arrows for ϵd / ϵr indicate that the only respective domain or range restrictor is the inheritance root, r.
  2. It is correct to state that the built-in structure is the minimum RDFS2 structure since the following are satisfied:
RDFS2 closure
Similary as with RDFS1 structures, a set X Ō3 of triples is Λ2-closed if the following is satisfied:


  1. Any Λ2-closed set of triples is Λ1-closed.
  2. Λ2-closed sets of triples form a closure system; let Λ2 be the corresponding closure operator.
  3. Λ2 preserves finite discernibility (IND~F~3).
  4. Λ2 and Λ1 preserve the following finiteness condition:
  5. Corollary: For every RDFS2 structure generated by a finite set of triples (via Λ2) the range of Ψ.so Ō. is finite, i.e. there are only finitely many non-leaf objects o such that


  1. For every entailment rule T t = (s,p,o), either of the following is satisfied: If the rule is applied to a set X of triples, then in case (a) and (b) the range of X.so does not increase (is the same as the range of (X {t}).so). In the (c) case, t is a loop triple, (o,p,o), which is excluded from the finiteness constraint.
RDFS3: Literals and blank nodes
An RDFS3 structure is a RDFS2 structure equipped with (B, L.b) where The structure satisfies the following conditions:
(RDFS3~1) Blank nodes cannot appear as the predicate of a triple, i.e.
  • Ψ Ō × (Ō B) × Ō.
(RDFS3~2) Literal bnodes are blank nodes, L.b B.
(RDFS3~3) Literal bnodes are instances of L, i.e. the following RDFS entailment rule [] applies:
Convenient expression Description Triple inference
rdfs1 L.b L.϶ Literal bnodes are instances of rdfs:Literal. x L.b,
? ? x
x ϵ L
The Λ3 closure operator is then defined by Λ3(X) = Λ2(X ((X.o L.b) × {ϵ} × {L})).
(RDFS3~4) All triples having a literal bnode as the subject are inferred, i.e.
  • Ψ = Λ3(Ψ (L.b × Ō × Ō)).
(RDFS3~5) The built-in structure, Λ3(), does not contain any blank nodes. (In particular, Λ2() = Λ3().)


  1. The specification of RDF Schema [] introduces two dual sets of entities: There is one-to-one mapping, .b, between literals and their counterparts, which assigns each literal x an object, x.b, called the blank node allocated to x. Literals are disjoint with objects, L Ō = . Together with objects, they form the set of nodes. Objects that are not blank nodes are URI names.

    The set Ψ, as specified in [] (where it is called RDF graph), is allowed to also contain literals as the triple's object, i.e.

    The literal generalization (lg) and literal instantiation (gl) rules [] assert that for every objects a, b and every literal x,
  2. The RDF Schema specification does not introduce any restrictions as to the range of the core 5 properties with respect to literals. For example, is a valid RDF triple. (In contrast, "5" rdf:type rdfs:Literal is not a valid RDF triple [].)

OWL-2 structures

In this section, the RDFS3 structure is further extended to capture object membership, ϵ, in OWL 2 Full [] [].
OWL21: A superstructure of the built-in OWL 2 structure
An OWL21 structure is an RDFS3 structure such that the following is satisfied:
The built-in structure is the minimum OWL1 structure. In addition to the built-in RDFS2 structure, the structure contains: The structure (Ō, ϵ, ≤C, ≤P, ϵd, ϵr) is obtained as follows:
OWL Classes:
  • owl:AllDifferent
  • owl:AllDisjointClasses
  • owl:AllDisjointProperties
  • owl:Annotation
  • owl:AnnotationProperty
  • owl:AsymmetricProperty
  • owl:Axiom
  • owl:Class (equivalent to c)
  • owl:DataRange (deprecated, equivalent to D)
  • owl:DatatypeProperty
  • owl:DeprecatedClass
  • owl:DeprecatedProperty
  • owl:FunctionalProperty
  • owl:InverseFunctionalProperty
  • owl:IrreflexiveProperty
  • owl:NamedIndividual
  • owl:NegativePropertyAssertion
  • owl:Nothing
  • owl:ObjectProperty (equivalent to p)
  • owl:Ontology
  • owl:OntologyProperty
  • owl:ReflexiveProperty
  • owl:Restriction
  • owl:SymmetricProperty
  • owl:Thing (equivalent to r)
  • owl:TransitiveProperty
OWL Properties:
  • owl:versionInfo
  • owl:deprecated
  • owl:imports
  • owl:versionIRI
  • owl:backwardCompatibleWith
  • owl:incompatibleWith
  • owl:priorVersion
  • owl:cardinality
  • owl:maxCardinality
  • owl:minCardinality
  • owl:qualifiedCardinality
  • owl:maxQualifiedCardinality
  • owl:minQualifiedCardinality
  • owl:hasSelf
  • owl:hasValue
  • owl:allValuesFrom
  • owl:someValuesFrom
  • owl:onProperty
  • owl:onProperties
  • owl:onDataRange
  • owl:onClass
  • owl:intersectionOf
  • owl:oneOf
  • owl:unionOf
  • owl:disjointUnionOf
  • owl:hasKey
  • owl:complementOf
  • owl:disjointWith
  • owl:inverseOf
  • owl:datatypeComplementOf
  • owl:onDatatype

  • owl:withRestrictions
  • owl:propertyChainAxiom
  • owl:annotatedProperty
  • owl:annotatedSource
  • owl:annotatedTarget
  • owl:sameAs
  • owl:differentFrom
  • owl:distinctMembers
  • owl:members
  • owl:equivalentProperties
  • owl:equivalentClasses
  • owl:targetValue
  • owl:sourceIndividual
  • owl:targetIndividual
  • owl:assertionProperty
  • owl:propertyDisjointWith
  • owl:topObjectProperty
  • owl:bottomObjectProperty
  • owl:topDataProperty
  • owl:bottomDataProperty
Facet Names:
  • rdf:langRange
  • xsd:length
  • xsd:maxExclusive
  • xsd:maxInclusive
  • xsd:maxLength
  • xsd:minExclusive
  • xsd:minInclusive
  • xsd:minLength
  • xsd:pattern

Notes and observations:

  1. () The set of built-in classes generated by the RDFS and OWL 2 RL generator service [] differs as follows:
  2. Property groups indicated by gray dashed lines are blocks of indiscernibility in the built-in structure. The remaining non-grouped properties are singletons in w.r.t. indiscernibility, except for v, sA, dF, aP, aS, aT, tOP, and bOP which are all mutually indiscernible (they are characterized by not having ingoing or outgoing arrows in the diagram).
  3. The two class groups indicated by green dashed lines are each a block of indiscernibility up to one missing class:
  4. Classes owl:AnnotationProperty and owl:OntologyProperty are minimal in inheritance but have 3 common instances, which therefore do not have least type.
  5. There are changes in the least type of some objects from RDFS2:
    Object x The least type of x
    In RDFS2 In OWL21
    rdfs:Literal rdfs:Class rdfs:Datatype
    rdfs:label, rdfs:comment, rdfs:seeAlso, rdfs:isDefinedBy rdf:Property owl:AnnotationProperty
  6. After identification of equivalent classes, inheritance between built-in classes forms a tree.
  7. There are 7 built-in metaclasses (of which only 5 are non-equivalent):

S1o: The ontological structure of object membership

Motivated by RDF Schema and OWL 2 Full, we introduce a generalization of S1ϵ structures that allows the following features:

An S1o structure is a structure (O, ϵ, r, c, p) where

Terminology, notation and axioms are similar as for an S1ϵ structure.

Note: Disjointness of P and C is asserted by (S1o~10)(a).

An S1o structure is subject to the following axioms:
(S1o~1) Condition (S1ϵ~1) applies, i.e. there is a unique map, .ec, such that (.ec) () = (ϵ).
(S1o~2) Inheritance, , is antisymmetric on T O.ec (but not necessarily on C P).
(S1o~3) Condition (S1ϵ~3) applies, i.e. terminals are minimal in inheritance.
  • (a) O.ec C r., i.e.
    • O = r.϶ – every object is a member of r, and
    • C r. – every class is a descendant of r.
  • (b) r.ec c.ec, i.e. r and c are not equivalent in inheritance, .
  • (c) H C is totally preordered by .
  • (d) r.ec. = c. c., i.e. r.ec is the only child of c.
  • (e) H C = c., i.e. helix classes are exactly the ancestors of c.
(S1o~5⁺) Condition (S1ϵ~5⁺) applies: O.ec {r.ec} is a down-set in inheritance.
(S1o~6) Primary objects do not necessarily form a closure system in the inheritance. Instead, the following weaker condition applies:
  • C.ec. H H.ec.   (= c. c.).
i.e. non-helix containers of classes are metaclasses.
(S1o~7) Condition (S1ϵ~7') applies, i.e. member-of-instance-of is the same as instance-of-instance-of.
(S1o~8) Condition (S1ϵ~8) applies, i.e. H is not a subset of (C H)...
(S1o~9) The set H.ec is upper finite, i.e. every helix eigenclass has finite number of eigenclass ancestors.
  • (a) p is a class that is neither a helix class nor a metaclass, i.e. p C (c. c.).
  • (b) Descendants of properties are properties, P. = P.


  1. Requiring (S1ϵ~5⁺) instead of (S1ϵ~5) simplifies condition (S1o~4)(d) – it follows that r.ec(i) is the only child of c.ec(i-1) for each i > 0.
  2. As to the examples of structures disallowed by (S1p~6), condition (S1o~6) allows (ⅰ) but still disallows (ⅱ). []


  1. For an S1o structure (O, ϵ, r, c, p) the reduct (O, ϵ) is an S1ϵ structure if and only if the following are satisfied:
    1. The set P of properties forms an antichain in inheritance.
    2. The eigenclass map, .ec, is injective.
    3. The class map, .class, is defined for every object.
    4. The set C of classes is finite.
  2. For an S1ϵ structure (O, ϵ) satisfying (S1ϵ~5⁺) and containing at least one class p not from c. c., the structure (O, ϵ, r, c, p) is an S1o structure.
  3. Up to equivalence of inheritance roots and of metaclass roots, the structure is uniquely given by (O, ϵ, p).
The following diagrams show parts of an S1o structure that is an RDFS2 structure in eigenclass completion. In the first diagram, the terminal object x is an instance of multiple minimal classes: A and B. These classes have been created as instances of the rdfs:Datatype metaclass, thus, by the rdfs13 entailment rule, they become descendants of rdfs:Literal.
r rdfs:Resource
c rdfs:Class
L rdfs:Literal
D rdfs:Datatype
The following RDF triples have been added to the built-in structure:
ex:A rdf:type rdfs:Datatype .
ex:B rdf:type rdfs:Datatype .
ex:x rdf:type ex:A, ex:B .
The second diagram contains 5 properties, i.e. 5 instances of the rdf:Property class. Properties a and b are equivalent, since they have been declared as a subproperty of each other.
r rdfs:Resource
c rdfs:Class
P rdf:Property
The following RDF triples have been added:
ex:a rdf:type ex:Q .
ex:a rdfs:subPropertyOf ex:b .
ex:b rdfs:subPropertyOf ex:a .
ex:x rdfs:subPropertyOf ex:s .
ex:y rdfs:subPropertyOf ex:s .

S1o.pr: The primary structure

An S1o.pr structure is a structure (O.pr, ϵ, , r, c, p) where Additional notation / terminology is applied:

Note: Disjointness of P and C is asserted by (S1o.pr~9).

The structure is subject to the following axioms:
  • (a) (ϵ) () = (ϵ).
  • (b) () (ϵ) = (ϵ).
(S1o.pr~2) The inheritance is a preorder between objects.
  • (a) Only classes can have instances.
  • (b) Terminals have no strict descendants.   (In particular, they have no distinct equivalents in .)
(S1o.pr~4) The set H.pr of helix classes is subject to the following conditions:
  • (a) Helix classes are totally preordered by the inheritance .
  • (b) There are at least 2 non-equivalent helix classes.
  • (c) r is a top helix class, c is a bottom helix class.
(S1o.pr~5) Metaclasses can only have classes as primary instances.
  • (a) Every object has a container.
  • (b) Only metaclasses and helix classes can have classes as instances.
(S1o.pr~7) Chains in ϵ between non-helix classes are of bounded length, i.e. for some i > 0,
  • x ϵi y   implies   y ϵ y,     for every objects x, y.
(S1o.pr~8) There are only finitely many non-equivalent helix classes.
(S1o.pr~9) p is a class that is neither a helix class nor a metaclass.
Eigenclass completion
Eigenclass chains for -equivalent classes or properties are shared. Otherwise, the eigenclass completion is the same as for S1ϵ.pr structures.

Proposition: Up to isomorphism, there is one-to-one correspondence between S1o structures and S1o.pr structures.

Correspondence to RDFS1 structures
For a RDFS1 structure (Ō, Ψ, ϵ, ‹≤C, ‹≤P, ϵd, ϵr, r, c, p) denote the relation between objects defined as Ō. (≤C) (≤P), i.e. The following proposition shows the correspondence of ontological structures of ϵ (S1o / S1o.pr) to RDF Schema and OWL 2 Full:

Proposition A:

The reduct (Ō, ϵ, , r, c, p) of an RDFS1 structure is an S1o.pr structure if and only the following (additional) conditions are satisfied:
(RDFS1~ad~1) Classes and properties are disjoint, c.϶ p.϶ = .
(RDFS1~ad~2) () (ϵ) = (ϵ).
  • (a) Helix classes are totally preordered in .
  • (b) The metaclass root can only be an instance of helix classes, c.ϵ = c..
(RDFS1~ad~4) Only metaclasses and helix classes can have classes as instances, i.e. for every class x,
  • x.϶ c.϶   implies   x c. c..
(RDFS1~ad~5) Cycles in ϵ only occur among helix classes.

Proof: Acyclic chains in ϵ are of limited length due to the finiteness condition (RDFS1~5).

Proposition B:

None of the above conditions can be omitted as shown by the following examples:
Condition ϕ name Generating triple(s) Where ϕ is violated in the Λ2 closure
(RDFS1~ad~1) rdf:value ϵ rdfs:Class . rdf:value is both property and class.
(RDFS1~ad~2) rdfs:seeAlso ϵ rdf:Alt . rdfs:isDefinedBy, despite being a subproperty of rdfs:seeAlso, is not an instance of rdf:Alt.
(RDFS1~ad~3)(a) rdfs:Class ≤C ex:A .
rdfs:Class ≤C ex:B .
The helix classes ex:A and ex:B are incomparable in inheritance.
(RDFS1~ad~3)(b) rdfs:Class ϵ ex:C . ex:C is not a superclass of rdfs:Class.
(RDFS1~ad~4) rdf:Seq ϵ rdf:Bag . rdf:Bag is not a metaclass (nor a helix class). []
(RDFS1~ad~5) ex:M ≤C rdfs:Class .
ex:N ≤C rdfs:Class .
ex:M ϵ ex:N .
ex:N ϵ ex:M .
ex:M and ex:N are not helix classes (despite constituting a cycle in ϵ).


Ivan Herman, RDFS and OWL 2 RL generator service, 2009, http://www.ivan-herman.net/Misc/2008/owlrl/
Aimilia Magkanaraki, Sofia Alexaki, Vassilis Christophides, and Dimitris Plexousakis, Benchmarking RDF Schemas for the Semantic Web, ISWC, 2002, http://www.ics.forth.gr/isl/publications/paperlink/iswc02.pdf
Ondřej Pavlata, Object Membership: The Core Structure of Object Technology, 2012–2015, http://www.atalon.cz/om/object-membership/
Ondřej Pavlata, Object Membership: The Core Structure of Object-Oriented Programming, 2012–2015, http://www.atalon.cz/om/object-membership/oop/
World Wide Web Consortium, OWL 2 Profiles, 2009, http://www.w3.org/TR/owl2-profiles/
World Wide Web Consortium, OWL 2 RDF-Based Semantics, 2009, http://www.w3.org/TR/owl2-rdf-based-semantics/
World Wide Web Consortium, RDF Schema, 2004, http://www.w3.org/TR/rdf-schema/
World Wide Web Consortium, RDF Semantics, 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/
World Wide Web Consortium, Semantic Web Wiki, http://www.w3.org/2001/sw/wiki/
Document history
December122012 The initial release.
December132012 Several additions of missing s in rdfs:.
March122015 Condition (S1o.pr~9)(b) (P. = P) removed as redundant.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.