- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
 - Date: Thu, 18 Sep 2014 09:27:31 +0200
 - To: Guha <guha@google.com>, Jason Douglas <jasondouglas@google.com>
 - CC: "martin.hepp@ebusiness-unibw.org" <martin.hepp@ebusiness-unibw.org>, W3C Web Schemas Task Force <public-vocabs@w3.org>, Sam Goto <goto@google.com>
 
On 09/17/2014 11:47 PM, Guha wrote:
> As much as I love Actions, sometimes, we need to be able to model the
> result of the action independently.
I FULLY agree!
> 
> A bookmark may have properties such as the , the number of times it has
> been used, etc. which don't really make sense in the Action context.
Yesterday I replied with example how BookmarkAction, WebPage and
Bookmark could relate
{
  "@type": "BookmarkAction",
  "object: {
    "@type": "WebPage",
    "@id": "http://example.net/"
  },
  "result": {
    "@type": "Bookmark",
    "about": "http://example.net/"
  }
}
On special properties side, it could add tag, collection and one could
share it
{
  "@id": "http://mypds.net/joe/zh98fs9h9s",
  "@type": "Bookmark",
  "about": "http://example.net/",
  "tag": [
    "comedy",
    "satire"
  ],
  "collection": [
    {
      "@id": "http://mypds.net/joe/dfa89fa9f",
      "@type": "ItemList",
      "name": "Watch later"
    },
    {
      "@id": "http://mypds.net/joe/h8d7f8dg9",
      "@type": "ItemList",
      "name": "Easy watching"
    }
  ],
  "interaction": [
    {
       "@type": "ShareAction",
       "actionStatus": "CompletedActionStatus",
       "recipient": "mailto:alice@funkycamp.net",
       "endTime": "2017-01-04T10:32:15+01:00"
    }
  ]
}
When it comes to viewed/unviewed or read/unread, I would see it on a
page not bookmark itself
{
  "@type": "WebPage",
  "@id": "http://example.net/",
  "interaction": [
    {
      "@type": "ViewAction",
      "@id": "http://mypds.net/joe/ew0r98a0ga",
      "actionStatus": "CompletedActionStatus",
      "object": "http://example.net/",
      "endTime": "2017-01-04T10:32:15+01:00"
    },
    {
      "@type": "ReadAction",
      "@id": "http://mypds.net/joe/0a9fd80gh7",
      "actionStatus": "CompletedActionStatus",
      "object": "http://example.net/",
      "startTime": "2017-01-04T10:32:15+01:00",
      "endTime": "2017-01-04T10:37:04+01:00"
    }
  ]
}
While on it, I would like to bring attention (for the 4th time in last 2
years) to: http://schema.org/interactionCount
And propose to replace it with *interaction* which would accompany
*potentialAction* on Thing.
* Thing --{potentialAction}--> Action --{actionStatus}-->
PotentialActionStatus
* Thing --{interaction}--> Action --{actionStatus}--> ActiveActionStatus
|| CompletedActionStatus
Last but not least let's make sure we think about *multiple graphs*!
In our bookmarking scenario:
* content provider would keep its graph on "http://example.net"
* content consumers would all keep their personal graphs, for example
Joe on "http://mypds.net/joe", Alice "http://funkycamp.net/alice" etc.
Of course content consumer could also syndicate her interaction on
provided resource. Or allow provider to *also* log her interaction.
I hope it helps with clarifying!
Received on Thursday, 18 September 2014 07:29:49 UTC