@prefix dc: .
<> dc:description """
textual summary of upcoming iCalendar events.
USAGE:
$ python cwm.py myCal.rdf anotherCal.rdf upcomingBrief.n3 --think
--strings --with 2004-03-29 >stuff.txt
TODO:
@@ timezones
@@ recurring events
""",
"$Id: upcomingBrief.n3,v 1.4 2005/09/05 14:38:14 connolly Exp $".
@prefix cal: .
@prefix log: .
@prefix str: .
@prefix os: .
@prefix : <#>.
{ "1" os:argv ?WHEN } => { ?WHEN a :TimeBoundary }.
{ ?E a cal:Vevent;
cal:dtstart ?WHEN.
?WHEN str:notLessThan [ a :TimeBoundary ].
} => { ?E :when ?WHEN }.
{ ?E a cal:Vevent;
:when ?WHEN;
cal:summary ?WHAT.
(?WHEN ".0") str:concatenation ?K0.
(?WHEN ".1") str:concatenation ?K1.
(?WHEN ".2") str:concatenation ?K2.
(?WHEN ".9") str:concatenation ?K9.
} => {
?K0 log:outputString ?WHEN .
?K1 log:outputString ": " .
?K2 log:outputString ?WHAT .
?K9 log:outputString "\n" .
}.
{ ?E a cal:Vevent;
:when ?WHEN;
cal:location ?WHERE.
(?WHEN ".31") str:concatenation ?K31.
(?WHEN ".32") str:concatenation ?K32.
} => {
?K31 log:outputString " @ ".
?K32 log:outputString ?WHERE.
}.
{ ?E a cal:Vevent;
:when ?WHEN;
cal:dtend ?WHEN2.
(?WHEN ".35") str:concatenation ?K35.
(?WHEN ".36") str:concatenation ?K36.
} => {
?K35 log:outputString " thru ".
?K36 log:outputString ?WHEN2.
}.