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