Action subtypes, their properties & sub-properties plus relationships with Place & Event

Hi,

Continuing explorations of schema:Action subtree, I notice some possible
flows in properties and sup-properties they use.

1. Specific sub-properties for specific Action sub-types

* ExerciseAction --{sportsEvent}--> SportsEvent
* CookAction --{foodEvent}--> FoodEvent
IMO both could use directly parent property *event* similar as currently
InformAction, InviteAction, JoinAction, LeaveAction, PlayAction

*#BUG* http://schema.org/foodEvent states "Super-properties: location",
while http://schema.org/FoodEvent subtype of Event

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

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.

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


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!

Cheers

Received on Wednesday, 1 October 2014 15:54:10 UTC