Re: Comparing Activity Streams / Schema.org / Hydra (former: 'Fwd: Schema.org applies W3C Patent Policy')

On Tue, Sep 2, 2014 at 2:07 PM, Sam Goto <goto@google.com> wrote:
>
[snip]
>
>
> Can you point me to how you deal with input parameters? That is, lets say
> that to "search" Tartine Bakery, you take a "query". How does AS2 goes about
> that?
>
> http://schema.org/docs/actions.html
>

Look here [1] and here [2]

[1] http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-actions.html#url-template-objects
[2] http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-actions.html#htmlForms

For instance,

{
  "objectType": "note",
  "content": "This is a note",
  "actions": {
    "review": {
      "objectType": "UrlTemplate",
      "method": "POST",
      "template": "http://example.org/foo{?rating,comment}",
      "parameters": {
        "rating": "nonNegativeInteger",
        "comment": "string"
      }
    }
  }
}

Look here [3] for details on how the parameters object works.

[3] http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-actions.html#parametersObject

>> >
>> > I have not looked at Hydra in enough detail yet to know how the
>> > example would translate there.
>> >
>> > The approaches that schema.org/Actions and AS2 Actions take differ in
>> > a number of fairly obvious ways.
>
>
> Could you enumerate the most significant ways you think they differ (from a
> technical perspective)? That might be a good starting point to a
> constructive discussion.
>

The differences are mostly in syntax, but some in model.
schema.org/Actions tends to define the Actions semantically.. that is,
"WatchAction", "ViewAction", etc. The AS2 Action Handlers spec, on the
other hand, defines things like "HttpAction", "ViewAction" (where View
here effectively means opening a browser). It's a subtle difference
but it does an an effect on how the JSON is processed. The effect is
that in the AS2 approach, there is a bit more separation between the
Verb identifier and the Action descriptions themselves, but not much.

I will say that the current approach documented in the action handlers
draft is a work in progress proposal. I do have an implementation but
I am certainly not against iterating on the design. My goal is to
address the use cases, not defend any particular syntax or encoding.
The requirements for Actions can be described rather easily:

1. For any piece of content, we need the ability to include a
declarative description of one or more potential actions an agent can
take with that content (the ability to define multiple actions per
object is important).

2. For each potential action, we need the ability to include one or
more declarative descriptions of how an agent can go about performing
those actions.

3. Ideally, the way we describe the Actions will be consistent with
the way we describe the Objects (that is, use the same core vocabulary
model).

So, in other words, take an object like a Note, for instance. We need
to be able to say things like, "You can Like, Share or Save this
note". If you want to "Save" it, here are one or more ways you can do
that. The "one or more ways" would involve either: (a) calling a REST
API, (b) opening a browser view, (c) showing some embedded content or
(d) calling out to some external application. It's important that, as
part of the description of these options, any given object can have
multiple actions defined and that each action can have multiple ways
of accomplishing the action defined.

The schema.org/Actions stuff certainly might be able to provide a
solution here, but, to be honest, up until the recent Terms of Service
change that applied the W3C IPR policy, the usage license around
actions was a massive question mark. Also, given that the governance
around schema.org is still an open question, it's not clear exactly
how new Action Handler types could/should/would be introduced, etc.
I've got no problem working to get alignment going with
schema.org/Actions but it just needs to be done openly. I'm hoping
that the Terms of Service change means those questions can be easily
resolved :-)

Hydra may also provide a solution to this problem. But, to be honest,
I haven't looked at it in depth yet. From what I have seen, I do not
believe that we actually need most of what Hydra currently defines. So
if we opted down that path, we'd have to identify some relevant
subset.

- James

