- From: Jason Kinner <jason_kinner@dynamicdigitalmedia.com>
- Date: Sat, 17 May 2003 12:10:59 -0400
- To: "www-rdf-dspace" <www-rdf-dspace@w3.org>
This is an excellent point, originally brought up during the first telcon to review the descriptive note. My recommendation would be to annotate each revision (state) node URI with a state identifier (version ID). For example: hdl:1271.1/5678;1 ----- dc:title -----> My Super Researck Paper then: hdl:1271.1/5678;2 ----- dc:title -----> My Super Research Paper then: hdl:1271.1/5678 ----- harmony:hasRealization ----> hdl:1271.1/5678;1 ----- harmony:hasRealization ----> hdl:1271.1/5678;2 hdl:1271.1/5678;1 ----- dcq:isReplacedBy -----> hdl:1271.1/5678;2 hdl:1271.1/5678;2 ----- dcq:replaces -----> hdl:1271.1/5678;1 This is implicit in the current construction of state information for Harmony structures in the history system. Like the bitstream IDs that I reference so often, states are represented by numeric identifiers that do not provide a navigable (in RDF, anyway) chain of revisions for the metadata of a DSpace resource. This maps to Rob's suggestion, but with hdl:1271.1/5678;1 for XXXXXX and hdl:1271.1/5678;2 for YYYYYY. There would also need to be a statement such as: hdl:1271.1/5678 ----- owl:sameIndividualAs -----> hdl:1271.1/5678;2 (the current revision) This statement would be required for queries that (by default?) would refer to the then-current state of the resource. I wonder if this complicates search significantly. Back to the naming v. resolution debate, this technique would also make each revision of a resource resolvable, if supported by DSpace. Regarding the scope of changes, this is typically addressed by an explicit operation that the user invokes to annotate a new state. For example, in a document management system, I can check out/check in different versions of an individual document, but the current version of the folder (or compound document) remains the same. When I "release" or "publish" a compound document, a snapshot of state is taken that can later be referenced explicitly. This is similar to labeling a revision in source code control. I would suggest that keeping change contained to the nearest object in the graph would be a good way to go for any object. I believe that adding or removing an Item to/from a Collection would need to be modeled in History, but it is an open question whether the revision of the Collection would be incremented in this case. There is a larger question here about referencing any item in DSpace and whether references always or sometimes point to the current revision or to a specific revision. Most commercial systems distinguish these two kinds of references. -Jason -----Original Message----- From: www-rdf-dspace-request@w3.org [mailto:www-rdf-dspace-request@w3.org]On Behalf Of Tansley, Robert Sent: Friday, May 16, 2003 4:37 PM To: (www-rdf-dspace@w3.org) Subject: Representing distinct item states I think there's a big missing piece from the history discussion and model. It's to do with representing different states of Items (and other objects.) To illustrate it, consider a super-simple example of a DSpace Item, hdl:1271.1/5678, which has its dc:title fixed by an administrator. Now, the history data should NOT contain (as I believe it currently does) this triple: hdl:1271.1/5678 ----- dc:title -----> My Super Researck Paper because, later, when the administrator corrects the title, the following triple will be deposited: hdl:1271.1/5678 ----- dc:title -----> My Super Research Paper This wouldn't do, because when the data is collected into a unified store for query, there would be no way of telling with which state each dc:title is associated. (It's by virtue of the statements being in separate files that one can tell right now.) We need a way of representing the item in a particular state (i.e. at a particular moment in time.) I'm not sure which part of the Harmony ABC model would best be used to do this; the examples in http://www.metadata.net/harmony/JODI_Final.pdf don't quite fit. One possible way to consider is, in the context of the Harmony ABC model, to let a DSpace Item be a 'Work'. 'Manifestations' are individual states of that DSpace Item. Then, part of the data in the history system when the administrator corrects the DSpace Item would look like this: hdl:1271.1/5678 ---- harmony:hasRealization ----> XXXXX XXXXX ----- dc:title -----> My Super Researck Paper hdl:1271.1/5678 ---- harmony:hasRealization ----> YYYYY YYYYY ----- dc:title -----> My Super Research Paper Now the relevant ABC bits and bobs can relate XXXXX and YYYYY, explaining how we started with XXXXX and arrived at YYYYY. (Maybe there's a more appropriate part of the model than Work/Manifestation but this demonstrates what is missing from the current model.) Other gnarly questions are: * Do individual Bitstreams and Bundles have separate states, or are they married to Item states? For example, if I change what is in a Bundle, does that bundle get it's own states and transitions modelled, or do we just deal with those events at the Item level? * If a new Item is added to a Collection, does that mean the Collection has changed and is now in a different state? Ditto Community/Collection, ditto Community/Collection/Item. Gnarliest of gnarly things, if I change a Bitstream that's in a Bundle that's in an Item that's in a Collection that's in a Community, does that mean the Item's changed? Does that Item changing mean the Collection's changed? Does that Collection changing then mean the Community's changed? I think we really need some example walkthroughs of typical events, with graphs along the lines of Appendices C-F of http://www.metadata.net/harmony/JODI_Final.pdf. The way the work is currently being discussed feels to me like we're examining individual trees but have no idea what the forest looks like. Robert Tansley / Hewlett-Packard Laboratories / (+1) 617 551 7624
Received on Saturday, 17 May 2003 12:05:56 UTC