[mawg] Test implementation

Dear all,

 

The last days I spent some time on an implementation of the API, basically
the main reason why I did not actively participated in the discussions on
the subproperties. 

 

You can find my "raw" WIP test-implementation (tested with IE 8 and Firefox
3.5.5) at:

http://multimedialab.elis.ugent.be/users/chpoppe/MediaAnnotations.html

 

This page uses JavaScript (note that currently only JavaScript or Java
bindings are defined for the WebIDL language!). 

A javascript library holds the implementation of the method:
getProperty(propertyName, sourceFormat, subType, language, fragment).  This
library currently (tries to) parse XML, RDF and EXIF.

 

To test it, first a mediaresource needs to be selected (there is only one:
the image in the page). Then you can choose getProperty for a specific
property. If a sourceformat is selected it is  passed as the optional
parameter 'sourceFormat'.

The result is an array of objects. 

Each object holds:

.          an unstructured value (string) which is a textual label holding
the values. 

.         a sourceFormat (to denote from which sourceformat this information
is extracted). Note that this is not part of the API for now but I think it
might be valuable.

.         An URI if this is available in the sourceFormat (Currently only
MediaRDF holds URI's but even in this case you cannot be sure that it is
actually an URI .)

.         More properties (which could be called sub-properties), depending
on the requested property

o   For example if you request for the creator you get back:

sourceFormat: MPEG-7 
Unstructured value: John Doe 
First Name: John 
Family Name: Doe 
URI: undefined

The unstructured value gives no information at all! Meaning you can not
assume that John is the firstname. Since many metadata formats allow to
define the first and family name I added these to the returned object of
getProperty("creator")

 

o   For the MediaRDF you get back 2 objects (corresponding to the two
metadata files):  

 

sourceFormat: MEDIARDF 
Unstructured value: John Doe 
First Name: undefined 
Family Name: undefined 
URI: undefined 

sourceFormat: MEDIARDF 
Unstructured value:
http://multimedialab.elis.ugent.be/users/chpoppe/JohnDoeFoaf.rdf 
First Name: John 
Family Name: Doe 
URI: http://multimedialab.elis.ugent.be/users/chpoppe/JohnDoeFoaf.rdf

 

In this case, my implementation actually parses the Foaf description of the
creator to retrieve the relevant information like first name and family name


 

 

o   When you request for contributor you get back: 

sourceFormat: MPEG-7 
Unstructured value: John Doe 
First Name: John 
Family Name: Doe 
role: creator 
URI: undefined

 

sourceFormat: DC 
Unstructured value: Doe, Jane 
First Name: undefined 
Family Name: undefined 
role: publisher 
URI: undefined 

 

Here you can see that a "role" property is added which denotes what kind of
contributor we are talking about. This is related to the proposition by
Pierre-Antoine, he suggested:

md.getValues("contributor")

 

returning

   [ { "value": "John Doe", "subproperty": "id3:composer" },

     { "value": "Jane Doe", "subproperty": "id3:lyricist" };

   ]

 

The terms 'creator' and 'publisher' that I return are currently chosen by
me.

 

Kind regards,

Chris

 

Ghent University - IBBT
Faculty of Engineering
Department of Electronics and Information Systems (ELIS)
Multimedia Lab Gaston Crommenlaan 8 bus 201
B-9050 Ledeberg-Ghent
Belgium

 
t: +32 9 33 14959
f: +32 9 33 14896
t secr: +32 9 33 14911
e:  <mailto:chris.poppe@ugent.be> chris.poppe@ugent.be

 

URL:  <http://multimedialab.elis.ugent.be>
http://multimedialab.elis.ugent.be

 

Received on Wednesday, 25 November 2009 12:42:51 UTC