Topic Maps meet GeoSemantics
One of my main agendas here at the research center is to evaluate the usefulness of semantic technologies for geospatial applications. All this has to do a little bit with geographical maps, but much more prominently with time series of measurement data in large sensor networks.
As soon as you start to model such information with RDF or Topic Maps, you immediately realize that quite relevant information cannot be properly captured.
One of the blatant omissions when dealing with values is that while RDF and TMs allow literals with types, the values themselves cannot have a unit.
Now when you measure something, or whenever you compute a new value from your data it always has a unit, and even if it is unit-less.
In RDF you could introduce more blank nodes to link the unit to, but this is just silly. Also the TM model does not really help you here.
So I simply decided to change the model. I had already modified my software in the direction of TMRM so that the type is an inherent part of the value (and not separate as dataType property of an occurrence). Now also values have a unit, undef being a default and uno being the empty unit.
A little bit more effort it is to represent spatial information. That - as you might well know - can be manifested by a point in a coordinate system. But that of course gives you plenty of choices: UTM, GPS just to name the usual suspects.
Reverse geocoding is then the process to connect such a coordinate with an address, or simply a name such as Gramatneusiedl (which is a small and not massively attractive settlement in the neighborhood).
Together with a decent background ontology for geographical concepts and a proper infrastructure for geocoding and reverse geocoding you can capture a substantial part of the required information.
Of course, you want to train your software to always honor the transitivity of is-located-in associations.
Much more thornier is the management of temporal information. Of course you could take the path and create a concept event and then attach dateTime information to instances of event, but there is much more to it (see OWL Time for the RDF frontier).
What we (that is Lara Spendier and /me) ended up doing, is to extend the Topic Maps model itself by forcing all associations to have a temporal extension. One can now say the station S123 was in Vienna from 21.04.2008 until 22.04.2008 and that is directly encoded into one association. On that we base all temporal concepts (before, after, etc).
Of course, the machinery has to be adapted to handle this piece of information now natively.
Time Series Information
What Lara also did was to create a language to express rather complex time patterns, such as in 2007 a particular sensor station was in Vienna every Mon, except in June and July, when it was a Wed.
That is needed for a number of things, among them to encode more or less regular measurements. These are normally organized in time series, but we have chosen to extend them (and actually every single measurement) by contextual, semantic information.
This will allow us to create transformers of time series not only on the numeric level, but also on the semantic level. The plan is to have a framework to gradually aggregate information and have a closed transformation chain from purely numeric time series data to more meaningful information.
So if your audio sensor delivers footsteps at the door, your Topic Map application will pop up and tell you
"Boss is coming, stop reading rho's blog".
Work supported by the Austrian Research Centers.