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: [xtm-wg] RE: Mapping document


Luis

I don't know why you had trouble opening the attached HTML file. Here it is
inline.

I've edited the TITLE element to match the full title more closely, and
added missing end tags for the BODY and HTML elements (maybe that was why
you had a problem).

Daniel

<HTML>
<HEAD>
<TITLE>XTM Conceptual Model to Sytax Mapping</TITLE>
</HEAD>
<BODY>
<h1><a name="introduction"/>Mappings between the XTM Conceptual Model and
the XTM Interchange Syntax</h2>
<h2>Nature of the Mappings</h3>
<p>The XTM Conceptual Model and its Interchange Syntax do not map to one
another directly, for a number of reasons. First, the Conceptual Model
describes certain objects that are not represented directly in the syntax at
all. Second, there are certain objects in the Conceptual Model that may be
represented in more than one way in the syntax. Third, the syntax contains
some constructs that map to specific association templates that conform to
the Conceptual Model but do not form part of it.</p>
<p>We begin by looking at each item in the Conceptual Model and show which
parts of the syntax it corresponds to, if any, and in what way. The
syntactic items thus identified will consititue a minimal syntax, which is
complete in itself, and could be used to represent any topic map at all,
though it would not be optimally concise or readable.</p>
<p>Then we identify syntactic constructs that represent extensions to the
minimal syntax through the use of association templates. For each of these,
we shall provide equivalent syntactic representations of them using the
minimal syntax.</p>
<p>Finally, we identify syntactic constructs that represent shorter and more
readable forms for certain structures, but add no additional semantics in
their own right. For these too, we shall provide equivalent syntactic
representations using the minimal syntax.</p>
<p>Based on these mappings, it will be possible to map any topic map
expressed in XTM syntax can back to the Conceptual Model, though this may be
a two-stage process, passing through the minimal syntax as a first stage,
then using the mapping from the minimal syntax to the Conceptual Model. The
mapping may also involve the invocation of one or more of public association
temptes included within the XTM specification.</p>
<h3>Mapping the Conceptual Model to the Minimal Syntax</h3>
<p>There are several ways in which objects described by the Conceptual Model
may relate to constructs in the XTM Interchange Syntax:<ul>
<li>In some cases, a syntactic construct <i>IS</i> the object described by
the model.</li>
<li>In some cases, a syntactic construct <i>REFERENCES</i> the object
described by the model through the conventions of URI syntax.</li>
<li>In some cases, a syntactic construct <i>REPRESENTS</i> the object
described by the model.</li>
<li>In some cases, the object described has no direct correspondence in the
syntax at all, but instead is <i>INDICATED</i> to a human mind by a
Resource.</li>
</ul></p>
<p>We shall go through the constructs of the Conceptual Model in the order
in which they are presented in the XTM specification, and will state for
each one whether it has a corresponding syntactic construct, and what the
nature of the correspondence is.</p>
<h3>Resource</h4>
<p>There are two kinds of mapping from XTM syntax to the Resource object in
the Conceptual Model:
<ol><li>The value of the xlink:href attribute of a &lt;resourceRef>,
&lt;subjectIndicatorRef> or &lt;topicRef> element <i>REFERENCES</i> a
Resource.</li>
<li>a &lt;resourceData> element <i>IS</i> a Resource.</li>
</ol>
The differences between these three contexts for the xlink:href attribute
correspond to different ways the Resource my relate to other aspects of the
model, as we shall see in the sections that follow.</p>
<h4>Subject</h4>
<p>The Subject may be an Addressable Subject or a Non-addressable Subject.
These two cases are dealt with below.</p>
<h4>Addressable Subject</h4>
<p>If the Subject is an Addressable Subject, it <i>IS</i> is the Resource
that is <i>REFERENCED</i> by the xlink:href attribute of the
&lt;resourceRef> subelement of a &lt;subjectIdentity> element</p>
<h4>Non-addressable Subject</h4>
<p>If the Subject is a Non-addressable Subject, it is <i>INDICATED</i> by
the Resource that is <i>REFERENCED</i> by the xlink:href attribute of the
&lt;subjectIndicatorRef> subelement of a &lt;subjectIdentity> element</p>
<h4>Topic</h4>
<p>A &lt;topic> element <i>REPRESENTS</i> a Topic.</p>
<p>Note that the Conceptual Model describes the following subtypes of Topic:
<ul><li>Association</li><li>Role</li></ul></p>
<p>An &lt;association> element <i>REPRESENTS</i> a Topic that is an
Association.</p>
<p>An &lt;role> element <i>REPRESENTS</i> a Topic that is a Role.</p>
<p><font color="#ff0000"><b>Note:</b> The &lt;role> element is not present
in the syntax presented in Washington DC. The &lt;member> construct included
in that DTD is inadequate to cover the structure of the Conceptual Model,
which requires a Topic that is the Role, zero or more Topics that are the
players of the Role, and optionally a topic that is a Role in an Association
Template, which provides constraints on the players of the Role. The content
model for &lt;member> has only two places for references to one or more
Topics, and so cannot capture the Role, the players of the Role and the Role
constraints. Also, the &lt;association> element requires an optional
&lt;associationSpec> element to reference an association template, and the
&lt;instanceOf> subelement of &lt;association> should be repeatable. The
discussion here is therefore based on the following declarations, proposed
as replacements for the &lt;association> and &lt;member> declarations of the
4 December 2000 DTD. Note that these declarations do preserve backward
compatibility with that DTD.
<font face="Courier" size="-1"><br><br>
&lt;!-- association: Topic Association  --><br>
&lt;!ELEMENT association  (associationSpec? , instanceOf* , scope? ,
(member+ | role+ )*)><br>
&lt;!ATTLIST association  id ID  #REQUIRED ><br><br>
&lt;!-- associationSpec: Points to a Topic Serving as an Association
Template --><br>
&lt;!ELEMENT associationSpec  (topicRef | subjectIndicatorRef )><br>
&lt;!ATTLIST associationSpec  id ID  #IMPLIED ><br><br>
&lt;!-- member: Member in Topic Association --><br>
&lt;!ELEMENT member  (roleSpec? ,  (topicRef | resourceRef |
subjectIndicatorRef )+ )><br>
&lt;!ATTLIST member  id ID  #IMPLIED ><br><br>
&lt;!-- role: Role in Topic Association  --><br>
&lt;!ELEMENT role  (roleSpec? ,  (topicRef | resourceRef |
subjectIndicatorRef ) , player* )><br>
&lt;!ATTLIST role  id ID  #IMPLIED ><br><br>
&lt;!-- player: Player of Role in Topic Association --><br>
&lt;!ELEMENT player  (topicRef | resourceRef | subjectIndicatorRef )><br>
&lt;!ATTLIST player  id ID  #IMPLIED ></font>
</font></p>
<h4>Subject Descriptor</h4>
<p>The xlink:href attribute of a &lt;subjectIndicator> element
<i>REFERENCES</i> a Resource that <i>IS</i> a Subject Descriptor that
<i>INDICATES</i> the Subject of the Topic that is <i>REPRESENTED</i> by the
parent of the &lt;subjectIndicator> element.</p>
<h4>Topic Map</h4>
<p>A &lt;topicMap> element <i>REPRESENTS</i> a Topic Map.</p>
<h4>Topic Set</h4>
<p>The &lt;scope> subelement of an &lt;association> or &lt;baseName> element
<i>REPRESENTS</i> the Topic Set that <i>IS</i> the Scope of the Asssociation
or Base Name <i>REPRESENTED</i> by the parent element</p>
<p>In general, a Topic Set <i>IS</i> the set of Topics that are
<i>REPRESENTED</i> by any set of &lt;topic>, &lt;association> and/or
&lt;role> elements, and/or <i>REFERENCED</i> by any set of xlink:href
attributes on &lt;topicRef> and/or &lt;subjectIndicatorRef> elements.</p>
<h4>Scope</h4>
<p>A &lt;scope> element <i>REPRESENTS</i> a Scope.</p>
<h4>Base Name</h4>
<p>A &lt;baseName> element <i>REPRESENTS</i> a Base Name.</p>
<h4>String</h4>
<p>The content of the &lt;baseNameString> subelement of a &lt;baseName>
element <i>IS</i> the String assigned within the Base Name relationship
<i>REPRESENTED</i> by that &lt;baseName> element to the Topic
<i>REPRESENTED</i> by its parent element within the Scope <i>REPRESENTED</i>
by the &lt;scope> element that is the &lt;baseNameString> element's previous
sibling.</p>
<h4>Association</h4>
<p>An &lt;association> element <i>REPRESENTS</i> an Association (and, has
already been said, the Topic that <i>IS</i> that Association).</p>
<h4>Role</h4>
<p>A &lt;role> element <i>REPRESENTS</i> a Role (and, has already been said,
the Topic that <i>IS</i> that Role).</p>
<h4>Player of Role</h4>
<p>A &lt;player> element <i>REPRESENTS</i> a Topic that plays the Role
<i>REPRESENTED</i> by the  &lt;role> element that is its parent.</p>
<h4>Association Template</h4>
<p>The xml:link attribute of the &lt;topicRef> subelement of an
&lt;associationSpec> element <i>REFERENCES</i> an &lt;association> element
that <i>REPRESENTS</i> an Association that is the template for the
Association <i>REPRESENTED</i> by the  &lt;association> element that is the
parent of the &lt;associationSpec> element.</p>
<font color="#ff0000"><p><b>Note:</b> To allow this to work, the restriction
stated in the DTD of 4 December 2000 that a &lt;topicRef> element can only
reference a &lt;topic> element, needs to be relaxed. It also needs to be
allowed to reference an element whose element type is represents a subtype
of Topic.</p></font>
<h4>Role Constraints</h4>
<p>The xml:link attribute of the &lt;topicRef> subelement of a &lt;roleSpec>
element <i>REFERENCES</i> a &lt;role> element that <i>REPRESENTS</i> a Role
in a template Association that provides the role constraints for the Role
<i>REPRESENTED</i> by the &lt;role> element that is the parent of the
&lt;roleSpec> element.</p>
<font color="#ff0000"><p><b>Note:</b> To allow this to work, the restriction
stated in the DTD of 4 December 2000 that a &lt;topicRef> element can only
reference a &lt;topic> element, needs to be relaxed. It also needs to be
allowed to reference an element whose element type is represents a subtype
of Topic.</p>
<p>It has been argued that the &lt;subjectIndicatorRef> element can be used
instead of the &lt;topicRef> element for this purpose, since the Subject
<i>indicated by</i> an XTM element is always the Subject of the topic
<i>represented by</i> that element, and therefore the Topics themselves are
the same. The problem with this approach is that it requires the system to
resolve the xlink:href to find a Resource, then ascertain whether that
Resource is or is not an element in an XTM document, in order to know how to
process it. It would be far more efficient, and consistent with the previous
decision that things that are different in kind should be expressed through
different syntax, to state that the &lt;topicRef> element should always be
used to reference an XTM element that directly represents the relevant
Topic, and to use the &lt;subjectIndicatorRef> element when the Topic is
being referenced indirectly, by identifying its Subject through a Subject
Descriptor.</p>
<p>If this reasoning is sound, there are two consequences:<ul>
<li>the restriction on the element type of the referent of &lt;topicRef>
should be relaxed to allow any element to be referenced whose element type
represents a subtype of Topic</li>
<li>&lt;subjectIndicatorRef should be removed from the content models of
&lt;roleSpec> and &lt;associationSpec>.</li></ul></p>
</font>


