[sc34wg3] Subjects, role players, and user-defined association types

Martin Bryan sc34wg3@isotopicmaps.org
Mon, 6 Jan 2003 09:04:25 -0000


Now Lars, surely you expect me to bite when you responded to Sam's

> | (I see an assertion type that is called topic-facet, and the facet
> | role player needs to be a name/value pair. There is also an asertion
> | type called facet-notation. But the devil is in the
> | details... THere's the constraint of "pair-ness" on the facet role
> | player, and the constraint of "notation-ness" on the notation
> | role-player, and I don't know how to exrepss either of those. I
> | havne't thought abnout it hard enoguh, I assume).

with
>
> I wouldn't go there. We don't need facets. We've got topics and
> associations, and that's all we need for this.

Given your following set of e-mails with Conal Tuohy on transitivity,
reflexivity, etc, I would have thought that even you could see that these
constraints need to be recorded as facets of topics and their components,
and not by always inventing new topics and associations that just control
one or two minor aspects of topic map navigation.

Sam's proposal is in many ways right, in that assertions that link topics to
facets are required and that the facet role player needs to "point to"
(rather than be) a name value pair (which is a separate, reusable assertion
whose assertion type instance is the thing that need to be pointed to). For
example, I might want to say that a particular base name is valid in English
and French by using the proper XML statement xml:lang="en fr". This would
create two name/value assertions,  xml:lang<-->en and xml:lang<-->fr with
the assertion type of valid-in-language which the base name object would
then point using two basename-facet assertions. (OK, I know you are all
going to say I should not follow the W3C rules for defining language, and
should do name language specification using separate topics and
associations, but I'm supposed to promote the proper use of existing
standards before inventing new ones!) Sam, the reason why I suggest having
separate assertions for the facets rather than three nodes on the
association is that I want to be able to identify all places where the
xml:lang<-->en pairing applies, which I can do more easily if I define the
thing once and then resuse it. In other words, I want to do a merge based on
facets!

Martin Bryan