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

<> dc:description """post-hoc transcription of the constraints
	in my travel request into N3""";
   dc:source <mid:3B43377F.AC8B32B5@w3.org>.

@prefix tp:      <http://www.w3.org/Team/Admin/Travelpolicy#>.
@prefix rcs:     <http://www.w3.org/2001/03swell/rcs#>.
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.
@prefix pa: <http://www.w3.org/2000/08/palm56/addr#> .

<http://www.w3.org/Team/Admin/Travelpolicy>
 dc:creator [ contact:fullName "Susan Westhaver" ];
 rcs:id "Id: Travelpolicy.html,v 1.16 2000/09/07 23:49:19 susan Exp  "
 .


<mid:3B43377F.AC8B32B5@w3.org> a tp:TravelRequest.

@prefix i: <http://www.w3.org/2001/07dc-bos/grokNavItin#> .
@prefix t: <http://www.w3.org/2001/08swws67/travel#>.

@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix v: <#>.


this log:forAll v:itin, v:where,
	v:t1, v:t2,
	v:d1, v:d2, v:dn1, v:dn2,
	v:cn.

# hmm... where do these go...
{ v:where i:airportName "KANSAS CITY INTL" }
  log:implies { v:where t:iata "MCI" }.
{ v:where i:airportName "SAN JOSE" }
  log:implies { v:where t:iata "SJC" }.

{
 v:itin a i:Itinerary;
  i:air
    [ i:date v:d1;
      i:AR [ i:place [ t:iata "SJC" ];
             i:time v:t1;
           ];
      i:carrier [ pa:company v:cn ];
    ];
  i:air
    [ i:date v:d2;
      i:LV [ i:place [ t:iata "SJC" ];
             i:time v:t2; ]
    ]
  .
  [ i:date v:d1; i:dayName v:dn1 ].
  [ i:date v:d2; i:dayName v:dn2 ].
}
  log:implies {
   v:itin
          <#arSJCOn> v:dn1;
 	  <#arSJCAt> v:t1;
          <#lvSJCOn> v:dn2;
 	  <#lvSJCAt> v:t2;
          <#onCarrier> v:cn.
}.


# spot problems w.r.t. rules agreed with my wife...

{
 v:itin a i:Itinerary;
  i:air
    [ i:date v:d1;
      i:LV [ i:place [ t:iata "MCI" ];
             i:time v:t1;
           ];
    ].
  v:d1 log:lessThan "2001-07-30".
}
  log:implies {
   v:itin <#leavesDaysTooSoon> v:d1;
          <#at> v:t1.
}.

{
 v:itin a i:Itinerary;
  i:air
    [ i:date v:d1;
      i:AR [ i:place [ t:iata "MCI" ];
             i:time v:t1;
           ];
    ].
  v:d1 log:greaterThan "2001-08-01".
}
  log:implies {
   v:itin <#returnsDaysTooLate> v:d1;
          <#returnAt> v:t1.
}.


