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] Reification of topic map constructs


Notes regarding the reification of topic map constructs as topic
nodes.

Note 1: "Reification" herein means "The creation of a topic node in a
        topic map graph whose subject is what is being reified."  The
        subject is said to be "reified" by the topic node.  Every
        topic node reifies a subject.  In a topic map graph, no two
        topic nodes are supposed to reify the same subject, although
        human error may permit this to happen, since machines cannot
        intuit subjects.  All of the topic characteristics that are
        known about a given subject are supposed to be combined in the
        one topic node that corresponds to that subject.

Note 2: <topic> elements specify their subjects by pointing at
        "subject descriptors".  Subject descriptors are information
        objects.  Every information object potentially describes two
        subjects that are usually very different:

        (1) One subject is whatever subject is described by the
            information object (subject descriptor).  

            (It is very likely that only a human being can make a
            determination as to the exact nature of the subject that
            is described by a subject descriptor, and only by
            perceiving some rendition of the information object.
            However, by means of carefully designed subject
            descriptors, it seems that it is possible for useful
            "nature of subject" determinations to be made by machine.)

            Here's an example of a subject descriptor:

              <paragraph id="p1">The domesticated sheep has four legs,
              is herbivorous, is not very intelligent, and is usually
              exploited for its wool, milk, and flesh.</paragraph>

            The above paragraph describes the domesticated sheep.  If
            the paragraph were referenced as a subject descriptor of a
            <topic>, and if it were being used as a "subject
            describing" subject descriptor, then it's reasonable to
            conclude that the subject of the topic is the domesticated
            sheep.

        (2) The other subject is the subject descriptor itself,
            considered as an information object.  If the same
            paragraph (id="p1") were used as a "subject is itself"
            subject descriptor of a topic, then the subject of the
            topic would *not* be domesticated sheep.  Instead, the
            subject would be the paragraph element shown above, whose
            unique identifier is "p1".

        The subject descriptors of a topic node are specified in a
        topic map document by means of <topicRef> elements in
        <resource> elements within <occurrences> elements within the
        <topic> element corresponding to that topic node.  The
        distinction between the two kinds of subject is made by an
        attribute of the <topicRef> elements called -referent-.  The
        -referent- attribute must have one of two possible values:
        "describesSubject" (the default) and "isSubject".  These two
        values correspond to the two cases described above.



<topic> elements

  The subject of the given <topic> is what is being reified by the
  topic node.  There is no need to re-reify the subject of a topic
  node; it is already reified by that topic node.  

  When a <topic> is referenced by a 

    <topicRef referent="describesSubject">, 

  what is being referenced is the subject of the <topic>, which is
  always also the subject of the <topic>'s corresponding topic node.
  For practical purposes, the reference is to that corresponding topic
  node.

  When a <topic> element is referenced by a 

    <topicRef referent="isSubject">, 

  what is being referenced is a topic node *other* than the one that
  corresponds to the <topic> element being referenced.  This other
  topic node's subject is the <topic> element, considered as an
  expression of information, syntax and all.  (This is probably only
  useful when the purpose of the topic map includes providing access
  information about topic map documents considered as XML documents,
  not as topic map graphs.  It's a rarity, but it's important for
  completeness.  It would not be good if topic maps could discuss
  everything but themselves.)  If the referenced <topic> element is
  not otherwise already reified as a topic node (whose subject is that
  <topic> element), then such a topic node is called into existence.

  Note: When a <topic> element is referenced by a <resourceRef>, it's
        just a resource, like any other resource.  <resourceRef>s
        don't reify anything; they don't demand the existence of topic
        nodes.  They simply provide references to resources.


<topicMap> elements

  <topicMap> elements do not explicitly have any way to specify their
  subjects.  However, it is possible, and probably even commonplace,
  to regard a <topicMap> element as somehow being all about some
  particular subject, which, again, is not specified by the <topicMap>
  element itself.

  When a <topicMap> is referenced by a 

    <topicRef referent="describesSubject">, 

  what is being referenced is the unspecified subject of the
  <topicMap>.  As always, the use of <topicRef> demands the existence
  of a topic node that corresponds to the subject.

  If it is desired to explicitly describe the subject of a <topicMap>,
  one way to do it is to specify a <topic> with at least two subject
  descriptors, one of which is the <topicMap> element (<topicRef
  referent="describesSubject">), and one of which is a resource that
  describes the subject of the <topicMap> element (again, <topicRef
  referent="describesSubject">).

  When a <topicMap> element is referenced by a 

    <topicRef referent="isSubject">, 

  what is being referenced is a topic node whose subject is the
  <topicMap> element, considered as an expression of information,
  syntax and all.  (This is probably only useful when the purpose of
  the topic map is to organize information about topic map documents
  as XML documents, not as topic map graphs.  It's a rarity, but it's
  important for completeness.  It would not be good if topic maps
  could discuss everything but themselves.)  If the referenced
  <topicMap> element is not otherwise already reified as a topic node
  (whose subject is that <topicMap> element), then such a topic node
  is called into existence.
  

