[Transport] BusTrip, MoveAction, ConsumeAction etc.

Hi, I look at possibilities of using schema:Action in context of public
transport (later p2p transport). Taking an example of me taking a single
trip on a bus, I would first board it somewhere:

{
  "@type": "DepartAction",
  "agent": {
    "@id": "https://wwelves.org/perpetual-tripper",
    "name": "elf Pavlik"
  },
  "object": {
    "@type": "BusStop",
    "@id" : "http://bus.matera.io/F104"
  },
  "startTime": "2014-07-20T16:00:00+02:00"
}

and then I would leave it:

{
  "@type": "ArriveAction",
  "agent": {
    "@id": "https://wwelves.org/perpetual-tripper",
    "name": "elf Pavlik"
  },
  "object": {
    "@type": "BusStop",
    "@id" : "http://bus.matera.io/F24"
  },
  "endTime": "2014-07-20T16:00:00+02:00"
}

those two together give me something like:

{
  "@type": "MoveAction",
  "object": {
    "@id": "https://wwelves.org/perpetual-tripper",
    "name": "elf Pavlik"
  },
  "fromLocation": {
    "@type": "BusStop",
    "@id" : "http://bus.matera.io/F104"
  },
  "toLocation": {
    "@type": "BusStop",
    "@id" : "http://bus.matera.io/F24"
  },
  "startTime": "2014-07-20T16:00:00+02:00",
  "endTime": "2014-07-20T16:00:00+02:00"
}

*FEEDBACK*:

* I find it somehow confusing that while Arrive/Depart inherit
fromLocation/toLocation properties but use their object property to
refer to place
* I feel confused in general when to use in MoveAction and its subtypes
agent, object, location, for example this one also seems to make sense:


{
  "@type": "ArriveAction",
  "object": {
    "@id": "https://wwelves.org/perpetual-tripper",
    "name": "elf Pavlik"
  },
  "location": {
    "@type": "BusStop",
    "@id" : "http://bus.matera.io/F24"
  },
  "endTime": "2014-07-20T16:00:00+02:00"
}

*END FEEDBACK*

Now thinking how above actions would work with BusTrip and
ConsumeAction, first take gives me:

{
  "@type": "ConsumeAction",
  "agent": {
    "@id": "https://wwelves.org/perpetual-tripper",
    "name": "elf Pavlik"
  },
  "object": {
    "@type": "BusTrip",
    "busNumber": "12",
    "provider": {
      "@id": "http://www.miccolis-spa.it/",
      "name": "Miccolis"
    },
    "departureBusStop": {
      "@type": "BusStop",
      "@id" : "http://bus.matera.io/F104"
    },
    "arrivalBusStop": {
      "@type": "BusStop",
      "@id" : "http://bus.matera.io/F24"
    },
    "departureTime": "2014-07-20T16:00:00+02:00",
    "arrivalTime": "2014-07-20T16:00:00+02:00"
  }
}

*FEEDBACK*

* departureXYZ/arrivalXYZ - I see BusTrip, TrainTrip and Flight all have
various properties like that. I find it an attractive possibility to use
instead just something like departure/arrival which would expect
DepartAction/ArriveAction with startTime/endTime and a subtype of Place
as its object.
* busXYZ - I also see TrainTrip using similar trainXYZ, maybe worth
introducing schema:service as well as schema:BusService,
schema:TrainService? it would also provilde something to use as
schema:instrument in MoveAction
* BusTrip & TrainTrip vs. Fligth - I have impression that while BusTrip
& TrainTrip express someone taking/consuming a trip (~= MoveAction)
Flight instead expresses certain service and not that much fact of
someone consuming it.

*END FEEDBACK*

Any feedback on the ways I try to use schema.org terms very welcomed!
Please also anyone interested, let me know if you would like to take a
deeper look together at terms related to Transport (public, private,
p2p), especially relevant for it Action subtypes. I cc here Pieter
Colpaert leading OKFN Open Transport group and working on
https://github.com/OpenTransport/vocabulary

Cheers!

Received on Monday, 28 July 2014 13:44:27 UTC