| TITLE: | Reference Model for ISO 13250 Topic Maps (RM4TM) |
| SOURCE: | Steven R. Newcomb, Sam Hunting, Jan Algermissen and Patrick Durusau |
| PROJECT: | Topic Maps |
| PROJECT EDITORS: | Michel Biezunski, Martin Bryan, Steven R. Newcomb |
| STATUS: | Editor's Draft, Revision 1.25 |
| ACTION: | For review and comment |
| DATE: | 4 March 2003 |
| SUMMARY: | |
| DISTRIBUTION: | SC34 and Liaisons |
| REFER TO: | |
| SUPERCEDES: | |
| REPLY TO: | Dr. James David Mason (ISO/IEC JTC1/SC34 Chairman) Y-12 National Security Complex Information Technology Services Bldg. 9113 M.S. 8208 Oak Ridge, TN 37831-8208 U.S.A. Telephone: +1 865 574-6973 Facsimile: +1 865 574-1896 E-mail: mailto:mxm@y12.doe.gov http://www.y12.doe.gov/sgml/sc34/sc34oldhome.htm Ms. Sara Hafele Desautels, ISO/IEC JTC 1/SC 34 Secretariat American National Standards Institute 25 West 43rd Street New York, NY 10036 Tel: +1 212 642-4937 Fax: +1 212 840-2298 E-mail: sdesaute@ansi.org |
4 March 2003
CHANGE HISTORY:[parid3000] What happened between Revision 1.0 and Revision 1.15:
|
| 0 | [parid2001] Introduction |
| Editor's Note 1: |
[parid0000] This is a test of the hyperlink-to-comments system. |
[parid2902] This Reference Model for ISO 13250 Topic Maps (RM4TM) provides a framework for the definitions of Topic Map Applications (TM Applications). Diverse topic maps that conform to diverse TM Applications that are defined in keeping with this framework can be interpreted and amalgamated automatically by independently implemented systems, without losing information, and with predictable results.
[parid2901] Many of the key advantages of the Topic Maps paradigm derive from the achievement of its primary objective, the "Subject Location Uniqueness Objective", which is to make everything known about every subject in a topic space accessible from a single location within that space. The achievement of the Subject Location Uniqueness Objective means that the efficiency with which users can find information is maximized, not only because the subject's single location, once found, acts as a comprehensive catalog of the things that are known about it, but also because the subject's location can be found in terms of any of its relationships to other subjects.
[parid2004] This RM4TM facilitates the development of TM Applications and systems that can achieve the Subject Location Uniqueness Objective with respect to all subjects, including those that are only implicit in interchangeable topic map instances, as well as with respect to subjects that are relationships (and aspects of relationships) among other subjects.
[parid0941] Moreover, this RM4TM facilitates the development of TM Applications and implementations that can amalgamate the topic spaces represented by topic maps that conform to diverse Topic Maps Applications into a single resulting topic space in which each subject has a single location, there is no redundant information, and all of the information represented by the comprising topic maps is preserved.
[parid2005] This RM4TM provides definition requirements for user-defined Topic Map Applications that allow such definitions to serve as contracts between topic map creators, users, and system implementers, such that when the interchange or amalgamation of topic maps fails due to nonconformance to the definition of a Topic Maps Application, the nonconforming aspects of the topic maps or system implementations can be identified.
| 1 | [parid0001] Scope |
[parid0005] This RM4TM defines:
[parid0481] an abstract graph structure for the representation of relationships between subjects;
[parid0482] rules for defining Applications of the Topic Maps paradigm; and
[parid0483] rules for processing the information contained in topic maps.
|
| 2 | [parid0441] Glossary |
| 2.1 | [parid2100] A |
[parid2101] As in "A-node": assertion. Every a-node is the nexus of an assertion, and the subject of every a-node is the relationship that is represented by the assertion of which it is the unique nexus.
[parid2262] As in "AT arc" or "AC arc": assertion. The node that serves as the A endpoint of an AT or AC arc is an a-node.
| Editor's Note 2: |
[parid2102] (Derived from [parid0927] Note 7.) |
| 2.2 | [parid2103] AC arc |
[parid2104] A connectedness between two nodes, with an a-node as one endpoint and a c-node as the other endpoint. An AC arc specifies that a playing of a specific role by a specific role player (i.e., a "casting" -- the subject of the c-node) is one aspect of the relationship that is the subject of the a-node.
| Editor's Note 3: |
[parid2105] (Derived from [parid0046] 3.3.1.) |
| 2.3 | [parid2106] a-node |
[parid2107] An "assertion" node. The subject of an a-node is the relationship that is represented by an assertion; an a-node is the nexus of a specific assertion.
[parid2270] An a-node serves as the A endpoint of two or more AC arcs. It may or may not serve as the A endpoint of an AT arc; i.e., the type of the assertion may or may not be explicit. Like all nodes, it may serve as the x endpoint of any number of Cx arcs. It cannot serve as any other endpoint types.
| Editor's Note 4: |
[parid2108] (Derived from [parid0100] 3.5.1.3.) |
| 2.4 | [parid2109] arc |
[parid2110] A connectedness between two different nodes in the topic map graph. In Topic Maps, a single arc cannot have the same node at both of its endpoints. The connectednesses represented by arcs are symmetric and nondirectional.
|
| Editor's Note 5: |
[parid2111] (Derived from [parid0506] 3.3.) |
| 2.5 | [parid2112] arc [type] name |
[parid2113] An "arc name" (or "arc type name") is constructed from the names of the types of nodes that serve as its endpoints. There are four types of arcs, called "AT", "AC", "CR", and "Cx".
| Editor's Note 6: |
[parid2114] (Derived from [parid0058] 3.3.3.) |
| 2.6 | [parid2115] assertion |
[parid2116] A statement of a relationship between subjects, each of which is a called a "role player" in the relationship. An assertion represents a relationship as a specific set of arcs and nodes that collectively connect the nodes that serve as proxies for the role players to an "a-node" that serves as the proxy for the subject which is the relationship itself. An assertion also includes nodes whose subjects are: (i) the type of the relationship (t-nodes), (ii) for each role player, the fact that each role player is "cast" in a specific role (c-node) in the relationship, and (iii) the roles ("role types") themselves (r-nodes), and the arcs that connect all of these nodes to the a-node nexus of the assertion.
| Editor's Note 7: |
[parid2117] (Derived from [parid0489] 3.6.1.) |
| 2.7 | [parid2118] assertion subgraph |
[parid2119] Within a topic map graph, the nodes and arcs that comprise a single assertion.
| Editor's Note 8: |
[parid2120] (Derived from [parid0467] Annex B.) |
| 2.8 | [parid2121] AT arc |
[parid2122] A connectedness between two nodes, with an a-node as one endpoint and a t-node as the other endpoint. An AT arc specifies that the subject of the t-node is the type of the relationship that is the subject of the a-node.
| Editor's Note 9: |
[parid2123] (Derived from [parid0046] 3.3.1.) |
| 2.9 | [parid2124] built-in arc |
[parid2125] An arc (a connectedness of two nodes) that is one of the arcs that comprises a built-in assertion (see [parid2127] 2.10).
| Editor's Note 10: |
[parid2126] (Derived from [parid0369] 5.2.7.) |
| 2.10 | [parid2127] built-in assertion |
[parid2128] An assertion that is defined by the TM Application as being present in every topic map graph that conforms to that TM Application. TM Applications generally define built-in assertions for bootstrapping purposes and/or for allowing the topic maps that conform to them to incorporate the subjects defined in the TM Application definition, thus allowing such topic maps to be self-describing. The nodes that participate in built-in assertions have built-in property values that correspond to their arcs, and built-in values for their subject identity discrimination properties (SIDPs) such that the merging of the built-in assertions in conformance with the assertion merging rules specified in [parid0374] 5.2.8.2 will occur.
| Editor's Note 11: |
[parid2129] (Derived from [parid0369] 5.2.7.) |
| 2.11 | [parid2130] built-in node |
[parid2131] A node that is defined by a TM Application as being present in every topic map graph that conforms to the TM Application. Every built-in node must be defined as having a built-in value for at least one SIDP.
| Editor's Note 12: |
[parid2132] (Derived from [parid0243] 4.7.1.) |
| 2.12 | [parid2133] built-in subject |
[parid2134] The subject of a built-in node (see [parid2130] 2.11).
| Editor's Note 13: |
[parid2135] (Derived from [parid0504] 3.4.2.) |
| 2.13 | [parid2136] C |
[parid2292] As in "C-node": casting. The subject of every c-node is a "casting" (see [parid2139] 2.14) of a role player in a role.
[parid2263] As in "AC arc", "CR arc", or "Cx" arc: casting. The node that serves as the C endpoint of an AC, CR, or Cx arc is a c-node.
| Editor's Note 14: |
[parid2138] (Derived from [parid0927] Note 7.) |
| 2.14 | [parid2139] casting |
[parid2140] The fact that a subject plays a specific role in a relationship (see [parid2142] 2.15).
| Editor's Note 15: |
[parid2141] (Derived from [parid0914] Note 13.) |
| 2.15 | [parid2142] c-node |
[parid2137] A "casting" node. The subject of a c-node is the fact that a specific role player (or the fact that no role player) plays a specific role in the relationship that is stated by the unique assertion of which it is a component.
[parid2143] A c-node serves as one of the endpoints of one AC and one CR arc. It may or may not serve as the C endpoint of a Cx arc. Like all nodes, it may serve as the x endpoint of of any number of Cx arcs. It cannot serve as any other endpoint types.
| Editor's Note 16: |
[parid2144] (Derived from [parid0113] 3.5.1.4.) |
| 2.16 | [parid2145] conferred [property] value |
[parid2146] A value of a property of a node that is not built-in, but instead is assigned to the property on account of the node's situation in the graph.
| Editor's Note 17: |
[parid2147] (Derived from [parid0249] 4.7.2.) |
| 2.17 | [parid2151] connectedness |
[parid2152] A primitive relationship between two nodes: an arc. (Cf. "assertion".)
|
| Editor's Note 18: |
[parid2153] (Derived from [parid0026] 3.2.) |
| 2.18 | [parid2154] CR arc |
[parid2155] A connectedness between two nodes, with a c-node as one endpoint and a r-node as the other endpoint. A CR arc specifies that a specific role (the subject of the r-node) is the role that is being played in the casting (the subject of the c-node) of a specific role player in that specific role in a specific assertion.
| Editor's Note 19: |
[parid2156] (Derived from [parid0046] 3.3.1.) |
| 2.19 | [parid2157] Cx |
[parid2158] A connectedness between two nodes, represented by an arc, with a c-node as one endpoint and another node (which itself may either be generic or of type a, c, t, or r) serving as the x endpoint. A Cx arc specifies that a specific role player (the subject of the node that serves as the x endpoint) is the role player in a casting (the subject of the node that serves as the C endpoint) of that specific role player in a specific role in a specific assertion.
| Editor's Note 20: |
[parid2159] (Derived from [parid0046] 3.3.1.) |
| 2.20 | [parid2160] endpoint type |
[parid2161] The type of an endpoint of an arc. There are five endpoint types:
[parid2280] A: Only a-nodes serve as A endpoints.
[parid2281] T: Only t-nodes serve as T endpoints.
[parid2282] C: Only c-nodes serve as C endpoints.
[parid2283] R: Only r-nodes serve as R endpoints.
[parid2284] x: All kinds of nodes, including generic nodes, can serve as x endpoints.
| Editor's Note 21: |
[parid2162] (Derived from [parid0927] Note 7.) |
| 2.21 | [parid2163] fully merged |
[parid2164] The condition of a topic map in which every subject is represented by only one node.
| Editor's Note 22: |
[parid2165] (Derived from [parid0500] 3.9.) |
| 2.22 | [parid2166] i-node |
[parid2167] The i-node is an isolated node that does not serve as the endpoint of any arc. In a well-formed topic map, an i-node must exhibit a built-in value for at least one SIDP.
| Editor's Note 23: |
[parid2168] (Derived from [parid0083] 3.5.1.1.) |
| 2.23 | [parid2169] merging process |
[parid2170] A process that can only be undergone by a well-formed topic map, and that results in a "fully merged" topic map, in which every subject is represented by only one node.
| Editor's Note 24: |
[parid2171] (Derived from [parid0413] 6.) |
| 2.24 | [parid2172] node |
[parid2173] In a topic map graph, a proxy for a single subject. In a topic map graph, only nodes can be the proxies of subjects (arcs cannot serve as proxies for subjects). Nodes are sometimes also called "topics".
[parid2178] Every node has named properties for which it may exhibit values. Some properties are "Subject Identity Discrimination Properties (SIDPs)". The values of SIDPs comprehensively and exclusively specify the subject for which the node is a proxy; SIDP values are the only basis for recognizing when two nodes have the same subject or different subjects, and should therefore either be merged or left unmerged.
[parid2272] A node may also exhibit values for "Other Properties (OPs)". The significances of OP values are defined by TM Applications, but, unlike the values of SIDPs, the values of OPs do not influence the merging process.
[parid2273] The values of some properties can be "built-in"; nodes that exhibit built-in property values are defined by the governing TM Application as being present in every topic map that conforms to the TM Application. Other property values are "conferred" by virtue of the node's situation.
[parid2279] Nodes that serve as the endpoints of arcs are said to be "situated". Each node's situation in the topic map graph may conform to zero or more TM Application-defined "situation features" that confer upon it the values it exhibits for its properties.
[parid2274] Some nodes are called "special" nodes, because, in addition to being role players in zero or more assertions, they have special functions in certain assertion(s) of which they are non-role-player components. There are four kinds of special nodes: a-nodes, c-nodes, r-nodes and t-nodes.
[parid2275] If a node is not one of the four kinds of special nodes, it is called a "generic" node.
[parid2276] A generic node may be a role player in zero or more assertions. If a generic node is not a role player in any assertion, it is called an "isolated" node (or i-node), because it serves as the endpoint of no arcs whatsoever.
|
[parid2278] Topic map authors are free to create topic maps in which all kinds of nodes, including both generic nodes and all kinds of special nodes, are role players in zero or more assertions.
| Editor's Note 25: |
[parid2174] (Derived from [parid0034] 3.4.1.) |
| 2.25 | [parid2175] node demanders |
[parid2176] Syntactic constructs (or other formal and addressable information objects) that appear in representations of topic maps. The existence of such an addressable object in a representation of a specific topic map is regarded as "demanding" the existence of a corresponding node in any topic map graph that is constructed on the basis of such a representation. The purpose of identifying the node demanders that can be found in instances of (for example) a topic map interchange syntax is to allow, effectively, the subjects of the nodes that they "demand" to be addressed in terms that will be honored by independent implementations. When a specification for a topic map interchange syntax includes a specification of its node demanders, topic map authors can create assertions whose role players are the topics specified by topic maps expressed in that syntax, with the expectation that implementation of that syntax specification will behave predictably.
| Editor's Note 26: |
[parid2177] (Derived from [parid0402] 5.2.10.3.1.) |
| 2.26 | [parid2285] node type |
[parid2179] One of the six types of nodes defined by this standard:
[parid2286] i-node: ("Isolated node") A generic node that is not a role player in any assertion. See [parid0083] 3.5.1.1.
[parid2287] x-node: A generic node that is a role player in at least one assertion. See [parid0091] 3.5.1.2.
[parid2288] a-node: ("Assertion node") A special node that serves as the nexus of an assertion. See [parid0100] 3.5.1.3.
[parid2289] c-node: ("Casting node") A special node whose subject is the playing of a role in an assertion. See [parid0113] 3.5.1.4.
[parid2290] r-node: ("Role node") A special node whose subject is a role that may be played in one or more assertions. See [parid0127] 3.5.1.5.
[parid2291] t-node: ("assertion Type node") A special node whose subject is the type of one or more assertions. See [parid0136] 3.5.1.6.
[parid2267] (So-called "special" node types have special, non-role-player functions within assertions; they are parts of the machinery of assertions. (Nonetheless, they can also be role players in other assertions.) So-called "generic" node types have no special function within the machinery of assertions.)
| Editor's Note 27: |
[parid2180] (Derived from [parid0081] 3.5.1.) |
| 2.27 | [parid2181] OPs |
[parid2182] (See Other Properties, [parid2184] 2.28.)
| Editor's Note 28: |
[parid2183] (Derived from [parid0228] 4.4.) |
| 2.28 | [parid2184] Other Properties (OPs) |
[parid2185] Properties of nodes that are defined by TM Applications for purposes other than subject discrimination (merging). (Cf. Subject Identity Discrimination Properties (SIDPs), [parid2220] 2.41.)
| Editor's Note 29: |
[parid2186] (Derived from [parid0228] 4.4.) |
| 2.29 | [parid2187] path |
[parid2188] An itinerary of arcs and intervening nodes through a topic map graph, by means of which traversal can be made from one node (node n[0]) to another (node n[n]). Given node n[0], the path to node n[n] is a finite alternating sequence n[0], arc[1], n[1], arc[2], n[3]... n[n] such that each arc[i] in the sequence connects node[i-1] and node[i].)
| Editor's Note 30: |
[parid2189] (Derived from [parid0503] 3.4.2.) |
| 2.30 | [parid2190] R |
[parid2293] As in "R-node": role. The subject of every r-node is a role that can be played in one or more assertions.
[parid2191] As in "CR" arc: role. The node that serves as the R endpoint of a CR arc is an r-node.
| Editor's Note 31: |
[parid2192] (Derived from [parid0927] Note 7.) |
| 2.31 | [parid2193] reified |
[parid2194] Provided with a proxy. A topic map author reifies (literally, thing-ifies) a subject by creating a proxy for that subject. The reason for reifying a subject is to make it, in effect, addressable. Computers cannot address subjects (such as the subject which is the notion of love), but they can address certain kinds of proxies for subjects (such as a <topic> element whose subject is love, or a node in a topic map graph whose subject is love). Things that can be addressed can be processed, collated, merged, rendered, etc.
[parid2268] For example, the marriage between John Smith and Mary Jones Smith is a relationship that cannot be addressed by a computer. However, an assertion that reifies that relationship is addressable, and therefore it is possible for that assertion to play roles in other assertions that, in effect, can make statements about the marriage of John and Mary.
| Editor's Note 32: |
[parid2195] (Derived from [parid0209] Note 15.) |
| 2.32 | [parid2196] r-node |
[parid2197] A "role" node. The subject of an r-node is a role that can be played in one or more assertions.
[parid2269] An r-node serves as the R endpoint of one or more CR arcs. Like all nodes, it may serve as the x endpoint of of any number of Cx arcs. It cannot serve as any other endpoint types.
| Editor's Note 33: |
[parid2198] (Derived from [parid0127] 3.5.1.5.) |
| 2.33 | [parid2199] role |
[parid2200] A participation by a role player in an instance of an assertion. Such a participation is always the subject of a c-node. Cf. role type.
| Editor's Note 34: |
[parid2201] (Derived from [parid0489] 3.6.1.) |
| 2.34 | [parid2202] role player |
[parid2203] A node that has been "cast" in a role in a particular assertion.
| Editor's Note 35: |
[parid2204] (Derived from [parid0489] 3.6.1.) |
| 2.35 | [parid2259] role type |
[parid2260] A kind of participation that a subject can have in an instance of an assertion. Cf. role ([parid2199] 2.33).
| Editor's Note 36: |
[parid2261] (Derived from [parid0489] 3.6.1.) |
| 2.36 | [parid2205] SIDP |
[parid2206] (See Subject Identity Discriminating Property, [parid2220] 2.41.)
| Editor's Note 37: |
[parid2207] (Derived from [parid0224] 4.3.1.) |
| 2.37 | [parid2208] situation |
[parid2294] , each of which is a location in a topic map graph that is defined as its service as the endpoint(s) of zero or more specific arcs (and, possibly, the situations of the nodes at the other ends of those arcs, and so on, recursively, to the limit of the definition of the situation).
[parid2209] The service of a node as one of the endpoints of all of the connected paths through the graph to all other nodes accessible via such paths.
| Editor's Note 38: |
[parid2210] (Derived from [parid0503] 3.4.2.) |
| 2.38 | [parid2211] situation features |
[parid2212] Are defined by a TM Application and specify how the situation of a node affects the values of properties of nodes found in those situations. The properties so defined may be Subject Identity Discriminating Propertes (SIDPs) or Other Properties (OPs). Nodes with subjects that have special functions in assertion subgraphs may not be redefined by TM Applications.
| Editor's Note 39: |
[parid2213] (Derived from [parid0928] 3.4.2.) |
| 2.39 | [parid2214] SLUO |
[parid2215] see Subject Location Uniqueness Objective
| Editor's Note 40: |
[parid2216] (Derived from [parid2901] 0 .) |
| 2.40 | [parid2217] subject |
[parid2218] A subject is anything that has identity. In the most generic sense, a subject is anything whatsoever, regardless of whether it exists or has any other specific characteristics, about which anything whatsoever may be asserted by any means whatsoever. In particular, it is anything on which the creator of a topic map chooses to have conversation.
| Editor's Note 41: |
[parid2219] (Derived from Section 3.4 of the draft SAM.) |
| 2.41 | [parid2220] Subject Identity Discriminating Property |
[parid2221] A property required of every node that allows it to be distinguished from every other node or to trigger merger operations when the nodes are recognized as identical.
| Editor's Note 42: |
[parid2222] (Derived from [parid0224] 4.3.1.) |
| 2.42 | [parid2223] Subject Location Uniqueness Objective |
[parid2224] The objective of the topic map paradigm, whick is to enable everything that is known about a subject to be accessible from one place.
| Editor's Note 43: |
[parid2225] (Derived from [parid2901] 0 .) |
| 2.43 | [parid2226] Syntax Processing Model |
[parid2227] A specification by a TM Application of a modeling an instance of a topic map in its syntax to the topic map graph.
| Editor's Note 44: |
[parid2228] (Derived from [parid0294] 5.1.4.) |
| 2.44 | [parid2229] T |
[parid2230] Type or type node.
| Editor's Note 45: |
[parid2231] (Derived from [parid0927] Note 7.) |
| 2.45 | [parid2232] t-node |
[parid2233] An "assertion Ttype" node. The subject of a t-node is a type of assertions.
[parid2297] A t-node serves as the T endpoint of one or more AT arcs. Like all nodes, it may serve as the x endpoint of of any number of Cx arcs. It cannot serve as any other endpoint types.
| Editor's Note 46: |
[parid2234] (Derived from [parid0136] 3.5.1.6.) |
| 2.46 | [parid2235] Topic Map Application |
[parid2236] Any application that meets the constraint requirements of section 5.1.4.
| Editor's Note 47: |
[parid2237] (Derived from [parid0282] 5.1.4.) |
| 2.47 | [parid2238] topic map graph |
[parid2239] An expression a topic map using the nodes and arcs defined herein.
| Editor's Note 48: |
[parid2240] (Derived from [parid0481] 1.) |