[topicmapmail] LTM 1.3 Change Proposal
Murray Altheim
m.altheim@open.ac.uk
Sat, 18 Dec 2004 12:59:42 +0000
Knud Möller wrote:
> Hi all,
>
> Am 17.12.2004 um 20:41 schrieb Murray Altheim:
>
>>...
>>With the release of Ceryle recently the presence of its variant
>>syntax on LTM 1.2 might be noted as a proposal for 1.3 (I think
>>I've mentioned this one before). It's a simple additional shorthand
>>to mirror the colon (':') character, only to perform this for the
>>XTM 1.0 superclass-subclass association using a semicolon (';')
>>character, e.g.:
>>
>> [human ; mammal]
>>
>>meaning 'human' is a subclass of the superclass 'mammal'.
>
> hm, just a quick thought on the readability of this syntax: colon and
> semicolon look so much alike, that I don't think it's a good idea to
> use them in complementary distribution. Not only do they look almost
> the same, but they are also located right next to each other on the
> keyboard (well, that depends on the locale...), making this syntax
> prone to typos. Wouldn't an easier distinguishable character (e.g. '<')
> make life easier?
Knud,
While they are similar, people writing regular natural language
text are able to discern the difference without difficulty, and
writing LTM-based Topic Maps requires considerably more care.
If someone is dyslexic, there's not much help for them by changing
a character here or there. If we're talking about mistakes, there's
many places in the syntax (or any similar syntax) where this could
occur. The '<' character is XML markup, and I think Lars Marius has
been wise to avoid using characters that would make it difficult
to embed LTM in XML, XHTML or HTML documents.
> Apart from that, I would say a shorthand for superclass-subclass is a
> great idea.
Well, it's certainly been a necessary addition for me. I don't have
the statistics handy, but the large majority of relations in my own
ontologies are tree hierarchies that use superclass-subclass. I
would guess that is not uncommon. Cyc is predominantly a tree as well.
I note that Kal has developed some additional PSIs for type hierarchies
that have a more specific definition than the one in XTM 1.0, but for
my purposes and requirements I kinda prefer both the ubiquity of using
XTM's existing association, and frankly am not so concerned with the
logical precision of the difference. My users (who are not ontological
engineers) certainly won't know or care about the difference. It's more
a matter of simply choosing a word and using it, just like in natural
language.
I look at the similarity in several ways: first, as a benefit, since
they do roughly the same thing, i.e., express a relationship between
the current Topic and its "parent," whether that be a class or a
superclass. Secondly, we've already used up much of the punctuation
available without resorting to truly odd choices. Other characters
are either too hard to type or are part of the set of name characters
and could be construed as the beginning of a name token. Or, as I
mentioned above, a character that might cause other problems.
Thirdly, I've got a substantial number of files I'm not interested
in modifying for what might be considered an aesthetic judgement.
Not that I expect anyone but me to have this issue, but currently
I'm also the only person using this shortcut, so I'm the only person
with legacy data.
Put it this way: I've been writing LTM files with this shortcut
for about two years and haven't had a problem with ':' and ';' being
similar. It's usually more difficult for people (if you read the
research literature) to know whether to use class-instance vs.
superclass-subclass than I expect it would be to type the correct
character.
To give you an idea of the world we (thank god) don't have to live
in with LTM, the following was posted to the Conceptual Graphs
mailing list a few days ago, and is a way of expressing the English
sentence "Three young guys sit at a table with hamburgers.":
> %--------------------------------------------------------------------------
> % File : NLP028+1 : TPTP v2.6.0. Released v2.4.0.
> % Domain : Natural Language Processing
> % Problem : Three young guys, problem 3
> % Version : [Bos00b] axioms.
> % English : Eliminating logically equivalent interpretations in the
> statement
> % "Three young guys sit at a table with hamburgers."
>
> % Refs : [Bos00a] Bos (2000), DORIS: Discourse Oriented Representation
> a
> % [Bos00b] Bos (2000), Applied Theorem Proving - Natural
> Language
> % Source : [Bos00b]
> % Names : doris005 [Bos00b]
>
> % Status : satisfiable
> % Rating : 0.83 v2.6.0, 0.75 v2.5.0, 0.67 v2.4.0
> % Syntax : Number of formulae : 1 ( 0 unit)
> % Number of atoms : 72 ( 0 equality)
> % Maximal formula depth : 22 ( 22 average)
> % Number of connectives : 73 ( 2 ~ ; 0 |; 53 &)
> % ( 0 <=>; 18 =>; 0 <=)
> % ( 0 <~>; 0 ~|; 0 ~&)
> % Number of predicates : 14 ( 0 propositional; 1-3 arity)
> % Number of functors : 0 ( 0 constant; --- arity)
> % Number of variables : 36 ( 0 singleton; 16 !; 20 ?)
> % Maximal term depth : 1 ( 1 average)
>
> % Comments :
> %--------------------------------------------------------------------------
> input_formula(co1,conjecture,(
> ~ ~ ( ( ? [U] :
> ( actual_world(U)
> & ? [V,W] :
> ( table(U,V)
> & ! [X] :
> ( member(U,X,W)
> => ? [Y] :
> ( ! [Z] :
> ( member(U,Z,Y)
> => ? [X1] :
> ( event(U,X1)
> & agent(U,X1,X)
> & present(U,X1)
> & sit(U,X1)
> & at(U,X1,V)
> & with(U,X1,Z) ) )
> & group(U,Y)
> & ! [X2] :
> ( member(U,X2,Y)
> => hamburger(U,X2) ) ) )
> & three(U,W)
> & group(U,W)
> & ! [X3] :
> ( member(U,X3,W)
> => ( guy(U,X3)
> & young(U,X3) ) ) ) )
> => ? [X4] :
> ( actual_world(X4)
> & ? [X5,X6] :
> ( table(X4,X5)
> & ! [X7] :
> ( member(X4,X7,X6)
> => ? [X8] :
> ( ! [X9] :
> ( member(X4,X9,X8)
> => ? [X10] :
> ( event(X4,X10)
> & agent(X4,X10,X9)
> & present(X4,X10)
> & sit(X4,X10)
> & at(X4,X10,X5)
> & with(X4,X10,X7) ) )
> & three(X4,X8)
> & group(X4,X8)
> & ! [X11] :
> ( member(X4,X11,X8)
> => ( guy(X4,X11)
> & young(X4,X11) ) ) ) )
> & group(X4,X6)
> & ! [X12] :
> ( member(X4,X12,X6)
> => hamburger(X4,X12) ) ) ) )
> & ( ? [X4] :
> ( actual_world(X4)
> & ? [X5,X6] :
> ( table(X4,X5)
> & ! [X7] :
> ( member(X4,X7,X6)
> => ? [X8] :
> ( ! [X9] :
> ( member(X4,X9,X8)
> => ? [X10] :
> ( event(X4,X10)
> & agent(X4,X10,X9)
> & present(X4,X10)
> & sit(X4,X10)
> & at(X4,X10,X5)
> & with(X4,X10,X7) ) )
> & three(X4,X8)
> & group(X4,X8)
> & ! [X11] :
> ( member(X4,X11,X8)
> => ( guy(X4,X11)
> & young(X4,X11) ) ) ) )
> & group(X4,X6)
> & ! [X12] :
> ( member(X4,X12,X6)
> => hamburger(X4,X12) ) ) )
> => ? [U] :
> ( actual_world(U)
> & ? [V,W] :
> ( table(U,V)
> & ! [X] :
> ( member(U,X,W)
> => ? [Y] :
> ( ! [Z] :
> ( member(U,Z,Y)
> => ? [X1] :
> ( event(U,X1)
> & agent(U,X1,X)
> & present(U,X1)
> & sit(U,X1)
> & at(U,X1,V)
> & with(U,X1,Z) ) )
> & group(U,Y)
> & ! [X2] :
> ( member(U,X2,Y)
> => hamburger(U,X2) ) ) )
> & three(U,W)
> & group(U,W)
> & ! [X3] :
> ( member(U,X3,W)
> => ( guy(U,X3)
> & young(U,X3) ) ) ) ) ) ) )).
> %--------------------------------------------------------------------------
And yes, this is likely hand-entered. I know in our lab the
people using OCML (a LISP variant) write their ontologies in
a text editor.
The English statement is: "Three young guys sit at a table with
hamburgers." In LTM we would have to have be able to support
quantification, predicates, and perhaps even mereotopology, but
that's all doable (I've got most of that in Ceryle's ontology).
While I don't have the time or inclination to write up an LTM
version of the above, it wouldn't look either much different or
a lot more or less complicated. You need a certain level of
complexity to make complex statements, and the number of things
a single natural language statement actually expresses is pretty
high, actually. Our minds do a *lot* of work, and make a lot of
assumptions. We make errors too.
Of course, it's all just syntax, whether expressed in a LISP-like
syntax or LTM/XTM-based syntax. It remains an exercise to the
reader (I always like saying that) to actually hook the results
of the parser up to a suitable processing engine in order to
perform machine reasoning. But there's nothing stopping anyone,
either.
Murray
......................................................................
Murray Altheim http://kmi.open.ac.uk/people/murray/
Knowledge Media Institute
The Open University, Milton Keynes, Bucks, MK7 6AA, UK .
Empty handed, holding a hoe,
Walking, riding a water buffalo,
A man is crossing over a bridge;
The bridge, not the water, flows.
-- Mahasattva Fu, The Blue Cliff Record [96]