;;; Mode: Lisp; Package: ocml ;;; The Open University (in-package "OCML") (in-ontology akt-support-ontology) ;;;A very simple top-level. We define something called THING, which ;;;is the top-level concept in the ontology. We then distinguish two basic ;;;types of 'things': TANGIBLE-THING, something that has some physicality, ;;;and INTANGIBLE-THING, something which has not. We use a very open definition ;;;of being tangible: obviusly a physical object is tangible, but also a sub-atomic ;;;particle is tangible, even if some of them are very tricky (you do not see them) ;;;you only see the trace they leave behind. Also a piece of software will be ;;;considered a tangible thing, it is something that you can see on a floppy disk. ;;;In contrast an algorithm will be an intangible, although the file that contains ;;;its implementation will be a tangible thing. ;;;This is a stop-gap top level. Over the course of teh project we may want to extend this ;;;and link to existing top levels (SUO, HPKB, CYC, Sowa, Guarino, etc.) (def-class THING () "This is the top-level concept in the AKT reference ontology" ) (def-class INTANGIBLE-THING (thing) "This comes from HPKB upper level. The collection of things that are not physical -- are not made of, or encoded in, matter. Every Collection is an Intangible (even if its instances are tangible), and so are some Individuals. Caution: do not confuse `tangibility' with `perceivability' -- humans can perceive light even though it's intangible--at least in a sense.") (def-class TANGIBLE-THING (thing) "Something which is not intangible") (def-axiom TANGIBLE-AND-INTANGIBLE-THINGS-ARE-DISJOINT (subclass-partition thing (set-of Tangible-Thing Intangible-thing))) (def-class QUANTITY (Intangible-thing) ((has-unit-of-measure :type unit-of-measure) (has-magnitude :type number))) (def-class UNIT-OF-MEASURE (Intangible-thing) "Any kind of unit of measure, metre, dollar, kilogram, etc..")