[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