In our internal project we store and retrieve RDF in Tamino but we don’t actualy store the RDF in RDF Serialization format. The reason we did this was after much experimentation we realized that RDF Serializations suffer from syntactic variation in RDF instances that express the same thing. (your DTD only covers a fraction of the possible ways that Dublin Core information can be expressed in RDF)
For the same reason XPath or W3C XQuery expressions that will deliver the correct result independant of the variations in the instances are very hard to formulate.
Our implementation, as a consequence, stores the RDF as statements - essentially triples.
We have a built a Jena API to Tamino - Jena is a quasi-standard RDF API- and it is also relatively easy to query the RDF representation directly using the Tamino API using Jscript, Active X, Java etc
That is what WE do.
Your requirement is quite a bit more specialized as you only have one vocabulary you want to support. Also you make your own RDF Metadata and don’t have to understand syntactic variations of Dublin Core supplied by others. You also have proprietary essentions to Dublin Core - I don’t see the date elements in any of the DCMI drafts.
One option would be to edit the DTD to remove the namespace declarations and sort out any name clashes. You will need a piece of code to convert your internal representation to RDF compliant form for transfer to others.
If what I am writing makes any sense you might like to send me an email at email@example.com and I can give you alternatives for fixing the Schema and specifying the indices.
Or if you want a general purpose solution I can tell you a bit about our RDF implementation