Langue: en

Autres versions - même langue

Version: 2008-05-12 (ubuntu - 07/07/09)

Section: 1 (Commandes utilisateur)


tm - Topic Map client and work-bench


Invocation of the work-bench

    tm <command line switch>...
    # interactive version using persistent local store
    tm --mapsphere=file:/tmp/
    # using remote store
    tm --mapsphere=http://host:13131/
    # batch version
    cat commands | tm -
    # using extensions
    tm --source '^dns:'=TM::Virtual::DNS --extension ....
    # providing your own plugins
    tm --plugin=/some/directory/ --plugin=/some/other/directory/

Commands within the work-bench

    # getting help
    tm> help                           this command
    tm> help tm                        all help on the work-bench
    tm> help tau                       help on Tau expressions
    # reading in commands
    tm> do <file>                      execute a history (config) file
    # listing all loaded plugins
    tm> plugins:
    # deploy implementations
    tm> source /<regexp>/ <package>    load the package and register it as source implementation
    tm> filter /<regexp>/ <package>    load the package and register it as filter implementation
    # dealing with history
    tm> history                        show some past commands
    tm> !<integer>                     execute command with nr <integer> in history
    tm> <cursor-up> or <cursor-down>   get previous/next command in the history (if Term::ReadLine is installed)
    # doing several things in sequence
    tm> <cmd1> ; <cmd2> ; ...          do all commands in a sequence
    # getting out
    tm> exit                           leave the bench
    tm> quit                           ditto
    tm> ^D                             ditto (Control-d)
    # making comments
    tm> # nice weather today           is ignored


This simple, text-oriented user interface gives access to some Topic Map functions. This program is mainly thought for quick prototyping and testing Topic Maps and/or TM software, not so much to provide eye-candy.

There are two modi operandi:

Whenever you invoke the program with the parameter "-" then it will expect commands coming from STDIN. It will process them one by one and will then terminate.
   cat my-commands | tm -
If you invoke the program without a parameter

then you will be welcomed by a command prompt. Type 'help' within this shell to get an overview over available commands. See TM::Tau for information about the language.


Following command line switches are understood by the program:
history (boolean, default: on)
If this option is turned on, a history file will be consumed before the interactive loops starts. At the end of the session the history will be updated. See FILES for details on the location.

Note: History handling only applies to the interactive mode. Still, nothing can stop you to take a history file (which contains simply lines of commands) and pipe it into this program:

   cat myhistory | tm -
source (default: undef)
This multiple option allows to add new map implementations for resourceable maps. To add, for instance, a virtualized map covering the DNS (domain name service), you would add
   --source '^dns:'=TM::Virtual::DNS

The first value is a regular expression which specifies under which circumstances the processor is supposed to use that extension if it parses a source as part of a Tau expression (TM::Tau). The other value is the name of the package which is associated with that pattern. The package is 'use'd at startup time, a warning will be issued if that fails.

Several such extensions can be provided. There is no order which can be controlled.

filter (default: undef)
This multiple option allows to add new filter implementations.
   --filter '^stats:'=TM::Tau::Filter::Statistics'
plugin (default: none means take the installed ones)
This multiple option allows to override and specify the directories where plugins are searched for. If you specify one, then none of the default ones will be loaded!
mapsphere (default: undef)
This URL defines where the background map store has to persistently live in which the maps are stored and from which they can be retrieved later.

If it is left undefined, then the store will be simulated in memory only. In the local file system case (using a URL like "file:/tmp/"), all data will be stored in the local file system. If you happen to have the server package TM::Server installed, then you may also provide a URL:

In that case all maps would be stored and retrieve from there.

logfile (default: "tm.log")
Controls the file name where the log messages should be written to. This mainly applies to debugging TM components as all error messages will be output directly.
loglevel (default: INFO)
The log level can be set to any of the following values: OFF FATAL ERROR WARN INFO DEBUG ALL
...does hopefully what you would expect.


The interpreter will look for history files:

in this order taking only the first it will find. It will only use the last 100 lines.


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.