- From: Yaar Schnitman <yaar@google.com>
- Date: Thu, 16 May 2013 16:12:09 -0700
- To: public-vocabs@w3.org, Dan Brickley <danbri@google.com>, Jim Klo <jim.klo@sri.com>, Steve Macbeth <Steve.Macbeth@microsoft.com>, jasnell@gmail.com
- Message-ID: <CA+KV221o+pcZzuCSUBNaKMYpS4KDCFVF8e8eLuQ2OK4_hfnU4g@mail.gmail.com>
Jim, you asked about adding "target" and "object" properties to schema.org/Action. Taking note of ActivityStrea.ms, we certainly considered adding "target" and "object" to the Schema.org Actions proposal. However, we found that such properties will create problems if our goal is to be able to fully express actions in very precise and unambiguous ways. Furthermore, relying on "target" and "object" also becomes a challenge in the case of "potential" actions, where the "target" and "object" might still be missing, since not decided yet. For example, consider the following sentences: - "Yaar drove home" - "Yaar drove a Volvo" - "Yaar drove his kids" - "Yaar drove route #1 from SF to LA" - "Yaar drove at 45mph" - "Yaar drove carefully" - "Yaar drove his wife mad talking about schemas" // ok, ignore this one :) Target & object can probably handle some of the sentences in satisfactory ways, such as: - "Yaar (actor) drove (verb) home (target)" - "Yaar (actor) drove (verb) a Volvo (object)" But will struggle with: - "Yaar (actor) drove (verb) at 45mph (mmm...)" - "Yaar (actor) drove (verb) route #1 (object?) from SF (mmm...) to LA (target?) It certainly cannot easily express the following sentence: "Yaar drove his kids home in his new car from SF to LA through route #1 at 60mph" What is the target (home or LA)? What is the object (kids, Volvo, route #1)? What do you do with the rest of the activity modifiers ("45mph", "carefully")? In schema.org Actions, we envision having DriveAction, with the following driving-specific properties: - destination: Place - source: Place - passenger: Person - pet: Animal - vehicle: Vehicle - cargo: Thing - averageSpeed: Text - drivingStyle: DrivingStyle - ... Allowing: { type: DriveAction actor: Yaar destination: LA source: SF passenger: { Kid1, Kid2, Kid3 } // didn't actually name them like that :) vehicle: { type: Car, brand: Volvo } averageSpeed: 45mph drivingStyle: careful ... } This also relates to "potential" actions. Imagine the following "potential" action: "I want to drive somewhere with my kids and my dog" Notice there is just a verb here (drive), but no target or object. But there is crucial information here (kids and a dog) that an action system will find very useful when trying to fulfill the action. The DriveAction construct above could easily express that, but a schema relying solely on verb names, targets and objects would not. One additional consideration behind this decision was that the choice of "target" and "object" values is sensitivity to locale. For example, while an English publisher will express "I (actor) listen (verb) to the Radio (target)", a French publisher will express "J'ecoute (actor + verb) la radio (object)". A ListenAction simply has an explicit "listenedTo: Thing" property that both French & English publishers can agree on the contents of. That said, we are aware that not having explicit target & object properties on each action will become a challenge for existing systems that model activities as actor-verb-object-target entities. However, we don't think its an insurmountable challenge and such systems could pretty easily transform schema.org actions into actor-verb-object-target structures by choosing which schema.org action properties are considered targets and which are considered objects (and which are just ignored). Such systems will need to know about all relevant schema.org action sub-types, but such systems are typically domain specific and will only need to know about a small sub-set of the actions and their properties. I hope that this helps explain the choices in the proposal. -Yaar
Received on Friday, 17 May 2013 10:18:30 UTC