Re: incomplete translations "Cheng Hian GOH" <chgoh@MIT.EDU>
Subject: Re: incomplete translations
In-reply-to: Your message of Fri, 20 May 94 10:19:15 -0800.
Date: Fri, 20 May 94 16:35:54 EDT
From: "Cheng Hian GOH" <chgoh@MIT.EDU>
> existing system. If you can send me a small KB together with
> a few examples of inferences you want to extract from it, we will
> take a look and let you know whether or not we see a way to make
> things work. Phrasing in Loom is easiest, but we do know how
> to read an Ontolingua spec.
Thanks for the offer; I can certainly use some help! I have started this
investigation by trying to get Standard-Units-and-Measures (from Gruber et al)
to work. When I realize that it cannot be done, I have began writing a similar
(not identical) version in LOOM. Below is a fragment of it (you have to forgive
the amatuerish code, I've not spent as much time on it as I would like to).
"A quantity which is a standard of measurement such as meters, seconds..."
"A Physical-Dimension is a property we associate with Physical-Quantities forpurpose of classification or differentiation"
"A measure of a quantity of some physical dimension"
"This relation maps units-of-measure to their physical dimensions."
:is-primitive (:and (:domain Unit-Of-Measure)
"This relation maps physical quantities to their unit of measures"
:is-primitive (:and (:domain Physical-Quantity)
"Two physical quantities are compatible if their Unit-of-Measure are also comp
:is (:and (:domain Physical-Quantity)
(:satisfies (?X ?Y) (Compatible-Units (Unit ?X) (Unit ?Y)))))
"Two units are compatible if they belong to the same Physical Dimension"
:is (:and (:domain Unit-Of-Measure)
(:satisfies (?X ?Y) (= (Dimension ?X) (Dimension ?Y)))))
(tellm (Unit-of-Measure Hour) (Dimension Hour Time-Dimension))
(tellm (Unit-of-Measure Minute) (Dimension Minute Time-Dimension))
(tellm (Unit-of-Measure Second) (Dimension Second Time-Dimension))
This small kb allows me to determine things like Minutes and Seconds are
"Compatible-Units" which is great. However, I will like to do things like define
certain axioms between things. In the Ontolingua ontologies, we could say
(= Second (* Minute 60))
(= Minute (* Hour 60))
or something to that effect (depending on how you parse it), then infer that
(= Second (* Hour 3600))
I'm sure there is a way to do this in LOOM. I probably could hack around it if I
had know LOOM better, but a more elegant way might be to provide a set of
bootstrap ontologies just as Ontolingua had, defining certain abstract algebra
operations which can be used over and over again. (Or maybe there is a real easy
way to do it which I do not know of, then I'm really making a fool of myself