<h3>Syntactic Constructs that are shorthand for Associations derived from
specific Association Templates</h3>

<p><b>Note:</b> The following parts of this document are in note form. They
need to be expanded to show specific syntax examples.</p>


<h4>instanceOf</h4>
<p>The &lt;instanceOf> element is shorthand for an &lt;association> element
whose &lt;associationSpec> subelement references the public <b>Class
Instance Association Template</b>, containing a &lt;role> element whose
&lt;roleSpec> subelement references the public <b>Class Role</b> topic and
whose &lt;player> subelement references the topic identified by the
&lt;instanceOf> element itself, and a second &lt;role> element whose
&lt;roleSpec> subelement references the public <b>Instance Role</b> topic
and whose &lt;player> subelement references the parent of the
&lt;instanceOf> element.</p>
<font color="#ff0000"><p>Example needed here</p></font>

<h4>occurrence</h4>
<p>The &lt;occurrence> element is shorthand for an &lt;association> element
whose &lt;associationSpec> subelement references the public <b>Topic
Occurrence Association Template</b>, containing a &lt;role> element whose
&lt;roleSpec> subelement references the public <b>Occurrence Role</b> topic
and whose &lt;player> subelement references the topic identified by the
&lt;occurrence> element itself, and a second &lt;role> element whose
&lt;roleSpec> subelement references the public <b>Topic Role</b> topic and
whose &lt;player> subelement references the parent of the &lt;occurrence>
element.</p>
<font color="#ff0000"><p>Example needed here</p></font>

