Very much a work-in-progress.

Identifiers

In theory, the identifier for a DOMS can be an unique random string of characters. In reality, having identifiers like "CD:Gnags_Ref1234" makes it easy for humans to recognize objects.

It is expected that the DOMS will contain objects from several different projects. Each project will be assigned a short string, that will be the first part of identifiers for objects from the project. Each project should create human-readable identifiers, based on the provided part.

Example: The project MovieCommercials are assigned "mc". The objects from the project are assigned the identifiers

Objects

There are three basic objects in the DOMS:

Group

Groups are collections of other groups and entities. Objects are added to a group by referencing the group. The references are uni-directional for performance-reasons.

Todo: Look at the RDF specification for containers: http://www.w3.org/TR/rdf-primer/#containers

Ordered grouping

If we want an ordered grouping, we cannot rely on references from the objects, belonging to the group. Instead we introduce hasOrderedMember and let the order of hasOrderedMember-relations determine the presentation order.

Problem

What do we do, when we want a single group to define more than one ordered grouping? an example:

We want to represent a book from the project "Vort sogns Historie". A book contains pages, which have to be presented in order. The collection of information, that a book represents, also contains Sogne, which could also require an order-orientated presentation.

This is related to Metadata on references.

Namespace solution

We could do it by namespace:

hasOrderedMember: page1
hasOrderedMember: page2
...
hasOrderedMember: page123
hasOrderedMember: sogn1
hasOrderedMember: sogn2
...
hasOrderedMember: sogn12

If we know that page and sogn is two different things, we can devide the two ordered groups. If we do not know that, then they will be presented as a single ordered list. Can we live with that?

Fragmentation solution

We could create objects which are simply groups, so that a book would reference a Pages object, which would only contain a list of references to pages.

Entity

Atom

Project

Projects can be viewed as entities. There's no strict need for an object representing a certain project in Fedora, but it makes maintenance easier. Project-objects contains a verbose description of the project, persons involved, standards, conventions, workflow and such. It would be nice to be able to edit this Wiki-style.

Attributes

Brainstorming here - even less substantial than the above.

DOMS objects (last edited 2010-03-17 13:12:30 by localhost)