3 June 2010

Topic Maps visualisation

I've had a screenshot of a demo I made some time ago just lying around on my desktop, sulking for being forgotten and ignored for so long. I guess I wanted to polish the demo up and make it live at some point, but I've been distracted by a pandemonium of butterflies that has taken up room in my house of late, so I'm just going to dump it here ;


What you're seeing is parts of the Opera Topic Map by Steve Pepper represented as a Treemap (similar to the Protovis thing that Patrick linked to today), and the concept work well as a way to browse around the Topic Map itself, even through smooth zooming in and out of large and small groups of things.

The next fun thing is another tool I've made that takes some YAML structure or XTM as input, and create pretty decent graph representations of the map using GraphViz ;


This one is an ontology that is especially made for a portal I'm doing for Claudio Monteverdi, the baroque composer (and a hero of mine). Here's what a partial input looks to get the idea ;


    Music:
        (c) Work:
            (i) L'incoronazione di Poppea:
            (i) Il ritorno d'Ulisse in patria:
        (c) Form:
            (i) Madrigal:
            (i) Motet:
            (i) Canzonet:
            (i) Mass:
            (i) Trio sonata:
            (i) Opera:
        (c) Style:
            (i) Primo prattica:
            (i) Secondo prattica:
    Person:
        (i) Monteverdi, Claudio:
        (i) Monteverdi, Baldasarre:


This method is perfect for sitting down with customers and clients, and just jot out models, ontologies and concepts; all you need is a text editor. (You'll notice that assocs are made through (c) (i) and a few others, which basically are assoc templates you can define more of, so a meta ontology for ontology construction. Yay! :) It's a couple of PHP classes (one of them being the PHP Topic Maps engine I've talked about before that I'll wrap up if I get some spare time) that generate DOT from the input, and serves up a generated image on refresh, so basically you edit the text file, save and hit refresh. Very fast. I might even consider an inbuilt editor in the browser, but pah!

Anyway, just a quick dump there. I'm also working on a far more complicated TM visualisation thingy using RaphaelJS to play directly on the HTML5 Canvas using native and SVG graphics, and it's looking very good so far. I'll show you more when things gets closer to something I won't hide in shame over ...

No comments:

Post a Comment