Man pages sections > man3 > TM::PSI

TM::PSI - Topic Maps, PSI (published subject identifiers)

TM::PSI(3pm) User Contributed Perl Documentation TM::PSI(3pm)


TM::PSI - Topic Maps, PSI (published subject identifiers)


This package provides predefined subjects, all of which will be preloaded in every map which is instantiated with the TM package hierarchy. When the subjects are defined also their relationship are kept here (example: isa is an instance of an assertion).
Every such subject is defined by its
item identifier
The internal identifier, which does not really mean much.
subject identifier
The subject indicator(s), which is ultimately the one which identifies any of the subjects here.
NOTE: For none of the subjects declared here a subject address exists. All concepts are TM-related concepts.
The subjects are sorted:
These are the minimal subjects which make a map what it is. Examples are "isa" and its related role (type) "class" and "instance", and "is-subclass-of" and its related roles.
TMDM-related (XTM things)
These are the additional concepts which are mandated by TMDM.
Here are more concepts which are needed by the AsTMa= language(s), such as "template" or "ontology".
Here are more concepts which are needed by TMQL.
To learn about these predefined concepts, you can do one of the following
   use TM::PSI;
   warn Dumper ($TM::PSI::core, $TM::PSI::topicmaps_inc, $TM::PSI::astma_inc, $TM::PSI::tmql_inc);


Two association types are predefined by the standard(s): "is-subclass-of" and "isa". Together with these roles are defined "subclass", "superclass" and "instance", "class", respectively.
The TM::* suite of packages has these not only built in, but also works under the assumption that these association types and also the roles CANNOT be subclassed themselves. This means that no map is allowed to use, say, "is-specialization-of" as a subclass of "is-subclass-of". The costs of this constraint is quite small compared to the performance benefits.

Infrastructure Concepts

To make the whole machinery work, every topic map must contain infrastructure topics such as "name", "occurrence" etc. They are topics like the topics a user may put into the map. While this is the right thing to do, in practical situation you often will want to filter out these infrastructure topics. You can always get a list of these via
@@@ fix docu @@@@@
    $tm->mids (keys %{$TM::PSI::topicmaps->{mid2iid}});




Copyright 200[1-68], Robert Barta <>, All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2010-07-18 perl v5.20.2