@prefix dc: <http://purl.org/dc/elements/1.1/> .

<> dc:description """brief report form from itinerary""".

@prefix k: <http://opencyc.sourceforge.net/daml/cyc.daml#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix str: <http://www.w3.org/2000/10/swap/string#> .
@prefix dt: <http://www.w3.org/2001/XMLSchema#> .
@prefix apt: <http://www.daml.org/2001/10/html/airport-ont#>.
@prefix t: <http://www.w3.org/2000/10/swap/pim/travelTerms#> .

@prefix : <#>.

this log:forAll :YYYY_MM_DD, :DOW,
   :HH_MM,  :IATA,
   :HH_MM2, :IATA2,
   :TXT, :WHEN, :CARRIER, :NUM. 

{
  [ k:subEvents [
      k:startingDate [ dt:date :YYYY_MM_DD; a [ k:nameString :DOW ] ];
      t:departureTime :HH_MM;
      t:arrivalTime :HH_MM2;
      k:fromLocation [ apt:iataCode :IATA ];
      k:toLocation [ apt:iataCode :IATA2 ];
      t:carrier [ k:nameOfAgent :CARRIER ];
      t:flightNumber :NUM;
   ]
  ].

  :WHEN is str:concatenation of
   (:YYYY_MM_DD :HH_MM).

  :TXT is str:concatenation of
   (:YYYY_MM_DD " " :HH_MM " - " :HH_MM2 " " :IATA "->" :IATA2 " "
    :DOW " " :CARRIER " #" :NUM "\n").

} log:implies {
  :WHEN log:outputString :TXT
}.
