- From: James M Snell <jasnell@gmail.com>
- Date: Mon, 3 Nov 2014 08:12:59 -0800
- To: Markus Lanthaler <markus.lanthaler@gmx.net>
- Cc: "public-socialweb@w3.org" <public-socialweb@w3.org>
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