Vocabulary for verbs/activity types [was RE: Verbs]

Topic 3 (vocabulary for verbs/activity types)
>> response: I would prefer we take a more formal approach.
Markus wrote:

>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.

Probably worth a discussion, but there is still significant resistance to schema.org.

Best Regards,
Mark



> -----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 Friday, 31 October 2014 17:57:21 UTC