We should be able to delete rdf nested attributes.

Because we "mark" the objects for deletion, this change required
that we do not reload the objects from the graph on every read.  Instead
it maintains a cache for the objects returned from the RDF query.