In a knowledge representation system like RDF, which is based on creating ontological hierarchies, can a class in one context be considered an instance in another?
Take the example of a triplestore which contains a library catalogue. It may contain statements such as:
:Book a rdfs:Class
:gullivers_travels a :Book
:moby_dick a :Book
This makes sense, but in another context, you may want to itemize the various editions of Moby Dick, and so it may also make sense to treat it as a class, e.g.:
:moby_dick a rdfs:Class
:moby_dick_manuscript a :moby_dick
:moby_dick_first_edition a :moby_dick
:moby_dick_second_edition a :moby_dick
Since :moby_dick
is treated as either a class OR an instance, does that mean the two sets of statements can't co-exist without causing logical inconsistencies?
This question seems to imply that this is indeed the case.
Is this a design limitation in RDF, or are there more logically-viable ways of modelling such a relationship as the one above?