% Sample Wellness Rules for Activities of Person p0002 % ---------------------------------------------------- %---------------- %Profile - P0002 %---------------- %CALENDAR %-------- calendar(p0002,c0002). %DATETIMES FOR CALENDAR EVENTS %----------------------------- event(c0002,?:Activity,possible,"2009-06-15T11:15:00","2009-06-15T11:45:00"). event(c0002,?:Activity,possible,"2009-06-13T13:00:00","2009-06-13T14:00:00"). event(c0002,?:Activity,possible,"2009-11-12T14:30:00","2009-11-12T16:00:00"). event(c0002,?:Activity,possible,"2009-11-14T12:30:00","2009-11-14T15:00:00"). %MAP %--- map(p0002,m0001). %EXPECTED FITNESS LEVELS %----------------------- fitness(p0002,"2009-06-15T11:15:00",5:integer). fitness(p0002,"2009-06-13T13:00:00",7:integer). fitness(p0002,"2009-11-12T14:30:00",4:integer). fitness(p0002,"2009-11-14T12:30:00",2:integer). %MEETUP LOCATION FITNESS LEVELS %------------------------------ level(p0002,walk,out,conniesStation,"P10M",2:integer). level(p0002,walk,out,conniesStation,"P20M",2:integer). level(p0002,walk,out,conniesStation,"P40M",3:integer). level(p0002,walk,out,conniesStation,"P60M",3:integer). level(p0002,walk,out,conniesStation,"P80M",6:integer). level(p0002,walk,out,debbiesValley,"P10M",3:integer). level(p0002,walk,out,debbiesValley,"P20M",4:integer). level(p0002,walk,out,debbiesValley,"P40M",5:integer). level(p0002,walk,out,debbiesValley,"P60M",6:integer). level(p0002,walk,out,debbiesValley,"P80M",7:integer). level(p0002,run,out,conniesStation,"P10M",3:integer). level(p0002,run,out,conniesStation,"P20M",4:integer). level(p0002,run,out,conniesStation,"P40M",4:integer). level(p0002,run,out,conniesStation,"P60M",5:integer). level(p0002,run,out,conniesStation,"P80M",6:integer). level(p0002,run,out,petersWagon,"P10M",2:integer). level(p0002,run,out,petersWagon,"P20M",4:integer). level(p0002,run,out,petersWagon,"P40M",6:integer). level(p0002,run,out,petersWagon,"P60M",7:integer). level(p0002,run,out,petersWagon,"P80M",8:integer). level(p0002,run,out,allensBrook,"P10M",2:integer). level(p0002,run,out,allensBrook,"P20M",2:integer). level(p0002,run,out,allensBrook,"P40M",3:integer). level(p0002,run,out,allensBrook,"P60M",3:integer). level(p0002,run,out,allensBrook,"P80M",3:integer). level(p0002,swim,in,johnsPool,"P10M",2:integer). level(p0002,swim,in,johnsPool,"P20M",3:integer). level(p0002,swim,in,johnsPool,"P40M",4:integer). level(p0002,swim,in,johnsPool,"P60M",5:integer). level(p0002,swim,in,johnsPool,"P80M",5:integer). level(p0002,swim,out,sandrasLake,"P10M",3:integer). level(p0002,swim,out,sandrasLake,"P20M",4:integer). level(p0002,swim,out,sandrasLake,"P40M",4:integer). level(p0002,swim,out,sandrasLake,"P60M",5:integer). level(p0002,swim,out,sandrasLake,"P80M",8:integer). level(p0002,skate,out,sandrasLake,"P10M",2:integer). level(p0002,skate,out,sandrasLake,"P20M",3:integer). level(p0002,skate,out,sandrasLake,"P40M",4:integer). level(p0002,skate,out,sandrasLake,"P60M",7:integer). level(p0002,skate,out,sandrasLake,"P80M",8:integer). level(p0002,yoga,in,lukesHall,"P10M",2:integer). level(p0002,yoga,in,lukesHall,"P20M",2:integer). level(p0002,yoga,in,lukesHall,"P40M",2:integer). level(p0002,yoga,in,lukesHall,"P60M",3:integer). level(p0002,yoga,in,lukesHall,"P80M",3:integer). level(p0002,hike,out,applePark,"P10M",4:integer). level(p0002,hike,out,applePark,"P20M",6:integer). level(p0002,hike,out,applePark,"P40M",8:integer). level(p0002,hike,out,applePark,"P60M",10:integer). level(p0002,hike,out,applePark,"P80M",10:integer). %Preferred Group Sizes %--------------------- groupSize(p0002,walk,out,1:integer,4:integer). groupSize(p0002,run,out,1:integer,4:integer). groupSize(p0002,swim,in,1:integer,6:integer). groupSize(p0002,swim,out,2:integer,4:integer). groupSize(p0002,skate,out,1:integer,6:integer). groupSize(p0002,yoga,in,1:integer,15:integer). groupSize(p0002,hike,out,1:integer,15:integer). %-------------------------- %Activities - Walking (out) %-------------------------- myActivity(p0002,Walking,out,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Walking,possible,?StartTime,?EndTime), participation(p0002,walk,out,?MinRSVP,?MaxRSVP), naf(season(?StartTime,winter)), forecast(?StartTime,sky,?Weather), forecast(?StartTime,temperature,?Temp), notEqual(?Weather,raining), lessThanOrEqual(?Temp,30:integer), map(p0002,?Map), meetup(?Map,walk,out,?Place), level(p0002,walk,out,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %-------------------------- %Activities - Running (out) %-------------------------- myActivity(p0002,Running,out,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Running,possible,?StartTime,?EndTime), participation(p0002,run,out,?MinRSVP,?MaxRSVP), naf(season(?StartTime,winter)), forecast(?StartTime,sky,?Weather), forecast(?StartTime,temperature,?Temp), notEqual(?Weather,raining), lessThanOrEqual(?Temp,30:integer), map(p0002,?Map), meetup(?Map,run,out,?Place), level(p0002,run,out,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %-------------------------- %Activities - Swimming (in) %-------------------------- myActivity(p0002,Swimming,in,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Swimming,possible,?StartTime,?EndTime), participation(p0002,swim,in,?MinRSVP,?MaxRSVP), season(?StartTime,summer), forecast(?StartTime,sky,?Weather), notEqual(?Weather,raining), map(p0002,?Map), meetup(?Map,swim,in,?Place), level(p0002,swim,in,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %--------------------------- %Activities - Swimming (out) %--------------------------- myActivity(p0002,Swimming,out,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Swimming,possible,?StartTime,?EndTime), participation(p0002,swim,out,?MinRSVP,?MaxRSVP), season(?StartTime,summer), forecast(?StartTime,sky,?Weather), forecast(?StartTime,temperature,?Temp), notEqual(?Weather,raining), greaterThanOrEqual(?Temp,30:integer), map(p0002,?Map), meetup(?Map,swim,out,?Place), level(p0002,swim,out,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %-------------------------- %Activities - Skating (out) %-------------------------- myActivity(p0002,Skating,out,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Skating,possible,?StartTime,?EndTime), participation(p0002,skate,out,?MinRSVP,?MaxRSVP), season(?StartTime,winter), forecast(?StartTime,temperature,?Temp), greaterThanOrEqual(?Temp,-10:integer), lessThanOrEqual(?Temp,0:integer), map(p0002,?Map), meetup(?Map,skate,out,?Place), level(p0002,skate,out,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %------------------------- %Activities - Yogaing (in) %------------------------- myActivity(p0002,Yoga,in,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Yoga,possible,?StartTime,?EndTime), participation(p0002,yoga,in,?MinRSVP,?MaxRSVP), map(p0002,?Map), meetup(?Map,yoga,in,?Place), level(p0002,yoga,in,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime). %------------------------- %Activities - Hiking (out) %------------------------- myActivity(p0002,Hiking,out,?MinRSVP,?MaxRSVP,?StartTime,?EndTime,?Place,?Duration,?Level) :- calendar(p0002,?Calendar), event(?Calendar,?:Hiking,possible,?StartTime,?EndTime), participation(p0002,hike,out,?MinRSVP,?MaxRSVP), naf(season(?StartTime,winter)), forecast(?StartTime,sky,?Weather), forecast(?StartTime,temperature,?Temp), notEqual(?Weather,raining), lessThanOrEqual(?Temp,30:integer), greaterThanOrEqual(?Temp,15:integer), map(p0002,?Map), meetup(?Map,hike,out,?Place), level(p0002,yoga,in,?Place,?Duration,?Level), fitness(p0002,?StartTime,?ExpectedFitness), greaterThanOrEqual(?ExpectedFitness,?Level), goodDuration(?Duration,?StartTime,?EndTime).