[sc34wg3] Re: FYI: Yet another TMRM Formalization (well, not really)
Jan Algermissen
sc34wg3@isotopicmaps.org
Wed, 14 Jul 2004 14:13:59 +0200
Robert Barta wrote:
>
> On Wed, Jul 14, 2004 at 07:24:08PM +1000, Robert Barta wrote:
> > Hi all,
> >
> > FYI, this is our current working paper here to capture "the essence of
> > TMs".
Robert,
some comments/questions based on a short read:
1.1:
- Do you mean that Tau has two elements, the set of names and the set of literals
or that Tau is the union of them?
- Are the predefined identifiers (id, instance, class, superclass subclass)
names or literals or a third kind?
- In assume that all names come from a single namespace, right? What about the
literals? If you use literals for the purpose of identity, all literals
must also come from a single namespace, or they must carry around with them
an implicit namespace. OTH, you say they don't, they are just numbers or
quoted strings. So, how does "grroop" provide identity?
- You say N is a collection, so can the same name be contained in N twice?
What are the implications for Tau?
- This is pretty close to RDF (single namespace for names (URIs) plus literals)
OTH, RDF combines literals with domains to enable them to provide idetity.
- Why are the names in a special collection they are also just literals, or?
1.3:
- You write that "we do not want to build in any particular merging rules into
our model at this stage,..."
You are proposing an assertion model that allows a single role to be played
more than once (which is the only difference from the TMRM assertion model)
and while this seems fine now[1] I promise you that the problems will
immediately arise when you try to *implement* merging (which requires to
detect assertion equality, which is hard to do efficiently in the case of
multiple role players[2]).
I suggest to never set merging aside 'for the beginning'. I did this 3 or 4
times only to find out my mistakes when I started to implement merging
in the end!
In general:
- I think the issues around merging and values (literals), and how to
query for certain values are much more important than the assertion
structure. How do you implement: "give me all literals which are
numeric and > 4487" without a complete scan of all literals?
If literals are not typed, access paths (indexes) cannot be implemented
(besides hasing).
I really urge us not to ignore all the research that has been done in
the RDBMS world for decades.
- Interestingly, what you describe is an *Application* of the RM. You
define (although implicitly) a set of properties and a certain
assertion structure (also only a set of properties as in the
assertion structire propsed by the RM). In essence, you defnine
a TMA (and operations on the properties provided by this TMA).
While you say "with a faint similarity with TMRM", let me
clarify that the purpose of the RM is to provide a means to
express TMAs (such as yours, or the TMDM) and to enable
interoperability between them. In fact, the RM enables you
to write a mapping TMA between yours and the TMDM.
Rather simplified you can also put it that way: The RM enables
the definition of TM schemas and your paper defines such a
schema, just not in RM language (in essence: TMA == Schema).
I hope this clarifies matters a bit. If my language sounds too
offensive, please take my apologies, I do not mean to sound rude.
I maybe just got carried away by the issues.
Jan
[1] I find multiple role players very questionable, because IMHO the
itentity of a role is based on the context that the other roles
provide[3]. If a role may be played multiple times, what is its
meaning? Is the number of times actually limited (as in the
case of relationships such as 'opposite') and how do you express
that....
See also [4] on this.
[2] If roles are only played once, you can directly compare ordered
assertions to check equality, for example.
[3] http://www.infoloom.com/pipermail/topicmapmail/2002q1/003566.html
[4] http://www.isotopicmaps.org/pipermail/sc34wg3/2003-April/001767.html
--
Jan Algermissen http://www.topicmapping.com
Consultant & Programmer http://www.gooseworks.org