Search code examples
owlsemantic-webrdfsreasoningdescription-logic

How is: "A subclassOf of B, C" interpreted? As AND or OR in rdfs / owl / description logic?


Is the following interpreted as the intersection (AND) in the sense that members of class A are members of B and C; or as the disjunction (OR) that members of A are a member of B, or a member of C, or member of both?

A rdf:type owl:Class ;
   rdfs:subClassOf some B; 
   rdfs:subClassOf only C. 

Thanks for clarification how this is interpreted!

I found it as AND: Protege OWL Subclass of two classes

But Hermit breaks it and uses single axioms (e.g. A rdfs:subclassOf B) as explanation for A to B. I thought that would not be possible ...? Since I would say that A is a subclassOf (B and C) and not only A.


Solution

  • I can quote RDFS, and considering OWL should follow from that, I don't expect any difference there:

    If a class C is a subclass of a class C', then all instances of C will also be instances of C'. The rdfs:subClassOf property may be used to state that one class is a subclass of another.

    Class inheritance axioms in RDFS are built so that a contradiction can never occur, thus a statement like this can only be "additive" in a sense. Additionally, from the nature of triples in RDF, we know that A rdfs:subClassOf B, C. means A rdfs:subClassOf B. A rdfs:subClassOf C..

    Expressed in the language of sets, such a construction means A ⊆ B ∧ A ⊆ C. Any member of A is also a member of B, and any member of A is also a member of C, thus any member of A must be a member of both B and C. We can see that A ⊆ (B ∩ C), from the duality of set and logical operators.

    Expressed equivalently, any member of B not found in C must also not be in A (and the same for B and C swapped).