- From: Dan Connolly <connolly@w3.org>
- Date: 14 Mar 2003 11:22:12 -0600
- To: Danny Ayers <danny666@virgilio.it>
- Cc: www-rdf-calendar@w3.org
On Fri, 2003-03-14 at 04:00, Danny Ayers wrote:
> Great use case.
>
> Any thoughts/progress on the Easter Sunday issue?
>
> There do seem to be fairly simple procedural algorithms for doing this, but
> a callout to a procedure seems a very ugly approach (begs the question why
> not do it all with a procedure). Presumably the algorithm needs to be
> refactored into a declarative form (which shouldn't be too difficult, it's
> mostly if-thens).
Yeah... the good news is that there aren't too many else's.
else is akin to not, which is tricky in the semantic web.
> But how's cwm at swms?
What's a swm?
Anyway... I converted the code below to N3 and put it in...
http://www.w3.org/2002/12/cal/tzrules.n3
So you can do
$ python cwm.py tzrules.n3 --think
and from some test data facts in tzrules.n3...
:DansBirthDay dt:date "1967-12-09".
:USIndependenceDay dt:date "1776-07-04".
and the easter rules, cwm concludes...
k:TheYear1776 a k:CalendarYear;
tzr:easterDay "7";
tzr:easterMonth "04";
tzr:easterStep1 "38";
k:temporallySubsumes tzr:USIndependenceDay,
[
a tzr:EasterHoliday;
dt:date "1776-04-07" ];
dt:gYear "1776" .
k:TheYear1967 a k:CalendarYear;
tzr:easterDay "26";
tzr:easterMonth "03";
tzr:easterStep1 "26";
k:temporallySubsumes tzr:DansBirthDay,
[
a tzr:EasterHoliday;
dt:date "1967-03-26" ];
dt:gYear "1967" .
>
> void
> CEasterDlg::GetEasterSunday( WORD wYear, WORD& wMonth, WORD& wDay )
> {
[...]
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 14 March 2003 12:21:06 UTC