- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Tue, 16 Sep 2014 15:46:29 +0200
- To: Jason Douglas <jasondouglas@google.com>
- CC: Sam Goto <goto@google.com>, W3C Web Schemas Task Force <public-vocabs@w3.org>
On 09/16/2014 07:26 AM, Jason Douglas wrote: > > > On Mon Sep 15 2014 at 3:57:07 PM ☮ elf Pavlik ☮ > <perpetual-tripper@wwelves.org <mailto:perpetual-tripper@wwelves.org>> > wrote: > > On 09/15/2014 05:59 PM, Jason Douglas wrote: > > Why is a BookmarkAction directly on a WebPage insufficient? What > > properties would Bookmark add? > > I don't see that much of a problem with > > WebPage --{potentialAction}--> BookmarkAction > > GET http://example.net > { > "@id": "http://example.net", > "@type": "WebPage", > ... > "potentialAction": { > "@type": "BookmarkAction", > "actionStatus": "PotentialActionStatus" > } > } > > even that IMO it doesn't make that much sense to announce such a > common/basic Affordance... > > > Now let's say I performed this action and the app of my choice, which i > used to perform it, created first of all a resource which I consider a > Bookmark, but also persisted an Action (one taken by me!) itself to show > it in a stream of my activities > > GET https://wwelves.org/perpetual-__tripper/bookmarks/dfaf8a0fd9 > <https://wwelves.org/perpetual-tripper/bookmarks/dfaf8a0fd9> > { > "@id": > "https://wwelves.org/__perpetual-tripper/bookmarks/__dfaf8a0fd9 > <https://wwelves.org/perpetual-tripper/bookmarks/dfaf8a0fd9>", > "@type": "Bookmark", > "about": "http://example.net", > "@reverse": { > "result": { > "@id": > https://wwelves.org/perpetual-__tripper/activities/s0dfa091 > <https://wwelves.org/perpetual-tripper/activities/s0dfa091>", > "@type": "BookmarkAction" > } > } > } > > GET https://wwelves.org/perpetual-__tripper/activities/s0dfa091 > <https://wwelves.org/perpetual-tripper/activities/s0dfa091> > { > "@id": https://wwelves.org/perpetual-__tripper/activities/s0dfa091 > <https://wwelves.org/perpetual-tripper/activities/s0dfa091>", > "@type": "BookmarkAction", > "object": "http://example.net", > "actionStatus": "CompletedActionStatus", > "startTime": "2014-01-04T10:30:00+01:00", > "endTime": "2014-01-04T10:30:00+01:00", > "result": > "https://wwelves.org/__perpetual-tripper/bookmarks/__dfaf8a0fd9 > <https://wwelves.org/perpetual-tripper/bookmarks/dfaf8a0fd9>" > } > > In this case all 3 resources do (or can) reference each other > > Bookmark --{about}--> WebPage > Bookmark <--{result}-- BookmarkAction // note *inverse* > > BookmarkAction --{object}--> WebPage > BookmarkAction --{result}--> Bookmark > > > And with some kind of pingback/trackback mechanism in place a webpage > could also aggregate information about people bookmarking it: > > WebPage <--{about}-- [Bookmark] // i use [] to suggest *collection* of > resources > > > *possibly confusing part* > > WebPage --{potentialAction}--> BookmarkAction > > Action(potential) != Action(completed). > > I see Action(potential) acting as *sort of a template* from which > everyone performing this action can create copies of it to persist and > publish Action(completed) as a *distinct resource*! > > > Yup, that was the intent. That's part of why we created urlTemplate as > a separate property from url (which sometimes gets used as @id). I understand you refer to Action --{target}--> EntryPoint --{urlTemplate}--> Text where Text: "An url template (RFC6570) that will be used to construct the target of the execution of the action." Looking at JSON-LD example from http://schema.org/EntryPoint { "@context": "http://schema.org", "@type": "Restaurant", "name": "Tartine Bakery", "potentialAction": { "@type": "ViewAction", "target": [ "http://www.urbanspoon.com/r/6/92204", { "@type": "EntryPoint", "urlTemplate": "http://api.urbanspoon.com/r/6/92204", "contentType": "application/json+ld" }, ... } } } I could store and publish this as completed action in my social web profile as: { "@context": "http://schema.org", "@id": "https://wwelves.org/perpetual-tripper/activities/dfa8da9f8af", "@type": "ViewAction", "actionStatus": "CompletedActionStatus", "startTime": "2017-01-04T10:30:00+01:00", "endTime": "2017-01-04T10:32:15+01:00", "object": { "@id": "http://www.urbanspoon.com/r/6/92204", "@type": "WebPage", "name": "Tartine Bakery | Urbanspoon profile" "about": { "@id": "http://tartinebakery.tld", "@type": "Restaurant", "name": "Tartine Bakery" } } } Does it look like following the schema:Action design for cases with Action --{actionStatus}--> CompleatedActionStatus ? How can I also store which compleated Action --{target}--> EntryPoint I used? Using blank node for an EntryPoint can make it harder to refer to it.. I let myself modify this example here a little to distinguish Restaurant from WebPage with its profile on Urbanspoon. Restaurant - http://tartinebakery.tld WebPage - http://www.urbanspoon.com/r/6/92204 I View-ed in this case a WebPage about Restaurant, not the physical Restaurant itself (more prominent for schema:TouristAttraction) BTW on W3C Social WG list we currently discuss as:Activity || schema:Action and observed that some of schema:Action subtypes describe affordances of *web resources* while other ones of *abstract things*. I just used same example there: http://lists.w3.org/Archives/Public/public-socialweb/2014Sep/0053.html Cheers!
Received on Tuesday, 16 September 2014 13:48:50 UTC