<h4>variant, variantName and parameters</h4>
<font color="#ff0000"><p>The exact structures for which &lt;variant>,
&lt;variantName> and &lt;parameters> are syntactic shorthand needs to be
specified.</p></font>

<h3>Syntactic Constructs that are shorthand for other XTM Constructs</h3>

<p><b>Note:</b> The following parts of this document are in note form. They
need to be expanded to show specific syntax examples.</p>

<h4>subjectIndicatorRef</h4>
<p>The &lt;subjectIndicatorRef> subelement of any element other than a
&lt;topic> element is syntactic shorthand for a &lt;topicRef> element
pointing to a &lt;topic> element that itself has that
&lt;subjectIndicatorRef> as a subelement of its &lt;subjectIdentity>
subelement.</p>

<h4>resourceRef</h4>
<p>The &lt;resourceRef> subelement of any element other than a &lt;topic>
element is syntactic shorthand for a &lt;topicRef> element pointing to a
&lt;topic> element that itself has that &lt;resourceRef> as a subelement of
its &lt;subjectIdentity> subelement.</p>

<font color="#ff0000"><p><b>Note:</b> It is difficult to see how what a
&lt;resourceRef> subelement on &lt;scope> would mean. What does it mean to
be in the scope of a resource? Ditto for a &lt;resourceRef> subelement on
&lt;mergeMap>, since if a &lt;resourceRef> makes no sense on a &lt;scope>,
it makes no sense  to add it to a &lt;scope> when merging.</p></font>

<h4>member</h4>
<p>The &lt;member> element is syntactic shorthand for a &lt;role> element
and its &lt;player> subelement. It can only be used when there is no need to
specify the Topic that is the Role itself.</p>

<font color="#ff0000"><p><b>Note:</b> This is only included to ensure
backward compatibility with topic maps that were created on the basis of the
Core Deliverables presented on 4 December 2000 in Washington. If the
requirement for such compatibility is dropped, then the &lt;member> element
can be droped also.</p></font>

<h4>mergeMap</h4>
<p>The &lt;mergeMap> elemente is syntactic shorthand for the explicit
inclusion of all the subelements of the &lt;topicMap> element referenced by
its xlink:href attribute, with the addition to every &lt;scope> element of
the all the subelements of the &lt;mergeMap> element.</p>

</BODY>
</HTML>



-----Original Message-----
From: Luis J. Martinez [mailto:luisjm@luisjm.com]
Sent: 10 January 2001 01:56
To: Daniel Rivers-Moore
Subject: Mapping document


Daniel,

I am not sure if just me, but I can not read the document you attached
to your message in egroups about mapping from syntax to model. Could
you email me the document when you get a chance? If is not just me,
then you might need to re-post the message. I don't know what is
going on in there with egroups.

Luis

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