<occurrences> elements

  <occurrences> elements are like <topicMap> elements.  They do not
  reify themselves, but they can be reified, if desired, by regarding
  them as the subject descriptors of additional <topic> elements.
  (See the entry for <topicMap>, above. 


<resource> elements

  <resource> elements can only appear within <occurrences> elements.
  Each <resource> element specifies an "occurrence" of material which
  is regarded as relevant to the subject of the containing <topic>
  element.  (<resource> is misleadingly named, because what it really
  does is to specify an occurrence, which is a resource, to be sure,
  but only considered from a certain perspective.)

  <resource> elements (or, more properly, the occurrences that they
  specify) are self-reifying.  This means that each <resource> element
  has two kinds of impact on the topic map graph:

    (1) (Of course) each <resource> element specifies occurrence
        characteristics that will become properties of the topic node
        that corresponds to the <topic> element that contains the
        <resource> element.  The characteristics are within the scope
        specified by the <scope> element contained by the <resource>
        element.

    (2) In addition, for each <resource> element, a topic node is
        created in the topic map graph that reifies the intent of the
        <resource> element.

        (a) This topic node has the name characteristics specified by
            the <basename> elements contained in the <resource>,

        (b) its subject descriptor is the <resource> element itself,
            considered as if referent="describesSubject" (it's a
            "subject-describing" descriptor, rather than a
            "subject-itself" descriptor), and

        (c) it plays the role of "instance" in a "class-instance"
            relationship with each of the topics referenced by the
            <instanceOf> element contained in the same <occurrences>
            that contains the <resource>.

  <resource> elements can also have a third impact on the topic map
  graph: they can specify the subject descriptors of the topic node
  that corresponds to the containing <topic> element.  (See Note 2 at
  the beginning of these remarks for a discussion of this.)
  Therefore, if it is desired to add more characteristics to the topic
  node that reifies the intent of a <resource> element, this can be
  accomplished by creating an additional <topic> element whose
  characteristics will be merged into the same topic node as the one
  that reifies the intent of the <resource> element, because it refers
  to that <resource> element as an occurrence by means of a <topicRef
  referent="describesSubject">.  In other words, they have exactly the
  same subject, so they will be merged automatically.


<association> elements

  <association> elements (or, more properly, the relationships that
  they specify) are, like the occurrences specified by <resource>
  elements, self-reifying.  This means that each <association> element
  has two kinds of impact on the topic map graph:

    (1) (Of course) each <association> element specifies
        roles-played-in-relationships characteristics that will become
        properties of the topic nodes that correspond to the <topic>
        elements among which the <association> element expresses the
        relationships.  The characteristics are within the scopes
        specified by the <scope> elements contained in the
        <associateTopic> elements contained in the <association>
        element.

    (2) In addition, for each <association> element, a topic node is
        created in the topic map graph that reifies the relationship
        expressed by the <association> element.

        (a) This topic node has the name characteristics specified by
            the <basename> elements contained in the <association>,

        (b) its subject descriptor is the <association> element itself,
            considered as if referent="describesSubject" (it's a
            "subject-describing" descriptor, rather than a
            "subject-itself" descriptor), and

        (c) it plays the role of "instance" in a "class-instance"
            relationship with each of the topics referenced by the
            <instanceOf> element contained in the <association>.

        If it is desired to add more characteristics to the topic node
        that reifies the relationship specified by an <association>
        element, this can be accomplished by creating an additional
        <topic> element whose characteristics will be merged into the
        same topic node as the one that reifies the relationship
        specified by the <association> element, because it refers to
        that <association> element as an occurrence by means of a
        <topicRef referent="describesSubject">.  In other words, they
        have exactly the same subject, so they will be merged
        automatically.


<associateTopic> elements

  <associateTopic> elements (or, more properly, the relationships that
  they specify) are, like the occurrences specified by <resource>
  elements, and like the relationships specified by <association>
  elements, self-reifying.  This means that each <associateTopic> element
  has two kinds of impact on the topic map graph:

    (1) (Of course) each <associateTopic> element specifies
        roles-played-in-relationships characteristics that will become
        properties of the topic nodes that correspond to the <topic>
        elements among which the containing <association> element expresses the
        relationships.  The characteristics are within the scopes
        specified by the <scope> elements contained in the
        <associateTopic> elements.

    (2) In addition, for each <associateTopic> element, a topic node is
        created in the topic map graph that reifies the set of topics
        playing the role, and the role that they play, in the relationship
        expressed by the containing <association> element.

        (a) This topic node has the name characteristics specified by
            the <basename> elements contained in the <associateTopic>,

        (b) its subject descriptor is the <associateTopic> element itself,
            considered as if referent="describesSubject" (it's a
            "subject-describing" descriptor, rather than a
            "subject-itself" descriptor), and

        (c) it plays the role of "instance" in a "class-instance"
            relationship with each of the topics referenced by the
            <instanceOf> element contained in the <associateTopic>.
            (The subjects of these topics are aspects of the role
            being played.)

        If it is desired to add more characteristics to the topic node
        that reifies the set of topics (and the role that they play)
        specified by the <associateTopic> element, this can be
        accomplished by creating an additional <topic> element whose
        characteristics will be merged into the same topic node as the
        one that reifies the set of topics (and the role that they
        play) specified by the <associateTopic> element, because it
        refers to that <associateTopic> element as an occurrence by
        means of a <topicRef referent="describesSubject">.  In other
        words, they have exactly the same subject, so they will be
        merged automatically.


<baseName> elements
<baseNameString> elements
<variant> elements
<variantName> elements
<parameters> elements
<instanceOf> elements
<scope> elements
<topicRef> elements
<mergeMap> elements

  All these elements are like <topicMap> elements.  They do not
  reify themselves, but they can be reified, if desired, by regarding
  them as the subject descriptors of additional <topic> elements.
  (See the entry for <topicMap>, above. 

-Steve

--
Steven R. Newcomb, Consultant
srn@coolheads.com

voice: +1 972 359 8160
fax:   +1 972 359 0270

405 Flagler Court
Allen, Texas 75013-2821 USA

-------------------------- eGroups Sponsor -------------------------~-~>
eLerts
It's Easy. It's Fun. Best of All, it's Free!
http://click.egroups.com/1/9699/1/_/337252/_/973646168/
---------------------------------------------------------------------_->

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