TITLE: | Topic Maps Reference Model |
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 2.6 |
ACTION: | For review and comment |
DATE: | 16 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 |
16 March 2003
CHANGE HISTORY:[parid6001] Version 2 is a major revision of Version 1. The ideas of Version 1 are preserved, but they are now all explained in terms of the properties of nodes. There are also some terminological changes; for example, what in Version 1 was called a "node" is called a "topic" in Version 2. The first published version of Version 2 (16 March 2003) lacked considerable material that was present in Version 1; this material will be recast and inserted into Version 2 before March 28. |
0 | [parid0498]Introduction |
[parid6002] Topic maps are bodies of information that consist of "topics", each of which is a surrogate for a single subject. If every topic in a topic map is the only surrogate for its subject, then users can find all information about that subject in a single location. The Topic Maps Reference Model the information structure of all topic maps that is defined by this standard constrains the definitions of Topic Maps Applications in order to enable the achievement of this "Subject Location Uniqueness Objective [SLUO]". It specifies a foundation for lossless and uniform treatment of heterogeneous topic map information.
[parid6007] The Topic Maps Reference Model meets the following requirements:
[parid6008] The Topic Maps Reference Model allows any number of diverse systems of expression "Topic Map Applications" to be created and used, while minimizing the cost of merging knowledge expressed in terms of one Topic Map Application with knowledge expressed in terms of another. Topic Map Applications can be as diverse as the knowledge they are used to express, as the cultural contexts in which they are created and/or used, as the goals of their creators and users, and as the constraints under which they are created and used. Topic Map Applications may be large and complex, or small and simple. They may be designed for generality, and/or to meet highly specialized requirements.
[parid6014] The Topic Maps Reference Model allows the creators of topic maps to express knowledge in terms of any combination of pre-existing Topic Map Applications, and/or to extend them in whatever ways may be required. The knowledge represented in their topic maps can be merged with the knowledge represented in other topic maps automatically, to whatever extent their knowledge is governed by the Topic Map Applications that they share.
[parid6010] The Topic Maps Reference Model enables the development of software implementations that flexibly support arbitrary combinations of Topic Map Applications.
[parid6499] The Topic Maps Reference Model allows Topic Map Applications to be expressed as topic maps that can automatically merge with the topic maps that they govern, thus enhancing their ability to describe themselves.
[parid6015] The Topic Maps Reference Model facilitates the comparison, analysis, and adoption of Topic Map Applications. It also allows the processing and merging behaviors of implementations of Topic Map Applications to be directly compared, thus affording opportunities for determining the origins of any discrepancies in their treatment of topic map information.
1 | [parid0499] Scope |
[parid6016] This standard specifies:
[parid6017] the information structure of all topic maps;
[parid6018] certain common properties of topics, and constraints on the values of those properties;
[parid6019] constraints on the definitions of Topic Map Applications;
[parid6407] the definition of the term "fully merged" as it applies to topic maps; and
[parid6408] other definitions and specifications that support the foregoing.
2 | [parid6409] Glossary |
2.1 | [parid6020] intra-assertion |
[parid6021] Pertaining to the components of a single assertion instance.
2.2 | [parid6031] property |
[parid6032]
[parid6049] A class of name/value pairs defined by a TM Application.
[parid6050] A component of a topic that is an instance of such a class.
[parid6051] A property may represent the identity of the subject of the topic of which it is a component, or information about the subject, such as its relationships with other subjects, or both.
2.3 | [parid6022] situation property |
[parid6023] A property of a topic that is defined for all topic maps by the Topic Maps Reference Model. Each such property represents connections between the topic and other topics; its value is a topic or topic list. Such a property represents the fact that the topic has an intra-assertion connection to each of the others.
2.4 | [parid6024] subject |
[parid6025] Any thing whatsoever, regardless of whether it exists or has any other specific characteristics, about which anything whatsoever may be asserted by any means whatsoever.
2.5 | [parid0430] topic [node] |
[parid6028] A non-empty set of properties that serves as a surrogate of a subject.
2.6 | [parid6029] topic map |
[parid6030] A body of information consisting of a non-empty set of topics.
2.7 | [parid2235] Topic Map Application [TM Application] |
[parid2236] A defined set of assertion types, properties, and their supporting definitions that is intended to govern the expression and merging behaviors of a set of topic maps. It is not a "software application"; it is a world view, expressed in a way that enables it to be implemented uniformly.
2.8 | [parid6033] treated as a set |
[parid6034] Regarded (as a list) in such a way as to ignore both the order of the items in the list, and any duplicates that appear in the list.
[parid0467] When two property values are lists that are both required to be treated as sets, their equality or inequality can be determined by any procedure that yields the same results as the following procedure:
[parid0459] Make each item in each list unique in that list, i.e., delete all duplicate items from each list.
[parid0460] Apply the same comprehensively deterministic order-normalization algorithm to both lists.
[parid0466] Compare each item in one list for identity with the item in the corresponding position in the other list.
[parid0486] If all the pairs of items in corresponding positions in the two lists are identical, the two sets are equal. If any pair of corresponding items are not identical to each other, or if the lengths of the two lists are not the same, the two sets are not equal.
3 | [parid6410] Subjects, topics, and properties |
3.1 | [parid6411] Subjects and topics |
[parid6035] In a topic map, all subjects that are defined, and/or about which any information is conveyed, are represented by topics. The number of topics in a topic map is finite; in order to create a topic map it is necessary to choose the subjects that will be represented in it.
3.2 | [parid6412] Properties of topics |
[parid6009] Topics consist of properties. Each property is defined by a Topic Map Application [TM Application]. A single topic can include properties defined by multiple TM Applications.
[parid6041] Some properties are Subject Identity Discrimination Properties (SIDPs). All others are called "other properties (OPs)".
[parid6500] Some properties are "built-in"; all others are "conferred".
[parid6501] Some properties are "situation properties"; all of these are defined by the Topic Maps Model. All other properties are "TM Applicationdefined properties."
3.2.1 | [parid0234] Property names |
[parid6037] Every property has a name; the name is different from that assigned to all other properties, assertion types, and roles.
|
3.2.2 | [parid6042] Property Values |
[parid6043] Properties exhibit values only if values have been assigned to them.
|
[parid6045] Property values have types. The Topic Maps Reference Model provides some value types and a facility for defining others; see Annex [parid6418] Annex A. The value type of a property may be such that the value exhibited by the property consists of subproperty values.
3.2.3 | [parid6039] Subject identity discrimination properties (SIDPs) |
[parid6419] Every topic exhibits a value for at least one SIDP. The values of SIDPs specify the subject for which the topic is a surrogate. SIDP values are the only basis for automatically recognizing when two topics have the same subject or different subjects, and should therefore either be merged or left unmerged. Each SIDP, if it exhibits a value, independently specifies the subject of the topic, for all purposes of subject identification and the merging of topics.
3.2.4 | [parid6040] Other properties (OPs) |
[parid6420] The values of OPs do not influence the merging process. Their significance is entirely TM Applicationdefined.
4 | [parid6413] Relationships and assertions |
[parid6052] Subjects have relationships with each other. These relationships are themselves subjects, and they have substantive aspects which are also subjects.
4.1 | [parid6053] Substantive aspects of relationships |
[parid6064] When a topic represents a relationship among topics, such a topic is called an "assertion topic" or "a-topic". Every a-topic is the nexus of a set of topics, called an "assertion". Each member of the set (including the a-topic) represents a subject which is a substantive aspect of the relationship.
[parid6054] When a relationship exists among subjects, each subject so related is called a "role player". In the context of any specific assertion, each topic that represents a role player in that assertion is called an "x-topic".
[parid6059] Each role player plays a specific role in the relationship, and each such specific role is itself a subject. In the context of any specific assertion or assertion type, each topic that represents a role is called an "r-topic".
[parid6060] The fact that a specific role player (or the fact that no role player) plays a specific role in a specific relationship is called a "casting". Topics whose subjects are castings are called "c-topics".
[parid6061] When a relationship is explicitly an instance of a specific type of relationship, the type is itself a subject. Such a subject, which may be called a "relationship type" or an "assertion type", should be defined in such a way as to specify the roles, the qualifications that should be met by the players of the roles, and the significance (semantics) of all instances of the type. Topics whose subjects are assertion types are called "t-topics".
|
4.2 | [parid6062] Situation properties |
[parid6063] The topics in the set of topics that comprise an assertion refer to each other by means of certain of their properties; these properties, called "situation properties", are the only properties defined for all topic maps by the Topic Maps Reference Model.
4.2.1 | [parid6055] Situation properties of assertion topics ("a-topics") |
4.2.1.1 | [parid6426] IS13250::a-sidp |
[parid6057] Every a-topic must have a single SIDP, IS13250::a-sidp. This property's value is structured as two subproperties:
[parid0452] The t-topic subproperty's value, if any, is a topic.
[parid0456] The castingPair subproperty's value, is a list of pairs of sub-subproperties, as follows:
[parid0457] The r-topic sub-subproperty's value is a topic.
[parid0458] The x-topic sub-subproperty's value is a topic.
[parid6422] The value of the t-topic subproperty is the topic that represents the type of the assertion which is the subject of the a-topic. The value, if any, must be the same as the value of the IS13250::a-type property, if any. If the value of the t-topic subproperty is empty, the type of the assertion is unspecified; in this case, the value of the IS13250::a-type property, if any, must also be empty.
[parid6423] The castingPair subproperty's value is a list of pairs of topics treated as a set. The r-topic sub-subproperty is the topic whose subject is one of the role players of the assertion, while the other sub-subproperty of the pair, x-topic, is the topic whose subject is the role being played by that same role player. There must be a one-to-one correspondence between this set of pairs and the set of c-topics that is the value of the IS13250::a-casting property of the same a-topic, such that in each correspondence, the value of the r-topic sub-subproperty is the same as the value of the corresponding IS13250::c-role property, and the value of the x-topic sub-subproperty is the same as the value of the corresponding IS13250::c-rolePlayer property.
|
[parid6066] If a topic has an IS13250::a-sidp property, it must also have an IS13250::a-casting property, and an IS13250::a-role property. It may have an IS13250::a-type property. It must not have any properties whose names begin with "IS13250::r-", "IS13250::c-", or "IS13250::t-". It must not have any other SIDPs whatsoever.
[parid0010] No topic that does not have an IS13250::a-sidp property can have any properties whose names begin with "IS13250::a-".
4.2.1.2 | [parid6425] IS13250::a-casting |
[parid6427] Every a-topic must have an OP, IS13250::a-casting, whose value is a list of topics treated as a set.
[parid6070] The value is the set of c-topics of the assertion of which the a-topic is the nexus. There must be two or more. There must be a one-to-one correspondence between the members of the set of c-topics and the members of the set of pairs of topics that are the value of the castingPair subproperty of the IS13250:a-sidp property, as specified in [parid6423] 4.2.1.1.
[parid0468] Each of the c-topics in the value of the IS13250::a-casting property must have a reciprocal IS13250::c-assertion property whose value is the a-topic.
4.2.1.3 | [parid6429] IS13250::a-type |
[parid6430] Every a-topic may have an OP, IS13250::a-type, whose value, if any, is a topic.
[parid6432] If an a-topic has a non-empty IS13250:a-type property, the value is the t-topic of the assertion of which the a-topic is the nexus. If the a-topic does not have an IS13250::a-type property, or if the value is empty, the type of the assertion is unspecified.
[parid0105] The a-topic must be a member of the set of a-topics that is the value of the IS13250::t-assertion property of the t-topic, if any.
4.2.1.4 | [parid6433] IS13250::a-role |
[parid6434] Every a-topic must have an OP, IS13250::a-role, whose value is a list of topics treated as a set.
[parid6436] The value is the set of r-topics of the assertion of which the a-topic is the nexus. There must be two or more. There must be a one-to-one correspondence between the members of the set of r-topics and the members of the set of c-topics that are the value of the IS13250:a-casting property.
4.2.2 | [parid0002] Situation property of role player topics ("x-topics") |
4.2.2.1 | [parid0003] IS13250::x-casting |
[parid0004] Every x-topic has an OP, IS13250::x-casting, whose value is a list of topics treated as a set.
[parid0007] The value is the set of all c-topics that cast the subject of the x-topic in a role in an assertion. The value must be zero or more c-topics. If the value is empty, the subject of the x-topic does not play any roles in any assertions, the topic is not an x-topic, and the IS13250::x-casting property is ignored.
[parid0008] All subjects, without exception, are eligible to be role players in relationships; therefore all topics are eligible to be x-topics, that is, to have an IS13250::x-casting property with a non-empty value.
[parid0478] Each of the c-topics in the value of the IS13250::x-casting property must have the x-node as the value of its IS13250::c-rolePlayer property.
|
4.2.3 | [parid0011] Situation properties of casting topics ("c-topics") |
4.2.3.1 | [parid0012] IS13250::c-sidp |
[parid0013] Every c-topic must have a single SIDP, IS13250::c-sidp. This property's value is structured as three subproperties:
[parid0479] The a-topic subproperty's value is a topic.
[parid0480] The r-topic subproperty's value is a topic.
[parid0485] The x-topic subproperty's value, if any, is a topic.
[parid0015] If a topic has an IS13250::c-sidp property, it must also have an IS13250::c-assertion property, and an IS13250::c-role property. It may have an IS13250::c-rolePlayer property. It must not have any properties whose names begin with "IS13250::a-", "IS13250::r-", or "IS13250::t-". It must not have any other SIDPs whatsoever.
[parid0016] No topic that does not have an IS13250::c-sidp property can have any properties whose names begin with "IS13250::c-".
[parid0018] The value of the a-topic subproperty of the IS13250::c-sidp property must be the a-topic that represents the relationship within which the subject of the c-topic is one of the castings. Its value must be the same as the value of the IS13250::c-assertion property of the same c-topic.
[parid0019] The value of the r-topic subproperty of the IS13250::c-sidp property must be the r-topic that represents the role of the casting which is the subject of the c-topic. Its value must be the same as the value of the IS13250::c-role property of the same c-topic.
[parid0017] The value of the x-topic subproperty of the IS13250::c-sidp property must be the topic that represents the role player of the casting which is the subject of the c-topic. The value, which may be empty, must be the same as the value of the IS13250::c-rolePlayer property of the same c-topic. If the value of the x-topic subproperty is empty, there is no player of the role which is the subject of the topic which is the value of the r-topic subproperty in the relationship which is the subject of the topic which is the value of the a-topic subproperty.
4.2.3.2 | [parid0020] IS13250::c-role |
[parid0021] Every c-topic must have an OP, IS13250::c-role, whose value must be a topic.
[parid0027] The value must be the r-topic whose subject is the role of the casting which is the subject of the c-topic. The value must be the same as the value of the r-topic subproperty of the IS13250::c-sidp property of the same c-topic. The c-topic must be a member of the set of c-topics that is the value of the IS13250::r-casting property of the r-topic.
4.2.3.3 | [parid0035] IS13250::c-rolePlayer |
[parid0038] Every c-topic must have an OP, IS13250::c-rolePlayer, whose value must be a topic.
[parid0040] The value, if any, must be the x-topic whose subject is the role player of the casting which is the subject of the c-topic. The value must be the same as the value of the x-topic subproperty of the IS13250::c-sidp property of the same c-topic, or it must be empty if there is no x-topic subproperty. The c-topic must be a member of the set of c-topics that is the value of the IS13250::x-casting property of the x-topic.
4.2.4 | [parid0041] Situation properties of role topics ("r-topics") |
4.2.4.1 | [parid0043] IS13250::r-casting |
[parid0044] Every r-topic may have an OP, IS13250::r-casting, whose value is a list of topics treated as a set.
[parid0050] The value is the set of all c-topics whose subjects are castings of the role that is the subject of the r-topic. No such casting can be an aspect of the same assertion as any other in the set. If the value is empty, there is no assertion of which the subject of the r-topic is a role aspect. Even if the value is empty, any topic that has an IS13250::r-casting property is an r-topic.
[parid0051] If a topic has an IS13250::r-casting property, it must not have any properties whose names begin with "IS13250::a-", "IS13250::c-", or "IS13250::t-".
[parid0052] A topic is considered an r-topic if it has an IS13250::r-casting property, even if the value of the property is empty. It may or may not also have an IS13250::r-type property.
[parid0053] Each of the c-topics in the value of the IS13250::r-casting property must have a reciprocal IS13250::c-role property whose value is the r-topic.
4.2.4.2 | [parid0054] IS13250::r-type |
[parid0055] Every r-topic may have an OP, IS13250::r-type, whose value, if any, must be a topic.
[parid0059] The value is the t-topic whose subject is the assertion types whose role set includes the role which is the subject of the r-topic. If the value is empty, there is no assertion type that includes the subject of the r-topic among its roles.
[parid0437] A topic is considered an r-topic if it has an IS13250::r-type property, even if the value of the property is empty. It may or may not also have an IS13250::r-casting property.
[parid0449] If an r-topic has a non-empty IS13250::r-type property, then the t-topic that is its value must be the same t-topic that must be the value of all of the IS13250::a-type properties of all of the a-topics that are the values of all of the IS13250::c-assertion properties of all of the c-topics (if any) in the value of the r-topic's IS13250::r-casting property. If an r-topic has no IS13250::r-type property, or if the value of the IS13250::r-type property is empty, then the values of the IS13250::a-type properties, if any, of all of the a-topics that are the values of all of the IS13250::c-assertion properties of all of the c-topics (if any) in the value of the r-topics IS13250::r-casting property must also be empty.
[parid0079] The t-topic in the value of the IS13250::r-type property must have a reciprocal IS13250::t-role property whose value includes the r-topic.
4.2.5 | [parid0111] Situation properties of assertion type topics ("t-topics") |
4.2.5.1 | [parid0112] IS13250::t-assertion |
[parid0146] Every t-topic may have an OP, IS13250::t-assertion, whose value is a list of topics treated as a set.
[parid0148] The value is the set of all a-topics whose subjects are assertions that are instances of the assertion type that is the subject of the t-topic. If the value is empty, there are no instances of the assertion type.
[parid0150] A topic that has an IS13250::t-assertion property is a t-topic even if the value of the property is empty. It must not have any properties whose names begin with "IS13250::a-", "IS13250::c-", or "IS13250::r-". It must also have an IS13250::t-role property.
[parid0151] Each of the a-topics in the value of the IS13250::t-assertion property must have a reciprocal IS13250::a-type property whose value is the t-topic.
4.2.5.2 | [parid0152] IS13250::t-role |
[parid0153] Every t-topic must have an OP, IS13250::t-role, whose value is a list of topics treated as a set.
[parid0173] The value is the set of all r-topics whose subjects are the roles defined for the assertion type that is the subject of the t-topic. There must be two or more.
[parid0507] A topic is considered a t-topic if it has an IS13250::t-role property, even if the value of the property is empty. It may or may not also have an IS13250::t-assertion property.
[parid0206] Each of the r-topics in the value of the IS13250::t-role property must have a reciprocal IS13250::r-type property whose value is the t-topic.
5 | [parid6414] Situations and Property values |
[parid0496]
6 | [parid6415] Requirements for Defining TM Applications |
[parid0492]
7 | [parid6416] Constructing a fully merged topic map |
[parid0488]
8 | [parid6417] Conformance |
[parid0487]
Annex A | [parid6418]Property Value Type Definition Facility (Normative) |
[parid6457]