I have some owl:Ontology documents from different sources. One uses rdfs:Class and the other owl:Class. When I glance at the standards, it says these are equivalent in OWL Full but not in OWL DL. There is a discussion about this in the section "Ontology languages and the Jena Ontology API" in the online Jena documentation.
My testing indicates that OntModel#listClasses and OntModel#listNamedClasses will list things typed owl:Class but not rdfs:Class. This appears true regardless of the OntModelSpec chosen for a reasoner, e.g., OWL_MEM_RDFS_INF, OWL_MEM_MICRO_RULE_INF, OWL_DL_MEM_RULE_INF, all exhibit this behavior. I see there is are OntModel#getProfile and OntModelSpec#getProfile methods, but a hasty search did not turn up companion setProfile methods. Two specific questions: Is this the expected behavior for OntModel#listClasses and OntModel#listNamedClasses? Or is there something I'm missing? If so, is there some way to make a simple selection between OWL_LITE, OWL_DL, and OWL_FULL Profiles somewhere, analogous to the way different reasoners can be selected? To fish a bit, I would appreciate any experience and suggestions on variations in ontologies obtained from different sources. How many owl:Ontology documents (ABox and TBox) turn out have a fair degree of variability in which specific forms of assertions they contain? How robust or sensitive are or can applications be from a user perspective w.r.t. variations and mixtures of profiles and choice of reasoner? (If you are curious, this came up when looking at the OSLC standard vocabularies. As near as I can tell, Protege will show the classes but restricts itself to displaying object and data properties.)