- From: Dan Connolly <connolly@w3.org>
- Date: 03 Jan 2003 00:19:34 -0600
- To: www-rdf-interest@w3.org, Norman.Walsh@Sun.COM, www-rdf-calendar@w3.org
Norm Walsh asked, back on 1Dec...
http://lists.w3.org/Archives/Public/www-rdf-interest/2002Dec/0002.html
about rules for repeating events, some with
end markers and some without.
I completely missed that message, as I only catch
up with www-rdf-interest occasionally, but meanwhile, in
www-rdf-calendar, I wrote some rules that, I think,
answer Norm's question.
futureEvents.n3: an excercise in processing recurring events
Dan Connolly (Thu, Dec 19 2002)
http://lists.w3.org/Archives/Public/www-rdf-calendar/2002Dec/0022.html
Applying the lessons from futureEvents to Norm's birthday
case, we get:
this log:forAll :p, :s, :o, :t, :u, :l, :k, :m, :E.
{ :p a ab:Contact;
p:born :o } log:implies { :p :birthEvent [ a db:Appointment ;
db:begin-date :o ;
db:repeat [
rdf:type db:Repeat ;
db:frequency "1";
db:type "Yearly" ] ] } .
{ :p a ab:Contact;
p:born :o;
p:died :s;
:birthEvent :E } log:implies { :E db:end :s }.
There's something unsatisfying about this style of rules...
it feels procedural -- I start to think about
"creating" a db:Appointment and "modifying" it --
while writing rules is supposed to be declarative.
I'm not really modifying anything; this is all monotonic.
But feels wierd.
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 3 January 2003 01:19:25 UTC