Do correct me if I'm wrong. Owl full allows individuals to be treated as classes and classes to be treated as individuals. This means that if I have a property 'isFriendsWith', I can say 'owlClass1 isFriendsWith owlClass2' The issue is that when I go to set a domain and range for 'isFriendsWith', there doesn't appear to be a way to specify whether is the domain/range is a group of classes, individuals, or either.
Is this even important? Furthermore, how are properties like 'rdf:type', 'rdfs:subClassOf', 'owl:equivalentClass', and 'owl:disjointWith' dealt with? They clearly do not only link individuals but classes as well. (Which means they are neither "Object Properties" nor "Datatype Properties") The only intuition I have is that domain and range is mostly used for inference and these properties are somehow built into the reasoning process. -- Mark Fischer Modeling & Analysis in Software Engineering Group School of Computing Queen's University
