Developing ontology-based software
Like the web, the emerging semantic web will be distributed and moreover heterogeneous. Data will therefore have to be expressed in the framework of ontologies in order to contribute to the integration of the resources that compose it. However, available ontologies are themselves also a source of heterogeneity. Semantic interoperability can be based on finding relationships between concepts belonging to different ontologies, which is commonly referred to as ontology reconciliation. The Web Ontology Language (OWL) has been originally designed to represent information about categories of objects and how these are interrelated, and importantly, about the objects themselves. This ontology language represents the meanings of terms in vocabularies and the relationships between those terms in a way that is suitable for processing by software. A common application infrastructure has been proposed by the WONDERWEB project partners to pave the way for easy access to, and integration of ontology management systems. Designed to facilitate the manipulation of OWL ontologies for use by editors, reasoners and other tools, the application programming interface (API) has provided the foundation for popular tools. These include Protégé, Swoop and Ontotrack editors, in addition to patching and versioning services, through to inference services such as explanation and debugging. The API is primarily targeted at developers who wish to work with the OWL DL language fragment (corresponding to Description Logics). It provides a level of abstraction above the Extensible Markup Language (XML) syntax for the Resource Description Framework (RDF) that is widely used for exchange. The API for manipulating OWL ontologies is available from Source Forge at: http://sourceforge.net/projects/owlapi