jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Dabbs" <da...@dabbs.net>
Subject Jackrabbit and MPEG-21
Date Mon, 14 Feb 2005 02:19:49 GMT


I came across Jackrabbit today and was wondering what consideration you've
given to the MPEG-21 work under the ISO/IEC 21000-1:2001 standard?  
If you're not familiar with it, MPEG-21 is a set of standards relating to
"Digital Items." Broadly, it is the 

   ...integration of the critical technologies enabling transparent and
   augmented use of multimedia resources across a wide range of networks 
   and devices to support functions such as: content creation, content
   production, content distribution, content consumption and usage, content
   packaging, intellectual property management and protection, content
   identification and description, financial management, user privacy,
   terminals and network resource abstraction, content representation and
   event reporting.

Seeing "multimedia resources" and MPEG might lead one to think this probably
isn't relevant to JSR 170. However, the standard proposes a "flexible model
for Digital Items that accommodates the many types of content, as well as
any and all new forms it may assume in the future." 

There seems to be similarity between Jackrabbit's "node/item structure" and
the MPEG-21 Digital Item Declaration, "a uniform and flexible abstraction
and interoperable schema for declaring Digital Items." The MPEG-21 DID
notions of 'Container', 'Item', 'Component', 'Anchor' and 'Descriptor' seem
particularly relevant. See below. Perhaps the MPEG-21 scheme could be used
for mixins or more likely as an XML export or interchange mechanism?


David Dabbs

p.s. My apologies for the long message, but it seemed better to put relevant
info in-line than to force you to download the zip and fish out the enclosed

MPEG-21 information taken from 

available at http://www.itscj.ipsj.or.jp/sc29/29w42911.htm#MPEG-21 Container
A container is a structure that allows items and/or containers to be
grouped. These groupings of items and/or containers can be used to form
logical packages (for transport or exchange) or logical shelves (for
organization). Descriptors allow for the "labeling" of containers with
information that is appropriate for the purpose of the grouping (e.g.
delivery instructions for a package, or category information for a shelf).
It should be noted that a container itself is not an item; containers are
groupings of items and/or containers. Item
An item is a grouping of sub-items and/or components that are bound to
relevant descriptors. Descriptors contain information about the item, as a
representation of an Asset. Items may contain choices, which allow them to
be customized or configured. Items may be conditional (on predicates
asserted by selections defined in the choices). An item that contains no
sub-items can be considered an entity -- a logically indivisible Asset.
An item that does contain sub-items can be considered a compilation -- a
work composed of potentially independent sub-parts. Items may also contain
annotations to their sub-parts.

The relationship between items (as defined in ISO/IEC 21000-2) and Digital
Items could be stated as follows: items are declarative representations of
Digital Items. Component
A component is the binding of a resource to all of its relevant descriptors.
These descriptors are information related to all or part of the specific
resource instance. Such descriptors will typically contain control or
structural information about the resource (such as bit rate, character set,
start points or encryption information) but not information describing the
"content" within. 
It should be noted that a component itself is not an item; components are
building blocks of items. Anchor
An anchor binds descriptors to a fragment, which corresponds to a specific
location or range within a resource. Descriptor
A descriptor associates information with the enclosing element. This
information may be a component (such as a thumbnail of an image, or a text
component), or a textual statement. Condition
A condition describes the enclosing element as being optional, and links it
to the selection(s) that affect its inclusion. Multiple predicates within a
condition are combined as a conjunction (an AND relationship). Any
predicate can be negated within a condition. Multiple conditions associated
with a given element are combined as a disjunction (an OR relationship) when
determining whether to include the element. Choice
A choice describes a set of related selections that can affect the
configuration of an item. The selections within a choice are either
exclusive (choose exactly one) or inclusive (choose any number, including
all or none). Selection
A selection describes a specific decision that will affect one or more
conditions somewhere within an item. If the selection is chosen, its
predicate becomes true; if it is not chosen, its predicate becomes false; if
it is left unresolved, its predicate is undecided. Annotation
An annotation describes a set of information about another identified
element of the model without altering or adding to that element. The
information can take the form of assertions, descriptors, and anchors. Assertion
An assertion defines a full or partially configured state of a choice by
asserting true, false or undecided values for some number of predicates
associated with the selections for that choice.

View raw message