next up previous
Next: Example Up: Background Previous: Labelling the Real World

   
Practicalities

Practical interoperability has to take account of pre-existing data which may have been constructed using entirely different semantic principles. In the case of feature identity, the task in hand is not so much to provide support for those existing dataset collections which provide sophisticated persistent identifiers as to provide mechanisms whereby datasets without persistent identifiers can nevertheless offer useful services as if they did. For example, a good standard should not preclude the possibility that identity is constructed using a key based on one or more attribute values (as used in many RDBMSs), but neither should it mandate such an approach since many other GISs have a concept of identity which cannot be adequately represented by that approach.

The process of standardisation introduces its own oddities and restrictions which are not present in either commercial or academic research software. In addition, the goals themselves are different from most academic work in GIS. University research tends to look for proof that an innovative technique is feasible, elegant and efficient, irrespective of its compatibility with existing systems, whereas standardization research has to bring the bulk of the existing commercial implementations with it. Thus introducing new concepts has to be done with great care:

A ``namespace'' is a concept which has been found increasingly useful in the design of computer languages. The C++ language recently elevated it to be an integral part of the language, and the Python language is fundamentally designed around it [3].

Thus while a concept may be universally agreed as being a useful aid in structuring a problem area, it can be nevertheless be productive avoid naming or reifying it because that can then avoid an entire harmonisation argument.

For those objects (concepts) we are going to name individually we then consider how we might ``get one'' and what we could do with it once we've got it, i.e. what other object might be a factory for it, and what operations we might want to perform on it or with it.


 
next up previous
Next: Example Up: Background Previous: Labelling the Real World
Tom Conversion Service