>>
>> Both, however, are capable of
>> > expressing the same basic information in relatively consistent ways.
>> > The devil, however, is always in the details.
>> >
>> > I'll admit my bias up front since I'm the co-author of the AS2 Action
>> > Handlers spec, but I prefer the more concise approach it takes. While
>> > the specification defines a handful of basic Action Handler types
>> > (View, Http, Embed and Intent), these are flexible enough to support
>> > an extremely broad range of cases and can easily be mapped to existing
>> > verb identifiers. As the examples in my various blog posts illustrate,
>> > it's also possible to use other kinds of Action Handlers in the AS2
>> > model (for instance, we could easily make use of the
>> > schema.org/Actions definitions directly without any modification).
>
>
> If you are considering Hydra in the same area, you might want to look at
> these other hypermedia media types too:
>
> http://blog.sgo.to/2014/03/rows-and-idls.html
>
>>
>> >
>> > - James
>> >
>> > On Tue, Sep 2, 2014 at 7:19 AM, ☮ elf Pavlik ☮
>> > <perpetual-tripper@wwelves.org> wrote:
>> >> Hello,
>> >>
>> >> I would like to propose in depth discussion on Schema.org / Activity
>> >> Streams / Hydra
>> >>
>> >> We have both ActivityStreams & Schema.org listed at
>> >> https://www.w3.org/wiki/Socialwg/Social_syntax
>> >>
>> >> I can also recall at least two articles by James Snell where he works
>> >> with them both:
>> >> *
>> >>
>> >> http://www.chmod777self.com/2014/04/activity-streams-20-and-schemaorgactions.html
>> >> *
>> >> http://www.chmod777self.com/2014/05/more-on-activity-streams-20-and.html
>> >>
>> >> Then again Schema.org Actions and Hydra have many similarities and
>> >> history of collaboration:
>> >> http://blog.schema.org/2014/04/announcing-schemaorg-actions.html
>> >>
>> >> I must admit not reading enough yet about Activity Streams 2.0 Action
>> >> Handlers to position them here...
>> >>
>> >> #ACTION - Would someone like to work with me in next two weeks to
>> >> prepare overview of similarities and differences in all mentioned
>> >> technologies? It would hopefully make it much easier for everyone to
>> >> engage in further conversation.
>> >>
>> >> Cheers!
>> >>
>> >> On 09/01/2014 07:58 PM, Harry Halpin wrote:
>> >>> In case people missed this from the last IG meeting!
>> >>>
>> >>> -------- Forwarded Message --------
>> >>> Subject: Schema.org applies W3C Patent Policy
>> >>> Resent-Date: Mon, 01 Sep 2014 17:54:15 +0000
>> >>> Resent-From: public-socialweb@w3.org
>> >>> Date: Mon, 01 Sep 2014 19:54:07 +0200
>> >>> From: Harry Halpin <hhalpin@w3.org>
>> >>> To: public-socialweb@w3.org <public-socialweb@w3.org>
>> >>>
>> >>> Those who were at the Social Standards workshop last August will
>> >>> remember a discussion with Guha over schema.org and licensing. People
>> >>> should  know that Schema.org has now changed their licensing to be
>> >>> royalty-free in the following manner:
>> >>>
>> >>> "The Sponsors have applied the W3C Patent Policy to the schemas
>> >>> published by Schema.org as follows: each Sponsor, by itself and on
>> >>> behalf of its affiliates, agrees to make available under W3C RF
>> >>> licensing requirements its Essential Claims (if any) in the schemas
>> >>> published by Schema.org as if the schemas were W3C Recommendations. In
>> >>> some cases, this website may indicate that some but not all of the
>> >>> Sponsors have recognized a particular extension to the Schema; in
>> >>> those cases, as to that extension, the above rights are granted by
>> >>> only those recognizing Sponsors. " [1]
>> >>>
>> >>>    cheers,
>> >>>     harry
>> >>>
>> >>> [1]https://www.schema.org/docs/terms.html
>> >>>
>> >>
>> >>
>> >
>>
>

Received on Tuesday, 2 September 2014 21:35:06 UTC