Thanks @TallTed. Yes, I should have been more specific - I was making the simplifying assumption of a graph in which explicit rdf:type relationships would only have been asserted for the most specific types (i.e., no explicit assertions of rdf:type relating individuals to encompassing supertypes).
Yes, I’m looking for a “magic predicate” that operates over a graph where inferencing is enabled but still only returns explicit rdf:type relations, excluding any inferred types. I hadn’t seen that StackOverflow question - thanks! - but I did find one about direct superclasses, which refers to a Jena-specific solution; I was wondering if an analogous solution was available in Virtuoso.