Re: Verbs

On Fri, Oct 31, 2014 at 10:41 AM, Markus Lanthaler
<markus.lanthaler@gmx.net> wrote:
> On 31 Okt 2014 at 18:15, Crawford, Mark wrote:
>
> Topic 1 (aliasing "verb" to "@type")
>> Response: discussing internally
>
> If this is to ensure/improve backwards compatibility then it might be a good idea. Otherwise I think the spec will be much easier to understand without too many aliases (btw. I haven't read the F2F minutes yet so that might already have been discussed). In any case, I think that typing the activity instead of using a verb property is cleaner.
>

Agreed that using too many aliases is problematic. In this case it
would be strictly for backwards compat with AS 1.0. Newer 2.0
documents would be expected to use "@type" instead.

>
> Topic 2 (provide guidance on the "best" way to structure Activity statements)
>> Response: I would prefer we spec a normative structure for exactly
>> the reasons James identifies
>
> This might be very difficult to do without
>

Agreed. One of the most common questions I ended getting asked from
implementers is how exactly the activity statements are to be
interpreted. We may end up wanting to include a short bit of text that
describes the "common" model. I'm not sure we're going to have
effective conformance tests without it.

>
> Topic 3 (vocabulary for verbs/activity types)
>> response: I would prefer we take a more formal approach.
>
> Has it been discussed to simply recommend the reuse of Schema.org for this? There went a lot of work in the design of their actions hierarchy and if possible I would rather try to avoid reinventing the wheel here and instead focus on other aspects.
>

Well, Schema.org could get us at least part of the way there, but I'm
not sure if there is sufficient community or implementer support for
this. I'm a big fan of using paved roads, however, so I'd certainly be
open to this.

- James

>
> Have a nice weekend,
> Markus
>
>
>
>> -----Original Message-----
>> From: James M Snell [mailto:jasnell@gmail.com]
>> Sent: Friday, October 31, 2014 9:35 AM
>> To: public-socialweb@w3.org
>> Subject: Verbs
>>
>> We need to think about Verbs for a bit. (I apologize in advance for
>> the long-ish note)
>>
>> First,
>>
>> At the face-to-face, the discussion was raised about whether it is
>> better to model Verbs as Nouns or as Predicates. The differences are
>> subtle, but important.
>>
>> The Verbs as Predicates model is the approach originally taken by
>> Activity Streams 1.0 and carried through to the current 2.0 draft. It
>> is expressed using the "verb" property:
>>
>>   {
>>     "@context": "http://asjsonld.mybluemix.net",
>>     "actor": "acct:sally@example.org",
>>     "verb": "urn:example:Like",
>>     "object": "http://example.org/post/1"
>>   }
>> This is interpreted as "Sally liked 'http://example.org/post/1'"
>>
>> The Verbs as Nouns approach recasts the model a bit to express things in
>> the form: "This object is a Like, created by Sally, and referencing
>> "http://example.org/post/1"
>>
>> {
>>   "@context": "http://asjsonld.mybluemix.net",
>>   "@type": "urn:example:Like",
>>   "actor": "acct:sally@example.org",
>>   "object": "http://example.org/post/1"
>> }
>>
>> So far, the question has been cast as an either-or proposition: Either
>> we can model Activities as Predicates or we can model Activities as
>> Nouns. After looking at it, I believe we can actually achieve both
>> points of view by simply mapping the "verb" property to "@type" in the
>> AS JSON-LD @context. By doing so, both of the above examples produce
>> the same result. Consumers can then choose whichever point of view
>> suits them the best. It is a relatively simple change that, I believe,
>> would be worthwhile.
>>
>> Second,
>>
>> This one is a bit more abstract. Currently, the Activity Streams model
>> uses "object" to identify the direct object of the activity and
>> "target" to identify the indirect object. "target" is the thing to
>> which the activity has been directed but is not the thing that was
>> directly acted upon. Take the following examples for instance:
>>
>>   "Sally uploaded a photo" -- in this, there is an "actor" and an
>> "object", but there is no "target".
>>
>> But...
>>
>>   "Sally uploaded a photo to an album" -- in this we have all three:
>> "actor", "object" and "target", with the "target" being the album.
>>
>> Now consider the following two statements:
>>
>>   "Sally added an annotation to the article"
>>   vs.
>>   "Sally annotated the article with a note"
>> These are equivalent statements but the way they are structured
>> changes the direct object. In the first statement, the "object" is the
>> annotation, the "target" is the article. In the second statement, the
>> "object" is the article. The Activity Streams model is fluid enough to
>> allow us to express both of these statements appropriately. The
>> challenge, however, is that it can often be difficult for developers
>> using Activity Streams to pick a model, and if two different
>> implementers pick different approaches, we can end up with more than
>> one way of expressing the same concept, leading to potential interop
>> (or at least interpretation) issues on the consuming side. We can see
>> an example of this in the on-list discussion yesterday around the
>> Annotation WG cases.
>>
>> My question is: at some point... should the WG try to provide some
>> guidance here on the "best" way to structure Activity statements or is
>> it ok to leave this open and allow implementers to do their own thing?
>>
>> Third,
>>
>> Even more abstract: Another bit that was discussed at the face-to-face
>> is the fact that we do not currently define a vocabulary for the verbs
>> themselves. There is an existing set of verbs defined in Activity
>> Streams 1.0 by the so-called "Base Schema" document but those are
>> largely informal. Lots of implementations use various combinations of
>> those but they've never been formally spec'd. The question is: Do we
>> need a formal definition of the verbs? And if so, what form should
>> that take? We have a couple of options:
>>
>> 1. Take a loose "registry" type of approach like that in the Basic
>> Schema document. In this approach, there's really no "ontology"
>> approach, it's really just define a handful of common verbs with
>> specified meanings.
>>
>> 2. Take a more formal ontological and hierarchical approach the way
>> schema.org does with their Actions vocabulary
>> (https://schema.org/Action). In this case we'd be looking at defining
>> abstract classes of verbs with formal derivations, semantic roles, and
>> so forth.
>>
>> Both approaches have their pros and cons and given the diverse
>> community we have in the Social WG, I'd like to get a sense of which
>> approach folks prefer. Additionally, I'd like to get a sense of
>> whether this is something the WG ought to do or do we simply leave it
>> up to others to define the specific Verbs.
>>
>> That's it for now
>>
>> - James
>
>

Received on Monday, 3 November 2014 16:13:50 UTC