- From: Rubén Tous <rtous@ac.upc.edu>
- Date: Thu, 16 Apr 2009 00:07:24 +0200
- To: Joakim Söderberg <joakim.soderberg@ericsson.com>, <public-media-annotation@w3.org>
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