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

Re: YouTube mapping table

From: Sebastian Schaffert <sebastian.schaffert@salzburgresearch.at>
Date: Tue, 31 Jan 2012 16:34:58 +0100
Cc: Florian Stegmaier <stegmai@dimis.fim.uni-passau.de>, public-media-annotation@w3.org, "Bailer, Werner" <werner.bailer@joanneum.at>
Message-Id: <02D32454-C5E8-447B-8746-AF8D045B3237@salzburgresearch.at>
To: tmichel@w3.org
It will only be ok in case the YouTube ATOM protocol is used. For RSS, it has to be a different XPath expression.


Am 31.01.2012 um 16:18 schrieb Thierry Michel:

> Here is the update line
> 
> creator   |   exact  |   /atom:entry/atom:author/@uri   |   creator:@url  |    URI  |    N/A
> 
> Please reveiw that this is OK, and that there is no need for further updates in the Ontology doc.
> http://www.w3.org/2008/WebVideo/Annotations/drafts/ontology10/REC/
> 
> Thierry
> 
> 
> Sebastian Schaffert a écrit :
>> 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
>>  
> 

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 Tuesday, 31 January 2012 15:35:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 31 January 2012 15:35:34 GMT