[topicmapmail] basics II - Inheritance in Topic Maps

Robert Barta rho@bigpond.net.au
Wed, 04 Jun 2003 08:01:38 +1000


On Tue, Jun 03, 2003 at 02:09:44PM +0100, Murray Altheim wrote:
> .......................................... I've been recently reading
> a little of Robert Brandom ("Articulating Reasons"), and I agree with
> his basic pragmatic premise that it is language that defines thinking,
> not the other way around.............................................

This premise is - if remember correctly - supported by the 'evolutionary
cognition theory' (Evolutionaere Erkenntnistheorie). According to them
we are thinking patterns into this world and test them for appropriateness.

> ..... By this reasoning, there may be as many ontological expressions
> as there are people; by definition this would seem to be the case.

And one of the tests is whether communication is still possible.

But communication is often NOT necessary, or only in a very limited
community: Not many people will understand the abstractions involved
in proving 'Fermat's last theorem'.

> .............................I'll have to look again at AsTMa!  I'm
> particularly interested in expressing my ontologies in XTM syntax,
> which (to my way of thinking) would mean that the "ontology toolkit"
> would be delivered as a collection of PSI sets/modules and a tutorial
> on how to use them in constructing ontologies.

Of course any AsTMa! expression (a statement) can be serialized in

  (a) XML syntax (for the "<> lovers"), or
  (b) in XTM

It is simply a matter of practicality whether I write 4 lines or 40.
A simple statement like "all lawyers are trustworthy" in AsTMa!

   forall [ $a (lawyer) ]
     => exists [ $a (trustworthy-person) ]

would be translated into adhoc XTMish:

<topicMap ...

<topic id="x12345">
   <instanceOf>
      <topicRef xlink:href="#lawyer"/>
      <topicRef xlink:href="psi:astma-pattern"/>
   </instanceOf>
</topic>

<topic id="x12346">
   <instanceOf>
      <topicRef xlink:href="#trustworthy-person"/>
      <topicRef xlink:href="psi:astma-pattern"/>
   </instanceOf>
</topic>

<association>
   <instanceOf>
      <topicRef xlink:href="psi:astma-expression"/>
   </instanceOf>
   <member>
      <roleSpec>
         <topicRef xlink:href="psi:forall-clause"/>
      </roleSpec>
      <topicRef xlink:href="#c1234"/>
   </member>
   <member> 
      <roleSpec>
         <topicRef xlink:href="psi:rest-clause"/>
      </roleSpec>
      <topicRef xlink:href="#c1235"/>
   </member>
   <!-- shared variables would have to be defined as topics -->
</association>

<topic id="c1234">
   <!-- reifies association where x12345  plays a role -->
</topic>

<topic id="c1235">
   <!-- drills down the syntax tree -->
</topic>

<!-- a VERY good point to give up :-) -->

</topicMap>

Such monster code would be only popular among Java and Forth
programmers ;-} [ Har har, evil laughter fading ... ]

It is similar but not so bad for pure XML as I can hide the semantics
in the tags.

\rho