Machine readable ontology/vocabulary modules

On yesterday's call I described an idea for supporting tools that make use of the evolving ontology.

The problem is that the ontology will be unbounded and expected to grow through modularization. We cannot anticipate what the ontology will contain in future years. This means that to make use of future modules, you either have to read the descriptions/definitions and figure out for yourself how to use them, or you find a way for tools to learn about the modules in a programmatic manner.

We faced a similar problem in the DDWG. We have created the DDR API [1], which can make use of any Vocabulary that is defined according to the DDWG's guidelines. However, this is still a human activity. The vocabulary definitions (identified by unique URIs) must be read by a human to discover all the property names, aspect names, their data types, relationships and semantic interpretation. This makes it hard to automatically plug in new vocabularies for any authoring tool.

It was also expected by the members of DDWG (now closed) that the definitions in a vocabulary would someday be able to reference some common formal definition in a common ontology. For example, the DDR's core vocabulary [2] contains properties for the screen dimensions, including definitions of the terms "height" and "width" in integer units of "pixel". It would have been far more useful to refer to an external common ontology for these terms. This would mean that, for example, the people in the graphics world would be able to match the concepts of height/width to graphic icon height/width, so that it would be possible to automatically discover how many icons would fit on a screen. Instead, we have to manually check that screen width in pixels is a similar measurement to icon width in pixels before we can do the icon density calculation.

Figuring out how to provide machine-readable vocabularies was out of scope for the DDWG. So was figuring out how to create an ontology, and make it machine readable too.

However, this is potentially a job that UWA could do. It was certainly something I kept in mind during the years I was chairing DDWG.

So yesterday I just asked the question. When José said that each module would be uniquely identified by a namespace, I asked how that namespace URI could be dereferenced, and whether such dereferencing could return a machine-readable document from which one could programmatically discover the items contained within that ontology module. Similarly, any vocabulary associated with the ontology module should be expressible in a machine-readable manner so that relationships between vocabularies can be discovered.

This is something that could assist in the creation of tools for adaptable solution development. For example, consider the following future-looking use-case that would be made possible by machine-readable ontology/vocabulary modules:

  - The solution author obtains an adaptation component that processes images.

  - The component comes with a vocabulary of properties contained in a vocabulary plug-in.

  - The plug-in is installed in the development tool.

  - The tool now lists the new vocabulary terms that have become available when images are the subject of adaptation.

  - The tool also checks whenever these terms are used in conjunction with similar terms from other known vocabularies.

  - For example, the tool now knows that comparing image widths to screen widths is a permitted comparison.

With more flexible type definitions, one could even automatically deal with type/units conversion, and many other common situations that are time-consuming for developers.

---Rotan

[1] http://www.w3.org/TR/DDR-Simple-API/
[2] http://www.w3.org/TR/ddr-core-vocabulary/





____________________________ 
Dr Rotan Hanrahan 
Chief Innovations Architect 
Mobileaware Ltd 
  
4 St Catherines Lane West 
The Digital Hub 
Dublin 8, Ireland 
E: rotan.hanrahan@mobileaware.com 
W: www.MobileAware.com 

Received on Friday, 27 February 2009 14:02:28 UTC