[topicmapmail] Re: Re: Re: Topic map design guidelines? (Jan Algermissen) (Lars Marius Garshol)

Johannes Busse busse@ews.uni-heidelberg.de
Fri, 23 Jul 2004 13:18:25 +0200


Am Donnerstag, 22. Juli 2004 09:57 schrieb topicmapmail-request@infoloom.co=
m:

> | more abstractly the main question is:
> | - Is it a good design to chain roles and assocs
> | =C2=A0 rather to such an extend, that your prediction will be sucessful?
> ...
> I don't understand this question. Can you explain?

Sorry for my poor english. In fact there are two quite different
questions:

=2D QUESTION 1: Do you work with "formal" roles or "material" roles:

  + Do you make use of roles solely as formal names to distinguish
    the first and second (and third ...) member of a relation?

    Then all assocs of the same type would be similar to a relational=20
    database table, where the roles are similar to the headers
    of the tables. This is what your example suggests:

    > =C2=A0 parenthood(a : child, b : mother, c : father)
    > =C2=A0 marriage(b : wife, c : husband)

    In an relational database model the assoc parenthood
    would be a table with the three colums a, b and c.

      a            | b            | c
    -------------+--------------+---------
    ClaraSchumann| RobertSchuman| BabyDoll



  + Or do you make use of roles also to=20
     model parts of a domain?

    > =C2=A0 relatives(mother: ClaraSchumann;=20
                  father: RobertSchumann;=20
                  child:  BabyDoll)=20
    > =C2=A0 relatives(wife: ClaraSchumann;=20
                  husband: RobertSchumann)

    In this case the relational model would consist of *six*
    columns:

    a-role | a-roleplayer | b-role | b-roleplayer | c-role | c-roleplayer
    -------+--------------+--------+--------------+--------+-------------
    mother | ClaraSchumann| father | RobertSchuman| child  | BabyDoll

    (note: this would be a quite poor database design, but we don't
    want to care of that here).


I have diskussed this question 1 sveral month ago in this list; the
answer was that the second modelling sceme is valid according to the
XMT-Standard too.=20

Therefore we come to question 2:

=2D QUESTION 2: Iff you work with "material" roles: Which=20
  *functional dependency* (a term adoptable
  from relational database technology) between roles and=20
  association types indicate a good design? There are several
  possible functional dependencies:

  + (1) Once you know the role a topic plays
    you can functionally determine the type of the association

  + (2) Once you know the assoc type you can functionally
    determine the two or three topics, which play roles
    within this association.

  + (3) There is no functional dependency between=20
    roles and assoc types

  (1) and (2) can apply at the same time; (3) is the counterdraft
  of (1) and (2).

  (note: if you would work with formal roles as above there
  holds a functional dependency assocType -> {a,b,c}
  for all ternary associations, whis is not a very interesting
  information al all. But remember, we do not talk about formal
  roles here)

What we do need for my opinion is something like
entity-relationship-diagrams for XTM-Design.=20



herzliche Gr=C3=BC=C3=9Fe
Johannes Busse
=2D-
Dr. Johannes Busse,  Erziehungswiss. Seminar,  Univ.Heidelberg
Akademiestr.3, 69117 HD  |  Kellereigasse 3, 69 526 Ladenburg=20
tel 06221 / 54-7531      |  tel 06203 / 95 35 83
http://www.jbusse.de        mailto:busse@ews.uni-heidelberg.de