Re: mapping table 2.2

Dear Joakim, all,

at JPEG we have been spending some time dealing with the mappings related to 
what you call "low-level semantics" and "syntax". In fact we currently mix 
both cases in a simplistic mapping language in which we are working and 
which currently offers the following constructs:

(the language is currently formalised as an XML schema, but here I translate 
it to pseudo-code)

oneToOne({String fromField, [String filterWithRegExp]}, {String toField, 
[String replaceWithRegExp]});
oneToMany(String fromField, {{String filterWithRegExp1, {String toField1, 
[String replaceWithRegExp1]}}, {String filterWithRegExp2, {String toField2, 
[String replaceWithRegExp2]}}, ...})
manyToOne({{String fromField1, [String filterWithRegExp1]}, {String 
fromField2, [String filterWithRegExp2]},...}, {String toField, [String 
replaceWithRegExp]})
//manyToMany is not a single mapping, but several oneToMany or manyToOne

Source fields can be optionally filtered with regular expressions and target 
fields can be optionally formatted with regular expressions (which can use 
grouping to format only the selected part of a filtered source field). In 
the case of oneToMany, each target field has one associated filterWithRegExp 
value (which selects a part of the source field) and optionally one 
associated replaceWithRegExp value.

Examples:

oneToMany("date", {"(\d\d)/\d\d/\d\d\d\d", {"day", "the $1th"}}, 
{"\d\d/(\d\d)/\d\d\d\d", {"month"}}, {"(\d\d)/\d\d/(\d\d\d\d)", {"year"}})

manyToOne({{"day"},{"month"},{"year", "\d\d(\d\d)"}}, {"date", "$1.$2.$3"});

manyToOne({{"//Creator//GivenName"},{"//Creator//FamilyName"}}, {"author", 
"$1 $2"});

We are still not considering other operations between fields (arithmetic 
ops, date/time, etc.), but maybe they could be necessary in certain cases.

Best regards,

Ruben


----- Original Message ----- 
From: Joakim Söderberg
To: public-media-annotation@w3.org
Sent: Wednesday, April 15, 2009 8:11 PM
Subject: mapping table 2.2


Dear all,
I have uploaded a new version of the mapping table as a reference for the 
F2F meeting.
In this version I have included updates and revisions for mpeg7, smtp, you 
tube, media rss, dig35, tva and CableLabs1.1 (which is more in use).
When revising CalbeLabs1.1 (with some help) I noticed that one XMP-reference 
attribute correspond to many attributes in CableLabs (sometimes 20).
The situation is the same for others such as TVA, MPEG7, EXIF etc. I think 
it is important to keep this in mind when we draft the mechanism of the 
Ontology.
This issue is related to what Pierre-Antoine refers to "low-level" 
semantics: content of the return types vs. Syntax ( API return types, e.g. 
slash-separated string or structured sequence).
I hope that we can find a solution to this problem during those days. Please 
post your opinions preferable before tomorrow noon!
We have different types of mismatches; between the properties, data types 
and structure that can be solved by different parts of our standard.
We use the following terms to refer to them:
* High-level semantics  = (ontology) Semantic links identified by the 
mapping table.
* Low-level semantics   = (content of the return types) Structure, e.g. 
representing one or several creators.
* Syntax                = (API) return types, e.g. slash-separated string or 
structured sequence
Best regards
Joakim
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Joakim Söderberg, M.Sc, Ph.D Multimedia Indexing
Senior Research Engineer, Media Protocols and Applications
Ericsson Research, Multimedia Technologies 

Received on Wednesday, 15 April 2009 22:08:24 UTC