A recurring challenge for Topic Maps-based projects is how to structure applications internally. For traditional projects based on relational storage this problem is known as the impedance mismatch problem. That is, the problem of how to handle the database in the code. Should SQL queries be just littered all over the code? Should there be some sort of structure to the database interaction? Should one perhaps use an O/R mapping tool? And so on.

The same challenge exists for Topic Maps-based projects, but it’s much less well understood, and it has not been discussed very much yet. Lars Marius Garshol did a presentation about this at an internal Bouvet conference, which describes some possible approaches to the problem. Since this is highly relevant to Ontopia users we publish the presentation here.