W3C home > Mailing lists > Public > public-media-annotation@w3.org > February 2012

Re: YouTube mapping table

From: Sebastian Schaffert <sebastian.schaffert@salzburgresearch.at>
Date: Wed, 1 Feb 2012 22:51:27 +0100
Cc: Wonsuk Lee <wonsuk73@gmail.com>, Florian Stegmaier <stegmai@dimis.fim.uni-passau.de>, public-media-annotation@w3.org
Message-Id: <0E7FA6D0-5140-48DF-B0FC-40F176DA7EA6@salzburgresearch.at>
To: tmichel@w3.org
Thierry,

since especially the data formats on the Social Web change all the time, maybe it is anyways better to create a separate document for the mappings that can be updated whenever the data formats change and leave mappings out of the spec. Would this be reasonable? I think it does not make much sense to provide mappings for an old format that will eventually not be supported any more (even though I don't know what Google's policy on backwards compatibility is…).

Greetings,

Sebastian

Am 01.02.2012 um 21:35 schrieb Thierry MICHEL:

> It is now way too late to introduce a new mapping table in the REC document.
> AC reps have voted on the PR document and we are not allowed to introduce more stuff into the specification apart from small editorial bugs fix.
> 
> I propose that we leave the spec as is. I will remove the creator entry in the YouTube mapping.
> creator 	exact 	/atom:entry/atom:author/@uri 	creator:@url
> 
> We can add a new mapping table with ATOM format in the appropriate document linked from the REC document.
> 
> 
> Thierry.
> 
> 
> 
> Le 01/02/2012 19:09, Wonsuk Lee a écrit :
>> Hi. Sebastian.
>> Thanks a lot for good comments.
>> 
>> I think in case of youtube metadata format, we need to provide two
>> different mapping table for RSS format and ATOM format. Because
>> metadata description for media with one format like RSS or ATOM is
>> appropriate than mixed description with both format.
>> What do you think?
>> 
>> best regards,
>> Wonsuk.
>> 
>> 2012/1/31 Sebastian Schaffert<sebastian.schaffert@salzburgresearch.at>:
>>> Dear all,
>>> 
>>> while implementing a YouTube-Media Ontology mapper, I encountered the following additional problems:
>>> 
>>> 1. ATOM Protocol
>>> 
>>> YouTube nowadays uses the ATOM protocol as default, not RSS (still available as secondary protocol though)
>>> 
>>> 
>>> 2. Keywords (ma-ont:keyword)
>>> 
>>> XPath: /atom:entry/media:group/media:keywords
>>> 
>>> YouTube will return a single value with a comma-separated list of keywords; in Media Ontology, this should be split into at least the individual keywords.
>>> 
>>> An alternative offered by the YouTube Atom API would be /atom:entry/atom:category[@scheme='http://gdata.youtube.com/schemas/2007/keywords.cat']/@term
>>> 
>>> 3. Category (ma-ont:genre)
>>> 
>>> XPath: /atom:entry/media:group/media:category
>>> 
>>> YouTube returns the category as a string, but the reference defines that this string should be mapped to the YouTube Schema URI, i.e.
>>> 
>>> if /atom:entry/media:group/media:category = Music, then the mapping should be to http://gdata.youtube.com/schemas/2007#Music;
>>> 
>>> reference: http://code.google.com/intl/de-DE/apis/youtube/2.0/reference.html#youtube_data_api_tag_category
>>> 
>>> 
>>> 4. Copyright (ma-ont:copyright)
>>> 
>>> XPath: /atom:entry/media:group/media:license
>>> 
>>> the YouTube API returns copyright information as media:license element. This could be mapped to the ma-ont:copyright property with a bit of transformation, because YouTube only offers two values, "cc" for creative commons and "youtube" for their own license.
>>> 
>>> reference: http://code.google.com/intl/de-DE/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:license
>>> 
>>> 
>>> 
>>> Here is my complete mapping implementation:
>>>    private static Map<String,ValueMapper>  mediaOntMappings = new HashMap<String, ValueMapper>();
>>>    static {
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#identifier", new XPathLiteralMapper("/atom:entry/atom:id"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#title",      new XPathLiteralMapper("/atom:entry/atom:title"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#locator",    new XPathURIMapper("/atom:entry/media:group/media:content/@url")); // URI
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#creator",    new XPathURIMapper("/atom:entry/atom:author/@uri"));               // URI
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#date",       new XPathLiteralMapper("/atom:entry/atom:published","dateTime"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#location",   new XPathLiteralMapper("/atom:entry/georss:where/gml:Point/gml:pos"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#description",new XPathLiteralMapper("/atom:entry/media:group/media:description"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#keyword",    new XPathLiteralMapper("/atom:entry/atom:category[@scheme='http://gdata.youtube.com/schemas/2007/keywords.cat']/@term"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#genre",      new YoutubeCategoryMapper("/atom:entry/media:group/media:category"));       // URI, should  be mapped to YouTube schemas (http://gdata.youtube.com/schemas/2007#)
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#rating",     new XPathLiteralMapper("/atom:entry/gd:rating/@average","float"));          // Float
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#copyright",  new XPathURIMapper("/atom:entry/media:group/media:license/@href"));         // URI of license terms
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#publisher",  new XPathURIMapper("/atom:entry/atom:author/@uri"));               // URI
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#compression",new XPathLiteralMapper("/atom:entry/media:group/media:content/@type"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#duration",   new XPathLiteralMapper("/atom:entry/media:group/media:content/@duration","integer"));
>>>        mediaOntMappings.put("http://www.w3.org/ns/ma-ont#format",     new XPathLiteralMapper("/atom:entry/media:group/media:content/@type"));
>>>        mediaOntMappings.put("http://xmlns.com/foaf/0.1/thumbnail",    new XPathURIMapper("/atom:entry/media:group/media:thumbnail/@url"));
>>>        mediaOntMappings.put("http://rdfs.org/sioc/ns#num_views",      new XPathLiteralMapper("/atom:entry/yt:statistics/@viewCount","integer"));
>>>    }
>>> 
>>> I will publish the source code as part of our Linked Media Framework as soon as our servers are running again :)
>>> 
>>> 
>>> 
>>> Am 31.01.2012 um 12:55 schrieb Florian Stegmaier:
>>> 
>>>> Dear Thierry, all,
>>>> 
>>>> our colleagues at Salzburg Research are using our ontology (and soon the API) in their Linked Media Framework. I have put Sebastian into CC. He has just send me the pointer, that there is a mapping for ma:creator. In our mapping table there is N/A.
>>>> 
>>>> Please refer to [1] and mapping would be as follows:
>>>> 
>>>> "/atom:entry/atom:author/@uri" ->  "http://www.w3.org/ns/ma-ont#creator"
>>>> 
>>>> We should discuss this in todays telecon. He will finalize his work on YouTube today and will provide me his mappings as well.
>>>> 
>>>> Cheers.
>>>> 
>>>> [1] http://gdata.youtube.com/feeds/api/videos/EM4vblG6BVQ
>>>> _____________________________
>>>> Dipl. Inf. Florian Stegmaier
>>>> Chair of Distributed Information Systems
>>>> University of Passau
>>>> Innstr. 43
>>>> 94032 Passau
>>>> 
>>>> Room 248 ITZ
>>>> 
>>>> Tel.: +49 851 509 3063
>>>> Fax: +49 851 509 3062
>>>> 
>>>> stegmai@dimis.fim.uni-passau.de
>>>> https://www.dimis.fim.uni-passau.de/iris/
>>>> http://twitter.com/fstegmai
>>>> _____________________________
>>>> 
>>>> 
>>>> 
>>>> _____________________________
>>>> Dipl. Inf. Florian Stegmaier
>>>> Chair of Distributed Information Systems
>>>> University of Passau
>>>> Innstr. 43
>>>> 94032 Passau
>>>> 
>>>> Room 248 ITZ
>>>> 
>>>> Tel.: +49 851 509 3063
>>>> Fax: +49 851 509 3062
>>>> 
>>>> stegmai@dimis.fim.uni-passau.de
>>>> https://www.dimis.fim.uni-passau.de/iris/
>>>> http://twitter.com/fstegmai
>>>> _____________________________
>>>> 
>>> 
>>> Sebastian
>>> --
>>> | Dr. Sebastian Schaffert          sebastian.schaffert@salzburgresearch.at
>>> | Salzburg Research Forschungsgesellschaft  http://www.salzburgresearch.at
>>> | Head of Knowledge and Media Technologies Group          +43 662 2288 423
>>> | Jakob-Haringer Strasse 5/II
>>> | A-5020 Salzburg
>>> 
>>> 
>> 

Sebastian
-- 
| Dr. Sebastian Schaffert          sebastian.schaffert@salzburgresearch.at
| Salzburg Research Forschungsgesellschaft  http://www.salzburgresearch.at
| Head of Knowledge and Media Technologies Group          +43 662 2288 423
| Jakob-Haringer Strasse 5/II
| A-5020 Salzburg
Received on Wednesday, 1 February 2012 21:52:02 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 1 February 2012 21:52:03 GMT