Re: Reflections on SUO-KIF Ontology
David,
Here's my take on these issues:
At 12:35 PM 8/3/2000 -0700, David Whitten wrote:
My apologies to the group for sending a copy
of Robert Kent's message
to the whole group. I was attempting to send a copy only to him,
asking about the URL that he quoted, since I had problems getting
to that page.
Since I'm sending a message of apology, I thought it would be
useful to summarize the questions I raised in my previous
mail message. I'd like to see some discussion on the group
because I see that they will shape some of our efforts.
1) Do we want to have the vocabulary of KIF (or whatever
notation we use to express the SUO) in the ontology ?
It seems that this could be useful, but would need some kind of
semantics similar to Kripke's language and cascading metalanguages.
I think it would be good to have the vocabulary be part of the
ontology.
2) Will we have an element such as
"Thing" or "top" as the uppermost
element in the ontology ?
I think that's a good idea. Occasionally, in specifying the types
of arguments, there is no "lower" class in the ontology which
is appropriate.
3) Do we want to update the BNF at
http://ltsc.ieee.org/suo/suo-kif.html
to include the syntax:
(forall ((?ANY !Class)) ...)
I think this is unnecessary and complicates the syntax somewhat. We
could simply have (forall (?ANY) (and (instance-of ?ANY Class)...).
I've taken the liberty of deleting the confusing section of 6.3 of the
SUO-KIF to make the document consistent.
4) Do we want me make a distinction between
being a
member of a set and being an instance of a collection?
This distinction does exist in the Upper Cyc Ontology.
The argument in a nutshell is that a #$SetOrCollection
would have subclasses, one for #$Set-Mathematical,
which has no restrictions on membership, and the
other #$Collection which requires that all members
are of the same 'kind'.
I seem to recall hearing that Cycorp had some fairly long internal
debates about this issue. I may be mistaken but I think the
ultimate conclusion on this issue was that there was no practical
distinction between their interpretation of sets and collections.
The artifacts in the ontology may be simply historical. However,
I'm not sure about this recollection so it deserves further
comment.
5) If a relation R for argument n has
(nth-domain n R Class) or
statements defined, should we either include the
(instance-of ArgN ClassN) statements in implications ?
or use (forall ((?ArgN ClassN)) ... syntax ?
The advantage to doing so is that it clarifies
the statements for an new reader and it makes
explicit information that is not quickly available.
It is not logically necessary, because any statement
in a knowledge base must pass these argument restrictions
before being incorporated into the knowledge base.
I prefer the former option on the basis of keeping the language syntax as
minimal as possible.
6) What is the status of the simple axioms
defining
the meaning of numbers and strings ?
I think we need discussion and concrete proposals for these items.
We might start with what was proposed for KIF 3.0
7) Do we want to support predicates with a
variable
number of arguments?
I haven't found this to be necessary although it can be convenient.
8) How do we want to handle statements
that
refer to other statements ?
I like the CycL approach of simply defining a type for logical
expressions and specifying that type for arguments of predicates that
refer to expressions.
9) Are we going to have explicit quoting in
the syntax
for the SUO, or do we want to define this as part
of the arguments restrictions for a relation ?
I'd prefer the second option.
10) Do we want relations that explicitly refer
to
well formedness or the truth value of an Assertion ?
It can be helpful to have an explicit "evaluate" function but
that has to be defined with great care. It could become a hack for
including all sorts of procedural things into the language.
Just my two cents,
Adam
David (whitten@netcom.com)
-----------------
Adam Pease
Teknowledge
(650) 424-0500 x571