---
name: "TM::PSI"
section: "3pm"
platform: "linux"
package: "libtm-perl"
version: "1.56-7"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/TM::PSI"
---

# TM::PSI(3pm)

Topic Maps, PSI (published subject identifiers)

## NAME

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

## DESCRIPTION

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:

- **TMRM**-related

  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.

- **AsTMa**-related

  Here are more concepts which are needed by the AsTMa= language(s), such as `"template"` or `"ontology"`.

- **TMQL**-related

  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);
```

### Taxonometry

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}});
```

## SEE ALSO

TM

## AUTHOR INFORMATION

Copyright 200\[1-68\], Robert Barta \<drrho@cpan.org\>, All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

```
  http://www.perl.com/perl/misc/Artistic.html
```
