I came across another interesting research paper suggested by a colleague:
Context Interchange: New Features and Formalisms for the Intelligent Integration of Information (Cheng Hian Goh, Stephane Bressan, Stuart Madnick, Michael Siegel)
The basic approach that they outline is data integration through an intermediate “context mediator”. Many semantic data integration approaches require that individual data sources build robust ontologies to describe their semantics, but this still requires mapping between the ontologies. The context interchange approach requires the domain model ontology, but also a set of “context axioms” which describe the implicit context of the data, as well as what transformations would be necessary to get the data to other contexts.
There are several strengths in this paper. The first is that it actually describes context and tries to formalize context for information sharing. Also, by abstracting up to an information source’s context, their approach prevents you from having to map domain models on to one another. (The function of that mapping is subsumed by the context axioms).
The main downside of this approach that I can see is that it may not ultimately save you any mapping work. If you want to translate a data source A into something else in a different context, the context axioms in A still need to express how that data would be transformed or interpreted in another named context. Note the slight shift – instead of saying how data would be interpreted under a given domain model, the context axioms talk about how it would be interpreted under a different named context. To the extent that you believe that there are fewer contexts than systems out there, this reduces the mapping burden. Surprise surprise, the software in the middle still can’t produce spontaneous semantic magic. 🙂
I’m reading through this material in a quest for reasonable work in the area of modeling context. This paper is one of the closer things that I’ve found to what I’m looking for, but doesn’t explicitly address how context is modeled; it just uses a running example that happens to include a model for the example’s limited context. (The running example in the model has to do with integrating information from two systems that store information about corporate performance. If you want to know about all companies that are profitable, how do you do that if one system has information in dollars with a scale factor of 1, and the other in yen with a scale factor of 1,000?)