[sc34wg3] Mathematical Expression of Reference Model
Jan Algermissen
sc34wg3@isotopicmaps.org
Mon, 15 Apr 2002 21:39:36 +0200
Bernard Vatant wrote:
>
> I've tried to express the objects and constraints in the Reference Model using simple
> mathematical vocabulary : no hypergraphs nor hyperedges, only basic stuff like sets,
> functions, domains and ranges.
Bernard--
this is a very, very interesting approach to the reference model. It looks like a base
for applying set theory to topic maps. Also, it may help to make certain aspects of th dRM
very explicit and clear.
I am quoting your paper here and put my comments inline:
---------------------------------------------------------
A topic map is defined as a set, called T, with the
following properties.
(P1) Every element of T is called a topic.
(P2) C, A, R and P are disjoint subsets of T
<comment>
From a philosophical standpoint this makes sense
(e.g. no assertion can be a pattern) but as far
as I know dRM makes no such restrictions (yet).
I think that P2 is a very simple formalism for the
'connection rules' mentioned in dRM: "There are
rules regarding the combinations of arc endpoints
as which a given node can serve,..."
[Is this assumption correct, Steve ?]
P1 and P2 are a very nice way of expressing the
fact that dRM does not use typed nodes, but that
nodes belong to certain 'categories', depending on
the types of arcs they are endpoints of.
</comment>
That means any element of T belongs to no more that one
of those subsets (Note that some topics may belong to
neither of those subsets).
<comment>
I wonder what the 'meaning' of this set of topics
is that are neither elements of A,R,P or C.
</comment>
An element of C is called a "casting-topic".
An element of A is called an "assertion-topic".
An element of R is called a "role-topic".
An element of P is called a "pattern-topic".
(P3) Ca, Ct [you mean Cx, right ?], Cr and Ap are
functions, of which domain and range are subsets
of T.
<comment>
This is very good! You provide a formalism for
traversals using set theory. The functions allow
one to say: "start at a set of seed nodes and
traverse a certain arc. The set of nodes that are
'reached' that way is the result set of the
traversal. 'traverse a certain arc' maps to your
functions, e.g. "apply Ca to every topic in the
seed set".
[BTW: The query language of the GooseWorks Toolkit
works exactly this way. ;-) ]
I suggest that you add functions for the opposite
'direction' too:
AC, xC, RC and PA
</comment>
Domains and ranges of each function are specified in
the following table.
[...table snipped..]
Below is expanded explanation for each function's
domain and range.
Ca links every "casting-topic" to exactly one
"assertion-topic". Every assertion-topic is the
image of at least one casting-topic (generally more)
Cx links every "casting-topic" to exactly one topic,
called the "role-player". Any topic can be a
role-player, but some of them might not be. That's why
the range is only a subset of T
Cr links each "casting-topic" in its domain to exactly
one "role-topic". Every role-topic is the image of at
least one casting-topic (generally more). A
"casting-topic" with no specified role does not
belongs to the domain of Cr. If the domain of Cr is C,
every casting has a specified role.
Ap links each "assertion-topic" in its domain to
exactly one "pattern-topic". Every pattern-topic is
the image of at least one assertion-topic (generally
more) An "assertion-topic" with no specified pattern
does not belongs to the domain of Ap. If the domain of
Ap is A, every assertion has a specified pattern.
<comment>
set theory makes it easy to 'explain' dRM ;-)
</comment>
The following properties are an attempt to describe the
notions of assertion graphs and patterns:
(P4) For every element a of A is defined a subset Ga of
T, called the assertion-graph of a.
Ga = { a , ci , xi } such as i belongs to a
finite set I, and for every i in I : a = Ca ( ci )
and xi = Cx ( ci ). {xi} is the set of
role-players of the assertion graph.
<comment>
Also, very good, you provide a formal explanation
of what an assertion is.
Is there I reason why you did not include the
Pattern and the roles ?
Doing so would enable use to say that a topic map
is the union of all its assertion subgraphs (Ga)
</comment>
(P5) An assertion-pattern is an element ap of A,
of which the assertion-graph contains exactly one
role-player which belongs to P, whereas the other
role-players belong to R.
<comment>
Hhmm, you seem to say here that the connection
between an assertion topic (A) and its pattern (P)
is 'labeled' by a role ???
It's not! The patterns of assertions are not
role-players (in the assertion they do pattern),
they are just connected to them via AP arcs.
Also, I think that topics 'become' patterns
(elements of P ;-) by playing the dRM predefined
role 'role-pattern' in a
"assertionPattern-role-rolePlayerConstraints" assertion!
That means thet there CAN be patterns that are not connected
to an assertin via an AP arc! Steve, am I correct here ?
</comment>
(P6) Assertion-pattern consistency rule:
If p = Ap ( a ) and a = Ca ( c ) and r = Cr ( c )
then p and r belong to the assertion-graph of the
same assertion-pattern
<comment>
I wonder how many other usefull statements there
are!
</comment>
[figure snipped]
Thank you for this work, Bernard!
Jan
--
Jan Algermissen
Consultant & Programmer
Mobil: 0177 / 283 1440
www: http://www.topicmapping.com