OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

topicmaps-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: [xtm-wg] Modified diagram for Association Template


The association template construct described in the Conceptual Model within
the XTM 1.0 Review Specification of 4 December, and in my draft mapping of
that model to the (slightly revised) syntax, does allow the roles to be
specified, and the classes of permitted players of those roles. It does not
provide a mechanism for saying how many players there may be for each role,
however, except by the indirect route of saying that the permitted player of
a role is a "set of x to y people", for example.

I would model Holger's rather complex "meeting" structure through multiple
association templates: one for the meeting-meetingroom association, where
the role of meeting must be played by an instance of the class "meeting" and
the role of meetingroom must be played by an instance of the class "room";
one for the meeting-participant association, where the role of meeting must
be played by an instance of the class "meeting" and the role of participant
must be played by an instance of the class "person", and so on. These are
all binary associations, and the fact that there may be many players of the
participant role, and zero players of the minutes role, for example, is not
specified by the template.

A ternary association might be "employment", in which an employer employs a
person to fulfil a job function. I could model this as follows:

<topicMap>

<!-- Association Template -->

	<association id="employment">
		<role id="employer">
			<player>
				<topicRef xlink:href="#person"/>
			</player>
			<player>
				<topicRef xlink:href="#organization"/>
			</player>
		</role>
		<role id="employee">
			<player>
				<topicRef xlink:href="#person"/>
			</player>
		</role>
		<role id="employed-as">
			<player>
				<topicRef xlink:href="#job-function"/>
			</player>
		</role>
	</association>

<!-- Derived Association -->

	<association
id="drm-employed-by-rivcom-as-director-of-new-technologies">
		<associationSpec>
			<topicRef xlink:href="#employment"/>
		</associationSpec>
		<role>
			<roleSpec>
				<topicRef xlink:href="#employer"/>
			</roleSpec>
			<topicRef xlink:href="daniels-employer"/>
			<player>
				<topicRef xlink:href="#rivcom"/>
			</player>
		</role>
		<role>
			<roleSpec>
				<topicRef xlink:href="#employee"/>
			</roleSpec>
			<topicRef
xlink:href="rivcoms-director-of-new-technologies"/>
			<player>
				<topicRef
xlink:href="#daniel-rivers-moore"/>
			</player>
		</role>
		<role>
			<roleSpec>
				<topicRef xlink:href="#employed-as"/>
			</roleSpec>
			<topicRef
xlink:href="daniels-job-function-at-rivcom"/>
			<player>
				<topicRef
xlink:href="#director-of-new-technologies"/>
			</player>
		</role>
	</association>
</topicMap>

The association template tells me that there must be a class-instance
association between person or organization and rivcom (that is, RivCom must
either be an organization or a person, since only things of those types may
play the employer role in the employment association); there must be a
class-instance association between person and daniel-rivers-moore (that is,
Daniel Rivers-Moore must be a person, since only persons may play the
employee role in the employment association); and there must be a
class-instance association between job-function and
director-of-new-technologies  (that is, Director of New Technologies  must
be a job function, since only things of that type may play the employed-as
role in the employment association).

I believe this is a good "starter set" of constraints for version 1 of XTM.
Certainly, it would be desirable to develop and extend the richness of the
templating and constraint definition mechanisms as we proceed to later
versions of XTM. However, we NEED at least a minimal templating mechanism
such as this in order to allow the class-instance and topic-occurrence
associations to be defined, and these are needed to give meaning to the
<instanceOf> and <occurrence> elements, which are essential to the basic
Topic Map functionality. Anything more is a further enhancement, and can
wait till later versions.

(Note that the draft "Mappings between the XTM Conceptual Model and the XTM
Interchange Syntax" document that I submitted yesterday describes how the
instanceOf and occurrence elements need to map to the corresponding
association templates. The nature of the associations involved in the
"variant" structure within baseName also needs to be spelled out, but I am
not so clear about this aspect, not having been a member of the Interchange
Syntax subgroup which developed this construct.)

I hope this helps to clarify. I believe this view is consistent with that of
other members of the group that developed the templating construct within
the conceptual model. I'm sure they will say if they disagree!

Best regards

Daniel. 


-----Original Message-----
From: Hans Holger Rath [mailto:hhr@step.de]
Sent: 09 January 2001 13:56
To: xtm-wg@egroups.com
Subject: Re: [xtm-wg] Modified diagram for Association Template


Hi,

Daniel Rivers-Moore wrote:
> 
> Attached is a modified graphic for the conceptual model of Association
> Template.
> 
> It is structurally identical to the previous diagram. However, it renames
> some of the elements to make it clearer that the association template is
> itself and association, the role constraints are themselves a role in the
> template association. An alternative approach would have been to add
> subtype-supertype arrows from the left and middle boxes in the top row to
> the corresponding boxes in the bottom row. However, this makes for a
> cluttered diagram which is less easy to understand, and results in a
larger
> number of named object types in the conceptual model and therefore more to
> do in the mapping between the model and the syntax.

I miss in all models I have seen so far the possibility
to control the number of roles in an assoc.

E.g. the assoc template "meeting" has these roles:
-	meeting room (exactly 1)
-	participant (minimum 2, maximum - let's say - 35)
-	chair person (min 0, max 1)
-	minutes (min 0, max 1)

We could express this by metadata assignments 
(= resourceData occurrences) to the template roles.


I am also missing the possibility to control the
possible scope values of an assoc. The mechanism
should be the same as the one for the role player 
classes.


Another issue related to assoc templates are
topic templates. Why not templating a topic?
Candidates to be controlled by a topic template 
are: 
- number and kind of topic names, 
- scope of names,
- number of occurrences of certain type,
- number and kind of names of occurrences,
- scope of occurrences, 
- association the topic instance has to play
a certain role in (e.g. every person in the map 
has to play the "person" role in the "birth" assoc).


Furthermore I would like to see a statement in the spec
that a topic (= player instance) could be of the class of 
the player or "of one of its direct or indirect subclasses" 
(the subclass is defined by the predefined superclass-subclass 
assoc). This would extremely reduce the number of necessary assoc
templates and role templates.

E.g. I define the "birth" assoc template with the
roles
-	location (player class = "geo-object")
-	person (player class = "person")

The derived assoc brings together 
-	Richard Wagner (type = "composer")
-	Leipzig (type = "city")

city is subclass of geo-object and
composer is subclass of artist and artist is
subclass of person


The subperclass-subclass issue brings me to the point
that we need a way to define association properties
like "transitivity". Or did I missed that and it is
in the spec already? I am not asking to define just
transitivity but to define a general mechanism for
property assignment and then defining at least the
important transitivity prop. as one example.


Cheers,
--Holger

-- 
H. Holger Rath <holger.rath@empolis.com>
empolis Content Management GmbH
Technologiepark, Pav. 7, 97222 Rimpar, Germany
http://www.empolis.com/ -- mobile: +49.172.66.90.427
phone: +49.9365.8062.63 -- fax: +49.9365.8062.66

To Post a message, send it to:   xtm-wg@eGroups.com

To Unsubscribe, send a blank message to: xtm-wg-unsubscribe@eGroups.com

To Post a message, send it to:   xtm-wg@eGroups.com

To Unsubscribe, send a blank message to: xtm-wg-unsubscribe@eGroups.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC