Re: Verbs

On Fri, Oct 31, 2014 at 10:41 AM, Markus Lanthaler
<> 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 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, 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 []
>> Sent: Friday, October 31, 2014 9:35 AM
>> To:
>> 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": "",
>>     "actor": "",
>>     "verb": "urn:example:Like",
>>     "object": ""
>>   }
>> This is interpreted as "Sally liked ''"
>> 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
>> ""
>> {
>>   "@context": "",
>>   "@type": "urn:example:Like",
>>   "actor": "",
>>   "object": ""
>> }
>> 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
>> does with their Actions vocabulary
>> ( 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