- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Fri, 07 Nov 2014 20:30:36 +0100
- To: public-socialweb@w3.org
On 11/07/2014 06:35 PM, James M Snell wrote: >> We still don't have clear way to provide information about multiple >> encodings available. This could offer one of possible ways to do it: >> > > Sure we do. I've illustrated this several times already. Using this > slightly revised model it would be: > > { > "@context": "http://www.w3.org/ns/activitystreams", > "@type": "urn:example:video", > "displayName": "A Video", > "url": [ > { > "@type": "as:Link", > "mediaType": "video/mpeg", > "href": "http://example.org/video.mpg" > }, > { > "@type": "as:Link", > "mediaType": "video/mkv", > "href": "http://example.org/video.mkv" > } > ] > } > 1. we get 3 blank nodes, first main 'social object' (which would need @id for social interaction anyways), next two for *links* to .mpg and .mkv encodings 'media objects' (which obviously have distinct HTTP URI that we use for href of that link). 2. we state that a blank node of "@type": "as:Link" has property mediaType, while it actually applies to its 'target'. 3. with 'as:url rdfs:range as:Link' we can *not* directly use: "url": "http://example.org/sth.jpg" but need to introduce blank node: "url": { "href": "http://example.sth.jpg" } 4. http://rawgit.com/jasnell/w3c-socialwg-activitystreams/refactor2/activitystreams2-vocabulary.html#dfn-url "The url property is typically used to point to a displayable representation of an object (usually an HTML page)." BTW https://github.com/jasnell/w3c-socialwg-activitystreams/blob/refactor2/activitystreams2-context.jsonld#L1036 { "@id": "as:url", "@type": "owl:FunctionalProperty", "rdfs:domain": "as:Object", "rdfs:range": "as:Link" } http://www.w3.org/TR/2012/REC-owl2-primer-20121211/#a_FunctionalObjectProperty to my understanding it would 'almost' allow (require?) us to merge those blank nodes into single one (here violating as:href a owl:FunctionalProperty) "url": { "@type": "as:Link", "mediaType": [ "video/mpeg", "video/mkv" ], "href": [ "http://example.org/video.mpg", "http://example.org/video.mkv" ] } I guess that you just missed updating @type of as:url to support multiple different values! Now to compare, another approach (similar to schema.org but not using its namespace or contentUrl) { "@context": "http://www.w3.org/ns/activitystreams", "@type": "urn:example:Video", "@id": "http://example.org/video1", "displayName": "A Video", "encoding": [ "http://example.org/video1.mp4", { "@type": "as:MediaObject", "@id": "http://example.org/video1.mpg", "mediaType": "video/mpeg" }, { "@type": "as:MediaObject", "@id": "http://example.org/video1.mkv", "mediaType": "video/mkv" } ] } 1. no blank nodes! 2. we state that /video1.mkv has property mediaType 3. we can directly use: "encoding": "http://example.org/video1.mp4" 4. http://schema.org/encoding "A media object that encodes this CreativeWork. This property is a synonym for associatedMedia." IMO need to distinguish Book, Photo, Video, Recording from it various encodings pdf/epub/html, jpeg/gif/png, mp4/ovg/mkv, mp3/ogg/wav deserves some special attention. Maybe we could even find cleaner solution based on Content Negotiation?
Received on Friday, 7 November 2014 19:32:45 UTC