Action, potential != completed (former: schema:Bookmark ?)

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