- 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