Ontology: Akt-Support-Ontology; Representation Language: ONTOLINGUA; File: time

This ontology was created by the Advanced Knowledge Technologies (AKT) project. AKT is an Interdisciplinary Research Collaboration (IRC), which is sponsored by the UK Engineering and Physical Sciences Research Council under grant number GR/N15764/01. The AKT IRC comprises the Universities of Aberdeen, Edinburgh, Sheffield, Southampton and the Open University.

;;;Automatically translated from OCML file #P"C:/users/jbd2/code/ocml/library/v5-0/domains/akt-support-ontology/time.lisp"
(in-package "ONTOLINGUA-USER")

(in-ontology 'akt-support-ontology)


(Define-Frame YEAR-IN-TIME  Show the class year-in-time in WebOnto

  :own-slots
  (  (Documentation "A year-in-time must be an integer and integer can be a year-in-time")
  (Subclass-of integer))

  :axioms
((<=> (integer ?x) (year-in-time ?x))
))


(Define-Frame MONTH-IN-TIME  Show the class month-in-time in WebOnto

  :own-slots
  (  (Documentation "A month-in-time is an integer in the interval 1-12")
  (Subclass-of positive-integer))

  :axioms
((<=> (and (positive-integer ?x) (< ?x 13)) (month-in-time ?x))
))


(Define-Frame DAY-IN-TIME  Show the class day-in-time in WebOnto

  :own-slots
  (  (Documentation "A day-in-time is an integer in the interval 1-31")
  (Subclass-of positive-integer))

  :axioms
((<=> (and (positive-integer ?x) (< ?x 32)) (day-in-time ?x))
))


(Define-Frame HOUR-IN-TIME  Show the class hour-in-time in WebOnto

  :own-slots
  (  (Documentation "A hour-in-time is an integer in the interval 0-23")
  (Subclass-of non-negative-integer))

  :axioms
((<=> (and (non-negative-integer ?x) (< ?x 24)) (hour-in-time ?x))
))


(Define-Frame MINUTE-IN-TIME  Show the class minute-in-time in WebOnto

  :own-slots
  (  (Documentation "A minute-in-time is an integer in the interval 0-59")
  (Subclass-of non-negative-integer))

  :axioms
((<=> (and (non-negative-integer ?x) (< ?x 60)) (minute-in-time ?x))
))


(Define-Frame SECOND-IN-TIME  Show the class second-in-time in WebOnto

  :own-slots
  (  (Documentation "A second-in-time is a real number greater or equal to 0, less than 60")
  (Subclass-of real-number))

  :axioms
((<=> (and (real-number ?x) (not (< ?x 0)) (< ?x 60)) (second-in-time ?x))
))


(Define-Frame TIME-POSITION  Show the class time-position in WebOnto

  :own-slots
  (  (Documentation "A time position is either a time interval or a time point.
   Any time position is relative to a time zone")
  (Subclass-of intangible-thing))

  :template-slots
  ((In-Timezone 
   (slot-value-type timezone)
   (default-slot-value "+00:00"))
   ))


(Define-Frame TIMEZONE  Show the class timezone in WebOnto

  :own-slots
  (  (Documentation "We represent a time zone as a string with the format 
   {-/+}hh:mm ")
  (Subclass-of string)))


(Define-Frame TIME-POINT  Show the class time-point in WebOnto

  :own-slots
  (  (Documentation "A point in time")
  (Subclass-of time-position))

  :template-slots
  ((Year-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type year-in-time))
   (Month-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type month-in-time))
   (Day-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type day-in-time))
   (Hour-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type hour-in-time))
   (Minute-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type minute-in-time))
   (Second-Of 
   (maximum-slot-cardinality 1)
   (slot-value-type second-in-time))
   )

  :axioms
((=> (time-point ?inst15608) (and (not (and (month-of ?x 2) (> (the ?day (day-of ?x ?day)) 29))) (not (and (member-of ?x (4 6 9 11)) (> (the ?day (day-of ?x ?day)) 30)))))
))


(Define-Frame CALENDAR-DATE  Show the class calendar-date in WebOnto

  :own-slots
  (  (Documentation "A calendar date is a time point in which month, day and year have 
  been specified but hour, minute and second have not")
  (Subclass-of time-point))

  :template-slots
  ((Year-Of 
   (slot-cardinality 1)
   (slot-value-type year-in-time))
   (Month-Of 
   (slot-cardinality 1)
   (slot-value-type month-in-time))
   (Day-Of 
   (slot-cardinality 1)
   (slot-value-type day-in-time))
   (Hour-Of 
   (maximum-slot-cardinality 0)
   (slot-value-type hour-in-time))
   (Second-Of 
   (maximum-slot-cardinality 0)
   (slot-value-type second-in-time))
   (Minute-Of 
   (maximum-slot-cardinality 0)
   (slot-value-type minute-in-time))
   ))


(Define-Frame TIME-INTERVAL  Show the class time-interval in WebOnto

  :own-slots
  (  (Documentation "An interval is defined by two time points or a duration.  
   Classes of intervals, e.g., a day, can be defined by specifying only
   a duration.  A time interval has no gaps")
  (Subclass-of time-position))

  :template-slots
  ((Has-Duration 
   (maximum-slot-cardinality 1)
   (slot-value-type duration))
   (Ends-At-Time-Point 
   (maximum-slot-cardinality 1)
   (slot-value-type time-point))
   (Begins-At-Time-Point 
   (maximum-slot-cardinality 1)
   (slot-value-type time-point))
   ))


(Define-Frame DAY  Show the class day in WebOnto

  :own-slots
  (
  (Subclass-of time-interval))

  :template-slots
  ((Has-Duration 
   (slot-value 24-hour-duration))
   ))


(Define-Frame WEEK  Show the class week in WebOnto

  :own-slots
  (
  (Subclass-of time-interval))

  :template-slots
  ((Has-Duration 
   (slot-value 7-day-duration))
   ))


(Define-Frame MONTH  Show the class month in WebOnto

  :own-slots
  (
  (Subclass-of time-interval)))


(Define-Frame JANUARY  Show the class january in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame FEBRUARY  Show the class february in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (default-slot-value 28-day-duration))
   ))


