[tmql-wg] Re: [topicmapmail] AsTMa! as TMCL

Robert Barta rho@bigpond.net.au
Fri, 27 Dec 2002 17:41:34 +1000


On Sun, Dec 15, 2002 at 05:39:32PM +0100, Lars Marius Garshol wrote:
> * Kal Ahmed
> | 
> | That sounds like it might be a good basis to start from with
> | constraining topics by class.
> 
> Having worked with OSL for a while I'd say that for a first attempt
> it's pretty good, but it needs more work. I'll be happy to produce a
> "what's wrong with OSL" analysis, if anyone's interested, though it
> will take some time.

It does not need to be extremely thorough, phrases/ideas is enough.
I also keep some open issues with AsTMa! It may be helpful when
merging features.

> | There is a problem here that in the absence of a fixed set of
> | classes, no implementation will ever be able to detect all possible
> | constraint conflicts at "compile" time in any meaningful way -
> | conflicts could only be detected at the time that the topic map
> | containing the class instances is presented.
> 
> That's true, but I think in the environments people have now you
> usually do have a fixed set of classes. I think we'll pretty soon be
> at a point where when you merge topic maps you also merge their
> schemas and you'll always have a fixed set of classes.

Ah, the closed world issue.

I fear 'merging' of schemas/constraints/ontologies could be an interesting
issue (depends how expressive TMCL is). If you take a map M which
validates against a constraint C, C |= M, and merge it with another
map M', C' |= M', what is your expectation what the merged map M + M'
will validate against?

I would assume that M + M' validates against C AND C':

   C ^ C' |= M + M'

If the constraint language simply lists types, then the ^ might
be simple. If you have first order logic (and most modern ontology
languages have this in some form), then....

> | Something to think about over the christmas dinner perhaps ;-)
> 
> Huh? I very much doubt I'll be considering any more complicated issues
> than whether to have red or white sauerkraut with my sausages during
> that dinner. :)

white-sauerkraut subclasses sauerkraut

red-sauerkraut subclasses sauerkraut

forall $m [ (meal) ]
   => exists $m [ (meal)
                  meat : sausages
                  addon: $k ]
      and
      exists [ $k subclasses sauerkraut ]

\:-)))))))rho