NAME

XTM - Topic Map management

SYNOPSIS

use XTM;

$tm = new XTM; # creating an empty map

# reading a topic map description from an XML file
use XTM::XML;
$xml = new XTM::XML (file => 'mymap.tm'); # create an XML channel, see XTM::XML
$tm  = new XTM (tie => $xml); # binds variable to channel

# primitive accessor to fetch/set the memory representation of the map
print Dumper $tm->memory;
# basic statistics about a map
print Dumper $tm->info;

DESCRIPTION

Topic Maps are a means for layering multidimensional topic spaces on top of information assets. The standard covers concepts like topics, associations, scopes and occurrences. Topic Maps are expected to have a major impact on future information systems (semantic web).

See http://www.topicmaps.org/xtm/1.0/ for more information.

Topic maps can be loaded from an XML based resource (local or remote via an URL) as prescribed by the XTM standard. There is also a way to tie a map to a persistent medium. The latter is especially interesting when running this module along with a (web) server.

PACKAGES

Following package come with this distribution (XTM::Server is in preparation):

XTM                          this package, toplevel wrapper for (non-threaded) maps
XTM::Memory                  in-memory representation of a map

XTM::XML::PSI                PSI definitions
XTM::XML                     XML parser
XTM::XML::Latin1Parser       
XTM::XML::UTF8
XTM::XML::Grove2TM

XTM::Log                     logging facility will be used by others

XTM::generic                 accessor functions for all below
XTM::topic                   implementation of the 'topic' class
XTM::association             implementation of the 'association' class

XTM::topicRef                generic class definition
XTM::baseName                generic class definition
XTM::scope                   generic class definition
XTM::resourceRef             generic class definition
XTM::instanceOf              generic class definition
XTM::subjectIdentity         generic class definition
XTM::subjectIndicatorRef     generic class definition
XTM::variant                 generic class definition
XTM::variantName             generic class definition
XTM::parameters              generic class definition
XTM::roleSpec                generic class definition
XTM::member                  generic class definition
XTM::mergeMap                generic class definition
XTM::resourceData            generic class definition
XTM::baseNameString          generic class definition
XTM::occurrence              generic class definition

INTERFACE

Constructor

The constructor expects no mandatory parameters but you can provide a hash with the following fields:

tie:

If you provide a tieable object (XTM::XML, ...), then this object is bound to the topic map.

staleness: (not implemented in this public version)

This additional field lets you specify how strong the relationship between the original source (say, XML file) and the map is. Whenever the time difference between memory copy and the copy on the tie-ed medium exceeds the staleness given, then a sync (either in or out) will be done.

$tm = new XTM ();
$tm = new XTM (tie => new XTM::XML (file => 'map.xtm'));

Methods

All, except the methods below, are handed over to the corresponding memory component.

memory

returns/sets the XTM::Memory component. Setting will NOT check the consistency with the other components.

info

returns some meta/statistical information about the map in form of a hash reference.

SEE ALSO

XTM

AUTHOR INFORMATION

Copyright 2001, Robert Barta <rho@telecoma.net>, All rights reserved.

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