(Define-Frame FEBRUARY-IN-LEAP-YEARS  Show the class february-in-leap-years in WebOnto

  :own-slots
  (
  (Subclass-of february))

  :template-slots
  ((Has-Duration 
   (slot-value 29-day-duration))
   ))


(Define-Frame MARCH  Show the class march in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame APRIL  Show the class april in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 30-day-duration))
   ))


(Define-Frame MAY  Show the class may in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame JUNE  Show the class june in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 30-day-duration))
   ))


(Define-Frame JULY  Show the class july in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame AUGUST  Show the class august in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame SEPTEMBER  Show the class september in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 30-day-duration))
   ))


(Define-Frame OCTOBER  Show the class october in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame NOVEMBER  Show the class november in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 30-day-duration))
   ))


(Define-Frame DECEMBER  Show the class december in WebOnto

  :own-slots
  (
  (Subclass-of month))

  :template-slots
  ((Has-Duration 
   (slot-value 31-day-duration))
   ))


(Define-Frame YEAR  Show the class year in WebOnto

  :own-slots
  (
  (Subclass-of time-interval))

  :template-slots
  ((Has-Duration 
   (slot-value 12-month-duration))
   ))


(Define-Frame DURATION  Show the class duration in WebOnto

  :own-slots
  (  (Documentation "A measure of time, e.g., 5 hours")
  (Subclass-of physical-quantity))

  :template-slots
  ((Has-Unit-Of-Measure 
   (slot-value-type time-measure))
   ))


(Define-Individual 24-HOUR-DURATION (duration) Show the instance 24-hour-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 24-hour-duration time-measure-hour)
  (Has-Magnitude 24-hour-duration 24)
  ))


(Define-Individual 7-DAY-DURATION (duration) Show the instance 7-day-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 7-day-duration time-measure-day)
  (Has-Magnitude 7-day-duration 7)
  ))


(Define-Individual 28-DAY-DURATION (duration) Show the instance 28-day-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 28-day-duration time-measure-day)
  (Has-Magnitude 28-day-duration 28)
  ))


(Define-Individual 29-DAY-DURATION (duration) Show the instance 29-day-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 29-day-duration time-measure-day)
  (Has-Magnitude 29-day-duration 29)
  ))


(Define-Individual 30-DAY-DURATION (duration) Show the instance 30-day-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 30-day-duration time-measure-day)
  (Has-Magnitude 30-day-duration 30)
  ))


(Define-Individual 31-DAY-DURATION (duration) Show the instance 31-day-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 31-day-duration time-measure-day)
  (Has-Magnitude 31-day-duration 31)
  ))


(Define-Individual 12-MONTH-DURATION (duration) Show the instance 12-month-duration in WebOnto
  :axiom-def
  (And   (Has-Unit-Of-Measure 12-month-duration time-measure-year)
  (Has-Magnitude 12-month-duration 12)
  ))


(Define-Frame TIME-MEASURE  Show the class time-measure in WebOnto

  :own-slots
  (  (Documentation "The class of all unit of measures used to measure time,
   e.g., minute, second, hour, etc...")
  (Subclass-of unit-of-measure)))


(Define-Individual TIME-MEASURE-SECOND (time-measure) Show the instance time-measure-second in WebOnto
)


(Define-Individual TIME-MEASURE-MINUTE (time-measure) Show the instance time-measure-minute in WebOnto
)


(Define-Individual TIME-MEASURE-HOUR (time-measure) Show the instance time-measure-hour in WebOnto
)


(Define-Individual TIME-MEASURE-DAY (time-measure) Show the instance time-measure-day in WebOnto
)


(Define-Individual TIME-MEASURE-MONTH (time-measure) Show the instance time-measure-month in WebOnto
)


(Define-Individual TIME-MEASURE-YEAR (time-measure) Show the instance time-measure-year in WebOnto
)


(Define-Individual TIME-MEASURE-CENTURY (time-measure) Show the instance time-measure-century in WebOnto
)


(Define-Axiom DURATION-IS-BEGIN-TIME-MINUS-END-TIME  Show the axiom duration-is-begin-time-minus-end-time in WebOnto
"This axiom states the relation between duration, begin time 
   and end time in an interval"
:= (=> (and (time-interval ?x) (begins-at-time-point ?x ?tp1) (ends-at-time-point ?x ?tp2)) (= (has-duration ?x (time-difference (the ?tp1 (begins-at-time-point ?x ?tp1)) (the ?tp2 (ends-at-time-point ?x ?tp2)))))))


(Define-Function TIME-DIFFERENCE (?tp1 ?tp2) :-> ?d Show the function time-difference in WebOnto
"The duration between two time points.
   No operational definition is given here, only a spec"
:def (and (time-point ?tp1) (time-point ?tp2) (duration ?d)))

Contact Point

Email: John Domingue (j.b.domingue@open.ac.uk)