Haym Hirsh, Daniel Kudenko
Representing and manipulating sequences in description logics (DLs) has typically been achieved through the use of new sequence-specific operators or by relying on host-language functions. This paper shows that it is not necessary to add additional features to a DL to handle sequences, and instead describes an approach for dealing with sequences as first-class entities directly within a DL without the need for extensions or extra-linguistic constructs. The key idea is to represent sequences using suffix trees, then represent the resulting trees in a DL using traditional (tractable) concept and role operators. This approach supports the representation of a variety of information about a sequence, such as the locations and numbers of occurrences of all subsequences of the sequence. Moreover, subsequence testing and pattern matching reduce to subsumption checking in this representation, while computing the least common subsumer of two terms supports the application of inductive learning to sequences.