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: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
: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
: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
: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
: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
: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
: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
:own-slots ( (Documentation "We represent a time zone as a string with the format {-/+}hh:mm ") (Subclass-of string))) (Define-Frame TIME-POINT
: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
: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
: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
:own-slots ( (Subclass-of time-interval)) :template-slots ((Has-Duration (slot-value 24-hour-duration)) )) (Define-Frame WEEK
:own-slots ( (Subclass-of time-interval)) :template-slots ((Has-Duration (slot-value 7-day-duration)) )) (Define-Frame MONTH
:own-slots ( (Subclass-of time-interval))) (Define-Frame JANUARY
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame FEBRUARY
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (default-slot-value 28-day-duration)) )) (Define-Frame FEBRUARY-IN-LEAP-YEARS
:own-slots ( (Subclass-of february)) :template-slots ((Has-Duration (slot-value 29-day-duration)) )) (Define-Frame MARCH
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame APRIL
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 30-day-duration)) )) (Define-Frame MAY
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame JUNE
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 30-day-duration)) )) (Define-Frame JULY
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame AUGUST
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame SEPTEMBER
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 30-day-duration)) )) (Define-Frame OCTOBER
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame NOVEMBER
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 30-day-duration)) )) (Define-Frame DECEMBER
:own-slots ( (Subclass-of month)) :template-slots ((Has-Duration (slot-value 31-day-duration)) )) (Define-Frame YEAR
:own-slots ( (Subclass-of time-interval)) :template-slots ((Has-Duration (slot-value 12-month-duration)) )) (Define-Frame DURATION
: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)
: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)
: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)
: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)
: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)
: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)
: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)
:axiom-def (And (Has-Unit-Of-Measure 12-month-duration time-measure-year) (Has-Magnitude 12-month-duration 12) )) (Define-Frame TIME-MEASURE
: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)
) (Define-Individual TIME-MEASURE-MINUTE (time-measure)
) (Define-Individual TIME-MEASURE-HOUR (time-measure)
) (Define-Individual TIME-MEASURE-DAY (time-measure)
) (Define-Individual TIME-MEASURE-MONTH (time-measure)
) (Define-Individual TIME-MEASURE-YEAR (time-measure)
) (Define-Individual TIME-MEASURE-CENTURY (time-measure)
) (Define-Axiom DURATION-IS-BEGIN-TIME-MINUS-END-TIME
"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
"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)))
![]() |
![]() |