---
name: "TM::QL::TS"
section: "3pm"
platform: "linux"
package: "libtm-perl"
version: "1.42-1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/TM::QL::TS"
---

# TM::QL::TS(3pm)

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

```
  TBD
```

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\
 **Functions** @@@ multiplies one TSs with another @@@ 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! gets a tuple sequence, takes a tuple, interprets this as argument  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. 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. move, move, move

```
   # apply one step of navigation
```

Robert Barta, \<drrho@cpan.org\> 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.
