Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each object subscribes to a content model. A content model describes the datastreams of an object, defining allowed mimetypes and xml XML schemas for the xml datastreams, and also defining valid and required relations using a subset of OWL Lite. A content model also describes how objects of this type may be grouped with other objects to present a named view.

A set of content models describing the different allowed objects for a collection is called a data model.

DOMS enforces that objects are valid for specific content models. Each object maintains a state. Validity is only enforced for objects that have the state published. This allows you to build partial objects in the state inactive, and then publishing them once they are complete and valid.

Structure of DOMS data

View

Collection

Template

License

...

Relations that define special properties of objects in DOMS

Every object should have at least one relation with the name "http://doms.statsbiblioteket.dk/relations/default/0/1/#isPartOfCollection" to a collection object with the content model "doms:ContentModel_Collection". This relation defines what collections the object is part of.

Every object should have a relation with the name "http://doms.statsbiblioteket.dk/relations/default/0/1/#hasLicense" to a license object with the content model "doms:ContentModel_License". This relation should be duplicated by each object having a LICENSE datastream that refers to the LICENSE datastream of the same object by URL.

If an object has a relation "http://doms.statsbiblioteket.dk/relations/default/0/1/#isTemplateFor" to a content model, this defines that it is a template object for that content model. Template objects are prototypes, used to clone to generate new objects.

If a content model has a relation "http://ecm.sourceforge.net/relations/0/2/#extendsModel" is means that objects subscribing to this content model also subscribe to the content model referred to. Due to limitations in Fedora, it is still necessary, however, to mention both content models in subscribing objects, and this relation must therefore be considered unsupported.

Special objects in DOMS

Collection objects are objects of content model "doms:ContentModel_Collection". They contain any data about a collection.

License objects are objects of type "doms:ContentModel_License". They must contain a datastream "LICENSE" with an XACML-description of access rights to objects referring to this license. They may also contain any other metadata about the license.

File objects are objects of type "doms:ContentModel_File". They must contain a datastream CONTENTS that refers to a binary file by URL. They must also contain a datastream CHARATERISATION that contains characterisation information for the file (the specification for this is still under development). Specialisations of this datamodel should contain specialisations of the allowed mime types for the CONTENT datastream.