[topicmapmail] general questions about XTM

Lars Marius Garshol larsga@ontopia.net
Mon, 03 Jan 2005 12:02:48 +0100


* Frank Clar
|  
| Do any inference engines exist, that support XTM? 

The first thing to say to this is that XTM is not topic maps. XTM is
just one of several syntaxes for topic maps. (The standard one, and
thus the most important one, admittedly, but still just another
syntax.) Topic maps are something else.

As far as I know, no existing logical inference engine has added
support for topic maps, but there are some ways to get inferencing
anyway. The tolog query language can do logical inferencing using an
approach similar to Datalog, and there are at least two
implementations of this. (TM4J and the OKS.)

| And is XTM completely decidable?

Here I think it's important to point out that topic maps were never
primarily intended for logical inferencing. Originally they were
intended to be a very advanced information retrieval aid, and although
their usage area has since expanded dramatically it means that logical
inferencing is just one of many things you can do with topic maps.

Also, it's not clear what it means for topic maps to be decidable,
since topic maps provide very few licensed inferences. About the only
ones are those provided by the class-instance and superclass-subclass
association types.
  
| What different kinds of syntax does XTM support apart from the XML
| Syntax? 

I guess you mean to ask what other syntaxes for topic maps exist
besides XTM? The main ones are:

  LTM     <URL: http://www.ontopia.net/topicmaps/ltm.html >
  AsTMa=  <URL: http://astma.it.bond.edu.au/ >
  HyTM    (the original topic map syntax; now defunct)

| And is it possible to map it to UML? 

It's possible, but non-trivial. I've done some work on this that was
never published (the conference wouldn't have the paper :-), including
writing an XMI->TM converter script that was used in a project for
communicating the TM model to a customer.

| How do I declare an ontology as a separate resource and describe the
| ontology itself with metadata (e.g. version information)? 

The ontology is a subject, in topic map terms, and so you create a
topic for it, and this allows you to attach names, properties,
resources, and relationships to express whatever you like. If you
consider the ontology to be an information resource (e.g. a file) you
can do it like this:

  <topic id="the-ontology">
    <subjectIdentity>
      <resourceRef xlink:href="file://the-ontology.xtm"/>
    </subjectIdentity>
    <baseName>
      <baseNameString>The ontology</baseNameString>
    ...

| It is just possible to create a topic map with class topics and
| merge it with another topic map, which consists only of instance
| topics.

Yes, this is perfectly possible. You can do it using PSIs, or you can
do it using <topicRef>s from the instance TM into the class TM.

| Normally you cannot differentiate between a schema layer and
| instance layer in XTM.

Yes and no. You can differentiate in the sense that you know which
topics belong to which layer (by seeing whether they are classes or
instances), but it's true that the differentiation is not built-in.
  
| How can I express the equivalence between class- respectively
| instance-topics or -associations?

Expressing equivalence between classes (or instances) is best done
either by merging them (if you think they are the same thing) or using
an is-equivalent association type (if you think they are distinct, but
equivalent).

For associations the same applies, though you'll need to use
reification to create associations between associations.

| Can I add comments to a single topic or association?

Yes. The most obvious way is to use an internal occurrence of type
"comment". For associations you'll need to use reification to attach
the occurrence.
  
| Is it possible to express a kind of class variable (association),
| which has one single value for the class?

I'm not sure I know what you mean by this. Could you explain?

| Can I express that an association class is transitive?

There is no predefined topic for this, but you can create your own.
  
| With XTM I cannot express domain or range constraints? Therefore
| TMCL?

Correct. :-)

| Or can I add roles in form of a topic class to an association class,
| which should express pretty much the same thing?

You could do that, and yes, it would be pretty much the same thing.
I've done this myself to create a simple generic ontology-driven topic
map editor, and it works quite well. Eventually TMCL will take this
over, though.
  
| Do statements like in RDF exist in XTM as well [...]

Briefly: they do, but they are broken up in to different kinds of
statements (name statements, occurrence statements, and association
statements). 

You can find a longer answer here:
  <URL: http://www.ontopia.net/topicmaps/materials/tmrdf.html#sect-assertions >

| [...] and is it possible to add metadata to these statements?

Yes. You can reify the topic map constructs (without causing a 5-fold
data bloat) and say whatever you like about them.

-- 
Lars Marius Garshol, Ontopian         <URL: http://www.ontopia.net >
GSM: +47 98 21 55 50                  <URL: http://www.garshol.priv.no >