Re: cwm/n3 and naming blank nodes? (calendar rules)

interesting example...
although I'm not a calendering specialist,
I've worked out a small testcase at

  http://www.agfa.com/w3c/2003/01calt/pimP.n3

and I think that CWM gives a correct "think"ing at

  http://www.agfa.com/w3c/2003/01calt/pimT.n3

i.e. we get

    <pim#johnDoe> <pim#happyBirthDay> "1999-11-01",
                "2000-11-01",
                "2001-11-01" .

and

    <pim#janeDoe> <pim#happyBirthDay> "2000-04-13",
                "2001-04-13",
                "2002-04-13",
                "2003-04-13" .

which is the same evidence that Euler gives for

  http://www.agfa.com/w3c/2003/01calt/pimC.n3

at

  http://www.agfa.com/w3c/2003/01calt/pimE.n3


the reasons for the 4 rules have to do with
the different situations for date matching
(the :happyBirthDay property is when one
is/was alive ;-)

-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/


                                                                                                                          
                    Dan Connolly                                                                                          
                    <connolly@w3.org>           To:     www-rdf-interest@w3.org, Norman.Walsh@Sun.COM,                    
                    Sent by:                     www-rdf-calendar@w3.org                                                  
                    www-rdf-calendar-requ       cc:                                                                       
                    est@w3.org                  Subject:     Re: cwm/n3 and naming blank nodes? (calendar rules)          
                                                                                                                          
                                                                                                                          
                    2003-01-03 07:19 AM                                                                                   
                                                                                                                          
                                                                                                                          





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 Saturday, 4 January 2003 18:17:59 UTC