Re: schema:Bookmark ?

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
{
  "@id": "https://wwelves.org/perpetual-tripper/bookmarks/dfaf8a0fd9",
  "@type": "Bookmark",
  "about": "http://example.net",
  "@reverse": {
    "result": {
      "@id": https://wwelves.org/perpetual-tripper/activities/s0dfa091",
      "@type": "BookmarkAction"
    }
  }
}

GET https://wwelves.org/perpetual-tripper/activities/s0dfa091
{
  "@id": 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"
}

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*!



Also in practice list of bookmarks about this page might need to use
something like hydra:Collection
https://www.w3.org/community/hydra/wiki/Collection_Design


I hope it helps a bit with clarifying my perspective on this issue :)

Received on Monday, 15 September 2014 22:57:30 UTC