[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