- From: Sam Goto <goto@google.com>
- Date: Wed, 1 Oct 2014 09:18:49 -0700
- To: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Cc: "public-vocabs@w3.org" <public-vocabs@w3.org>
- Message-ID: <CAMtUnc5s8TAN6c0z8G5vCTWL4=5GG820haHDWWzkAjkdAQBBNw@mail.gmail.com>
Hi elf! On Wed, Oct 1, 2014 at 8:51 AM, ☮ elf Pavlik ☮ < perpetual-tripper@wwelves.org> wrote: > Hi, > > Continuing explorations of schema:Action subtree, I notice some possible > flows in properties and sup-properties they use. > Neat! Great analysis, let me try to respond inline! > > 1. Specific sub-properties for specific Action sub-types > > * ExerciseAction --{sportsEvent}--> SportsEvent > Yeap, ExerciseAction is a terrible sub-tree ... I'm pretty unhappy with it :( IIRC, we faced a couple of challenges: (a) modelling competitive versus non competive exercising, e.g. what's the relationship between ExerciseAction and PlayAction? (b) the fact that a lot of "exercises" don't have a corresponding verb associated with it. so, while SwinAction or WalkAction made same, something like PlayTennisAction or PlaySoccerAction didn't. Neither (a) or (b) have been addressed yet :( I was hoping we would converge to something like the following long term: https://developers.facebook.com/docs/opengraph/guides/fitness > * CookAction --{foodEvent}--> FoodEvent > IMO both could use directly parent property *event* similar as currently > InformAction, InviteAction, JoinAction, LeaveAction, PlayAction > One way to deal with this is sub-properties. So, we could add an Action.event property and make foodEvent a sub-property-of. > > *#BUG* http://schema.org/foodEvent states "Super-properties: location", > while http://schema.org/FoodEvent subtype of Event > > Yeah, that's an option too ... I'm wondering if "location" and "event" are different things though ... where one refers to geographical location of the action versus the other to a potentially temporal event. For example, in that scenario, what's the relationship between CookAction.foodEvent.location and CookAction.location? > * ExerciseAction --{portsActivityLocation} --> SportsActivityLocation > * CookAction --{foodEstablishment}--> FoodEstablishment > IMO both could simply use parent property *location* instead > > PROBLEM: I worry about creating many not needed sub-properties for > various sub-types of Place and Event. > > PROPOSAL: > * using schema:location directly instead of creating sub-properties > * extending domainIncludes of event with parent class 'Action' itself * > * remove 5 Action sub-types currently included > * InformAction + subtypes could use about instead of event > * JoinAction could consistently use object as most of its examples does > > 2. Possible ambiguity in use of Action: object, about, recipient, > location, event > > InviteAction --{event}--> Event > > Let's say John invites Steve for ISWC2014 while they meet during > ESWC2014. It would make sense to me that consider ISWC2014 and object or > about in this invitation, Alice a recipient and ESC2014 an event during > which this invitation happened. > > { > "@context": "http://schema.org", > "@type": "InviteAction", > "agent": { > "@type": "Person", > "name": "John" > }, > "recipient": { > "@type": "Person", > "name": "Steve" > }, > "object": { // or "about" > "@type": "Event", > "name": "ISWC2014", > "startDate": "in 6 months" > }, > "event": { > "@type": "Event", > "name": "ESC2014", > "startDate": "yesterday" > } > } > > or looking at it differently > > > { > "@context": "http://schema.org", > "@type": "InviteAction", > "agent": { > "@type": "Person", > "name": "John" > }, > "object": { > "@type": "Person", > "name": "Steve" > }, > "recipient": { // or "about" > "@type": "Event", > "name": "ISWC2014", > "startDate": "in 6 months" > }, > "event": { > "@type": "Event", > "name": "ESC2014", > "startDate": "yesterday" > } > } > I would have expected something like the following for "Let's say John invites Steve for ISWC2014 while they meet during ESWC2014": { "@context": "http://schema.org", "@type": "InviteAction", "agent": { "@type": "Person", "name": "John" }, "recipient": { // or "about" "@type": "Person", "name": "Steve" }, "event": { "@type": "Event", "name": "ESC2014", "startDate": "in 6 months" } "location": { "@type": "Place", "name": "ESC2014", } "startDate": "yesterday" } > > I would also see InviteAction useful not only for Event invitations. > People invite each other to Organization (Group/Community), Place (with > no particular time given) etc. We could clarify how to do it in > consistent way with object & recipient. > Yeah, agreed. I think those are valid usages of InviteAction. > > http://schema.org/CheckInAction > > In examples also seems to use object and location in inconsistent way. I > would see it more consistent to use object instead of location in "John > checked in at Yandex" scenario. > Yeah, agreed. Send a patch? https://github.com/danbri/schemaorg > > http://schema.org/JoinAction > > Most of examples there use object, but event example uses event instead. > I would find it more clear to just use object in consistent way. > > 3. Best practices for using Action, Place and Event together. > > If Action happens in context of some event, this event will already have > location specified. We could recommend either to copy location data from > Event to action or assume that action.location = action.event.location > I think we would need to understand both. AFAICT, they are both semantically equivalent, just different ways of saying the same thing (which occurs in many forms in schema.org). > > > In general I think that clear examples of various common cases can come > of more use then trying to nail down descriptions of all those properties! > +1, I totally agree. Send a patch? > > Cheers > >
Received on Wednesday, 1 October 2014 16:19:17 UTC