NAME

TM::Analysis - Topic Maps, analysis functions

SYNOPSIS

use TM::Materialized::AsTMa;
my $tm = new TM::Materialized::AsTMa (file => 'test.atm');

use TM::Analysis;
print Dumper TM::Analysis::clusters ($tm);

print Dumper TM::Analysis::statistics ($tm);

DESCRIPTION

This package contains some topic map analysis functionality.

INTERFACE

clusters

$hashref = clusters ($tm)

computes the islands of topics. It figures out which topics are connected via associations and - in case they are - will collate them into clusters. The result is a hash reference to a hash containing list references of topic ids organized in a cluster.

In default mode, this function only regards topics to be in the same cluster if topics play roles in one and the same maplet. The role topics themselves or the type or the scope are ignored.

You can change this behaviour by passing in options like

use_scope => 1

use_roles => 1

use_type  => 1

Obviously, with use_scope => 1 you will let a lot of topics collapse into one cluster as most maplets usually are in the unconstrained scope.

statistics

This (currently quite limited) function computes a reference to hash containing the following fields:

nr_midlets

Nr of midlets in the map. This includes ALL midlets for topics and also those for assertions.

nr_maplets

Nr of assertions in the map.

nr_clusters

Nr of clusters according to the cluster function elsewhere in this document.

SEE ALSO

TM

COPYRIGHT AND LICENSE

Copyright 200[3-6] by Robert Barta, <drrho@cpan.org>

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