NAME

TM::QL::TS - Topic Maps, TMQL Tuple Sequences

SYNOPSIS

TBD

DESCRIPTION

Tuple sequences (TSs) are sequences of tuples of values. Values are either literals (TM::Literal) or internal map identifiers. Naturally, TSs are modelled as array of array of values.

This package simply provides manipulation functions for this data structure.

@@@@

states

ATOMIFY

ATOMIFIED

INTERFACE

Functions

ts_concat

@@@ multiplies one TSs with another @@@

ts_share

ts_interleave

simply vertically combine TSes

implements |||

!! first param is modified!!! (cheap)

ts_subtract

implements --- op computes difference (a - b)

ts_intersect

implements the === operator

potentially expensive operation!

ts_literalify
ts_op
ts_fun

gets a tuple sequence, takes a tuple, interprets this as argument

ts_cmp
ts_eq, ts_uo_eq

These boolean functions compare two TSs on a semantic basis, in that the individual value entries are compared according to their type semantics. Two floats, 3.14 and 3.140 for instance are the same, although their representation may differ.

ts_eq respects the ordering of the sequence, whereas ts_uo_eq treats the sequences as bags (multisets).

Note: This contrasts with ts_identical which makes a verbatim comparison on the representation.

Note: ts_uo_eq is a DESTRUCTIVE test, and it is not YET honoring type semantics. TO BE FIXED.

ts_identical

This boolean function makes a deep comparison of the two TSs passed in. Only if they are exactly identical, the result will be non-zero.

ts_navigation

move, move, move

# apply one step of navigation

AUTHOR

Robert Barta, <drrho@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 200[5-7] by Robert Barta

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.