manicwave

Surf the wave

Ontologies

Permalink

Speaking of ontologies, it strikes me that there is something to the externalization or association of meaning to object models. The SemanticWeb promises to do this for the now unstructured universe of web content.

The history of programming is littered with attempts to find the SilverBullet for sharing data and meaning between players. The initial hype around XML was centered around it becoming technologies Esperanto...née the RosettaStone.

The issue that remained is that if I have an XML document that refers to 1, the recipient of this data is left to infer the meaning of quanitity. Is that units? Is that gross? The construction of structured content in XML via DTDs or even XSD is/was an attempt to provide shared understanding. Unfortunately, this ignores the history of similar attempts. COBOL copybooks were one such attempt to share definition between parties. Structures, variant records, objects, XDR, CORBA, etc have all tackled the issue of sharing and abstracting definition. The rub is that everyone of these attempts has failed to impart meaning to the data they share.

Now you may argue that this is IvoryTower talking, but the reality that all of these strategies and technologies become brittle over time. Don't shoot the messenger.

So where does that leave us?

There are some cool things going on with RDF and DAML+OIL that gives rise to the thought of imbuing application/object models with semantic meaning. Rather than simply expressing that an object has these attributes, we codify the semantics of the model using ontologies. While no perspective users of the resulting model may understand what a Product Quantity is by its object definition in some _n_GL language, associating Product Quantity with a #UnitOfMeasure type and corresponding constraints and relationships facilitates the interoperability of applications at a semantic level, rather than the syntactic bindings so prevalent today.

We'll be spending some time drilling down into this. Looking at CYC, DAML, and RDF and their applicability to metamodeling and object technologies.

Comments to me.