- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Wed, 02 Jul 2014 22:12:55 +0200
- To: Sam Goto <goto@google.com>
- CC: W3C Web Schemas Task Force <public-vocabs@w3.org>, Martin Hepp <martin.hepp@ebusiness-unibw.org>
Hi Sam and thanks for fast reply! first question bit out of topic, do you have somewhere published HTML copy of https://www.w3.org/wiki/images/1/10/PotentialActionsApril11.pdf ? I add few more comments inline. On 07/02/2014 08:25 PM, Sam Goto wrote: > { > "@type": ["GiveAction", "Offer"], > > > Yeah, the dual typing here was discussed in the past. We run into this > problem (i.e. a noun that is almost a 1:1 mapping with a verb) in > multiple occasions. For example: Order vs OrderAction, Reservation vs > ReserveAction and Review vs ReviewAction. > > We did consider having the verbs inherit from the nouns (e.g. > ReviewAction inheriting from Review, inheriting all of its properties) > and sub-property-of the properties of the action types. > > I agree that we don't have yet a clear story on this subject yet. would you see subtypes of schema:TransferAction - schema:GiveAction - schema:LendAction schema:TradeAction - schema:DonateAction - schema:RentAction - schema:SellAction inheriting from schema:Offer ? and schema:TransferAction - schema:TakeAction - schema:BorrowAction schema:TradeAction - schema:BuyAction inheriting from schema:Demand ? I also notice: * schema:GiveAction reciprocalOf schema:TakeAction * schema:BorrowAction reciprocalOf schema:LendAction * schema:SellAction reciprocalOf schema:BuyAction maybe worth introducing schema:reciprocalOf to further formalize it? no reciprocal: * schema:RentAction * schema:DonateAction not sure how Donate complements Give/Take ? * schema:TipAction * schema:PayAction maybe worth coordinating those two with https://web-payments.org/ ? > > > "object": { > "@id": "https://example.net/jane/assets/231231", > "@type" "IndividualProduct" > }, > "actionStatus": {"@type": "PotentialActionStatus"}, > "agent": { > "@type": "Person", > "@id": "https://example.net/jane", > "name": "Jane Doe" > } > } > > I like schema:object here which also fits nicer then schema:itemOffered > when used in schema:Demand > Similar schema:agent provides generic alternative to schema:seller > (which I find somehow confusing when used in Demand!) > > { > "@type": ["ReceiveAction", "Demand"], > "object": { > "@id": "https://example.net/jane/assets/231231", > "@type" "IndividualProduct" > }, > "actionStatus": {"@type": "PotentialActionStatus"}, > "agent": { > "@type": "Person", > "@id": "https://wwelves.org/perpetual-tripper", > "name": "elf Pavlik" > } > > > There is a notion of "executable" for potential actions that I think > needs to be present here somehow. That is, while Demand/Offer tells you > "what" can be done it doesn't tell you the "how" (e.g. hypermedia > controls). That is, in your examples, I'm missing the "how" to > complete/execute the potential action, possibly because there isn't a > "target" associated with the actions. So, for example, the following is > what I was expecting to find: > > { > @type: IndividualProduct, > potentialAction: { > @type: GiveAction, > target: { > urlTemplate: "http://example.com/products/123/give", > httpMethod: "POST" > }, > recipient: { > @type: Person, > name-input: "required name='recipient'" > } > } > } > > Which would give you the information you need to "execute" a "giving" > via asking the user who is the "recipient" and making a POST request to > an EntryPoint. Yes! Also for some actions service could require authentication and simple set certain properties only to authenticated 'agent'... Thinking further in this direction, how would you see schema:actionStatus changing during such interaction? In real life more then one person would 'request' certain item offered. First idea that comes to my mind - my favorite *AssetsManagement* app would create matching schema:TakeAction and first publish it on my origin (Personal Cloud) and then post it (already with permanent URI) to schema:GiveAction EntryPoint (for example with CORS if app runs in a browser). It would also have nice side effect of both parties having matching (and cross referenced) records of Give/Take in their 'Sharing Portfolios' (very important for reputation based currencies). It would also enable various more sophisticated community processes like: "Who do you want me to give this item to?" Where people (eg. friends) could up and down vote matching requests (again thinking here of reputation currencies / social capital) Just as I don't know how to link matching schema:Offer and schema:Demand I don't see obvious way of linking matching Give/Take, Lend/Borrow, Sell/Buy and other reciprocal actions... I don't expect replies to all those questions, still any clarifications very much appreciated :)
Received on Wednesday, 2 July 2014 20:15:18 UTC