[sc34wg3] Draft Reference Model

Lars Marius Garshol sc34wg3@isotopicmaps.org
19 Nov 2002 00:23:08 +0100

* Steven R. Newcomb
| [...] The Reference Model is intended to help us communicate with
| each other very clearly about what each of us thinks the SAM really
| should be, so that when consensus is achieved, the intent of the
| consensus, as expressed, cannot be misinterpreted by any of us.  The
| RM4TM provides a discipline that requires every SAM design decision
| to be documented from several perspectives.  (I hope everybody feels
| that that's a good and valuable thing.  Personally, I think it's
| essential.)

I agree that the additional viewpoint provided by the RM is valuable
and useful.

| We've had numerous discussions about this, and the
| following viewpoint has (so far, anyway) prevailed
| consistently:
|   A relationship *type* that has only one possible
|   membership isn't a type of relationship at all.  In
|   an instance of such a relationship type, nothing can
|   have a relationship with anything else, by
|   definition, so it's not a relationship.

Huh? Does this mean that the

  borders-with(norway : neighbour, sweden : neighbour)

relationship is not a relationship according to the RM? Or do I
misinterpret you?
* Bernard Vatant
| That means role type is mandatory. I'm very happy with that, vs
| <roleSpec> being optional in XTM 1.0.  OTOH assertion type is still
| optional ...
* Steven R. Newcomb
| Yes.  The syntax doesn't necessarily have to change, however.  There
| are several ways to handle this, and we should consider all of them
| carefully.  For example, the Syntax Processing Model for XTM can
| supply an "unspecified role type" role type, but this may have
| undesirable consequences for the merging of assertions.  Not to
| worry, though; there are other approaches, too.

Like the approach that we took with the SAM in Montr=E9al, and which
I've pointed to twice already: generate blank placeholder nodes. This
avoids the undesirable merging, but even so I'm not sure I am happy
with it.
| Here's the rationale (at least as I see it):
| (1) In the graph, all role types are mandatory because
|     without them, there's literally no way to tell
|     which role player is playing which role.

Agreed, and this one on its own clinches it for me. Without roletypes
you have a meaningless assertion.
| The SAM is free to establish one or more assertion types that
| determine the subjects of assertion types.  The SAM is also free
| *not* to do that, and instead to provide its own limited set of
| built-in assertion types.  If the SAM allows topic map authors to
| create association types, however, as the HyQ and XTM syntaxes do,=20
| [...]

The SAM has no choice, actually. It has to be at least as expressive
as HyTM and XTM are, otherwise it can't do what it was created to do.

(HyQ is a typo for HyTM, I presume?)

| I think the SAM probably must define some assertion/association
| types that allow the subjects of assertion types to be determined by
| means of them.  One such association/assertion type could be the one
| that you're mentioning:
| "assertionPattern-role-rolePlayerConstraints".
This I couldn't follow, but it sounds like a new issue. Could you
explain what this is?

| (In the XTM syntax, all this is certainly well-hidden.  And that's
| probably why the XTM syntax is so intuitive for so many people!)
| Under the draft RM4TM, the Syntax Processing Model defined by the
| SAM for XTM must specify how to make what was only implicit in the
| XTM instance, such as groups that play roles collectively, explicit
| in the graph.

Yes. Probably some bits of this will go into the XTM -> SAM spec,
while others will go into the SAM -> RM spec. The trick will be to
figure out where to draw the line.
Lars Marius Garshol, Ontopian         <URL: http://www.ontopia.net >
ISO SC34/WG3, OASIS GeoLang TC        <URL: http://www.garshol.priv.no >