Basic constructs in MDS

References

XML manages tree structures, that is it handles 1 to many parent-child relations between elements. Since this is very limiting, Mpeg7 introduces a way to reference elements that are placed elsewhere.

This transforms the 1 to many in a many to many parent-child relation.

Here is an example of a use of reference:

And the corresponding XML:

<mpeg7:Mpeg7 xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mpeg7:Description xsi:type="mpeg7:ModelDescriptionType">
<mpeg7:Model xsi:type="mpeg7:CollectionModelType">
<mpeg7:Collection name="harp" xsi:type="mpeg7:ContentCollectionType">
<mpeg7:Content xsi:type="mpeg7:AudioType" id="sound1">...</mpeg7:Content>
<mpeg7:Content xsi:type="mpeg7:AudioType" id="sound3">...</mpeg7:Content>
<mpeg7:Content xsi:type="mpeg7:AudioType" id="sound4">...</mpeg7:Content>
</mpeg7:Collection>
</mpeg7:Model>
<mpeg7:Model xsi:type="mpeg7:CollectionModelType">
<mpeg7:Collection name="strange" xsi:type="mpeg7:ContentCollectionType">
<mpeg7:Content xsi:type="mpeg7:AudioType" id="hooghr">...</mpeg7:Content>
<mpeg7:Content xsi:type="mpeg7:AudioType" id="graab">...</mpeg7:Content>
<mpeg7:ContentRef idref="sound1"/>
</mpeg7:Collection>
</mpeg7:Model>
</mpeg7:Description>
</mpeg7:Mpeg7>

Relation graphs

In order to gain a typed many to many relationship mechanism, Mpeg7 also introduces a type called GraphType that contains arbitrary relations.

This is how it looks like in XML:

<mpeg7:Mpeg7 xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mpeg7:DescriptionUnit xsi:type="mpeg7:GraphType">
<mpeg7:Relation source="wittg" type="rel:talking-person" target="wittgenstein"/>
<mpeg7:Relation source="wittgenstein" type="rel:no-agree" target="kpopper" directed="false"/>
<mpeg7:Relation source="bertrndruss" type="rel:loves" target="lovesong"/>
<mpeg7:Relation source="wittg" type="rel:used-to-produce" target="lovesong"/>
<mpeg7:Relation source="lovesong" type="rel:about" target="wittgenstein"/>
</mpeg7:DescriptionUnit>
</mpeg7:Mpeg7>

Classification schemes

Classification schemes are the way Mpeg7 manages taxonomies.

<mpeg7:Mpeg7 xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mpeg7:Description xsi:type="ClassificationSchemeDescriptionType">
<mpeg7:ClassificationScheme uri="musinst">
<mpeg7:Term termid="str">
<mpeg7:Name>String Instruments</mpeg7:Name>
<mpeg7:Term termid="vn">
<mpeg7:Name>Violin</mpeg7:Name>
</mpeg7:Term>
<mpeg7:Term termid="vl">
<mpeg7:Name>Viola</mpeg7:Name>
</mpeg7:Term>
</mpeg7:Term>
<mpeg7:Term termid="piano">
<mpeg7:Name>Piano</mpeg7:Name>
</mpeg7:Term>
</mpeg7:ClassificationScheme>
</mpeg7:Description>
</mpeg7:Mpeg7>

Mpeg7 provides some standard classification scheme, like the File Format classificatioon scheme.

Here is an example on how it is used:

<mpeg7:Mpeg7 xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mpeg7:Description xsi:type="ContentEntityType">
<mpeg7:MultimediaContent xsi:type="mpeg7:AudioType">
< mpeg7:Audio>
< mpeg7:MediaInformation>
< mpeg7:MediaProfile>
< mpeg7:MediaFormat>
...
<mpeg7:FileFormat href="urn:mpeg:mpeg7:cs:FileFormatCS:2001:4"/>
</mpeg7:MediaFormat>
</mpeg7:MediaProfile>
</mpeg7:MediaInformation>
</mpeg7:Audio>
</mpeg7:MultimediaContent>
</mpeg7:Description>
</mpeg7:Mpeg7>

Audio content entities

Synopsis of an Audio type.


Audio content entities

Using the XMLSchema extension mechanism.