Ticket #697 (closed enhancement: fixed)

Opened 1 year ago

Last modified 11 months ago

Need to create a @Blob annotation.

Reported by: amit Assigned to: pradeep
Priority: high Milestone:
Component: topaz Version: 0.8.2-SNAPSHOT
Keywords: blob Cc:
Blocking: Blocked By:

Description

Our plan to integrate a blob store with a triple store via a single transaction interface requires the ability for developers to identify and store 'blobs' within their content model. After intense discussions, we believe the best approach is essentially to punt the details to outside the RDF model while keeping the link within the RDF framework. So for example the Article object could have:

@Blob(....)
@Predicate('hasContent')
private byte [] articleXML;

where Blob identifies (via a URI) the precise blob store where the blob is stored. Please note that using a URI here allows for indirection in case the blob store moves around (that is, the URI will be interpreted via a 'Mapper' and by the blob store and should not be hard-coded to a physical location (for example a file)).

Dependency Graph

Change History

10/16/07 11:46:25 changed by ronald

Maybe a little extra background here would help. In RDF and RDFS objects aren't supposed to change; if you need to change something, you need to create a new object. For literals this is quite clear: there's no way change a literal, all you can do is remove an assertion and add a new one (though strictly speaking, due to the open-world assumption, things may continue to assume the removed assertion is still being asserted). For URI's this sorta means the object designated by the URI is always the same (though this obviously isn't true if e.g. you're using URI's to designate things like web-pages).

So the idea is that we store a statement in RDF whose object is a URI, and that URI (via pluggable mappers) maps to a blob-store and blob. Furthermore, each time the blob is "updated" a new blob with a new id is created (together with the statement) and the old blob is (optionally) deleted (with it's statement).

01/11/08 08:05:05 changed by amit

  • status changed from new to closed.
  • resolution set to fixed.

Fixed in r4485, r4480, r4446, r4406, r4404, r4245.