A new systems management technology known as SNOBASE (Semantic Network Ontology Base) or the Ontology Management System has been released by IBM alphaWorks. The Java-based application provides a "framework for loading ontologies from files and via the Internet and for locally creating, modifying, querying, and storing ontologies. It provides a mechanism for querying ontologies and an easy-to-use programming interface for interacting with vocabularies of standard ontology specification languages such as RDF, RDF Schema, DAML+OIL, and W3C OWL. Internally, the SNOBASE system uses an inference engine, an ontology persistent store, an ontology directory, and ontology source connectors. Applications can query against the created ontology models and the inference engine deduces the answers and returns results sets similar to JDBC (Java Data Base Connectivity) result sets. An ontology defines the terms and concepts used to describe and represent an area of knowledge. The ontology management system allows an application to manipulate and query ontology without worrying about how the ontology is stored and accessed, how queries are processed, how query results are retrieved, etc., by providing a programming interface. An ontology management system is to an ontology what a database management system (DBMS) is to data." The SNOBASE emerging technology was developed by an IBM research team including Juhnyoung Lee, Richard Goodwin, Rama Akkiraju, Yiming Ye, and Prashant Doshi.
IBM Ontology Management System Overview
"IBM Ontology Management System can help a broad range of business applications that need knowledge sharing and reuse as well as information search and navigation by using reasoning. It provides applications with a generic management environment and easy-to-use application programming interfaces and query languages, so that application developers do not need to develop/depend on proprietary solutions for ontology management. Furthermore, they can use an ontology to externalize a model and make it easier to customize an application without having to modify code. Examples of potential application candidates of this technology include Contextual Collaboration, Semantic Match Making for Web services, and Policy-Based Autonomic MPEG-4 System..."
"An management system for ontology is equivalent to a database management system (DBMS) for data. A DBMS allows an application to externalize the storing and processing of data via a standard interface and relieves the program from the burden of deciding how to store the data in files, how to index the data, how to optimize queries, how to retrieve query results, etc. In a similar way, an ontology management system allows an application to manipulate and query ontology without worrying about how the ontology is stored and accessed, how queries are processed, how query results are retrieved, etc., by providing a programming interface. Ontology editing capabilities are not viewed as the critical component of an ontology management system. An ontology management system may or may not provide the ontology editing/designing capabilities. In case it does not, an ontology management system can be used in connection with an ontology editor such as Protégé 2000. .."
"Conceptually, the application programmers interact with the management system by using the JOBC API that provides high-level access to ontology resources and an ontology engine via an ontology base driver. JOBC (Java Ontology Base Connectivity) is an application programming interface that provides applications with a high-level access to ontological resources stored in the IBM Ontology Management System. The JOBC API follows the design patterns of JDBC, but with several alterations. Like JDBC, JOBC provides a connection-based API for interacting with data sources. Unlike JDBC, however, JOBC allows connections to be made without reference to a particular base ontology. Such connections would be connections to a default ontology that would include the top-level definitions of XML-based ontology languages such as OWL, DAML+OIL, RDF, RDF Schema, XML, and XML Schema. These definitions are required in order to process any ontological information..."
"The Ontology Directory provides the meta-level information about which ontologies are available to the JOBC driver. By default, the ontology directory will need to contain the references to the top-level definitions of the XML-based ontology languages supported. For each ontology source, the directory will need to store the URI, but may additionally store information about the contents of the ontology source in order to aid in query optimization. In addition, the Ontology Directory may contain deployment information that gives additional sources of ontology information..."
"The Inference Engine provides a mechanism for interpreting the semantics of constructs of an ontology language, represented as a set of language-specific rules. The rules are used to answer queries when the requested fact is not immediately available but must be inferred from available facts. The Inference Engine of the IBM Ontology Management System was built by using IBM ABLE (Agent Building and Learning Environment) technology..."
"The Query Optimizer allows applications to query large knowledge bases, whose entire set cannot be loaded into the working memory, by querying the ontology source for appropriate pieces as they are needed. In addition, the task of the Query Optimizer is to not only optimize the retrieval of information from ontology sources, but also coordinate queries that span multiple sources. This component is still under construction, and will be added to future editions of IBM Ontology Management System..."
"The Ontology Source Connectors provide a mechanism for reading and writing ontology information to persistent storage. The simplest connector is the file connector that is used to persist ontologies to the local file system. In addition, there will be connectors for storing ontological information in remote servers. Also, the connectors are used to implement caching of remote information to improve performance and reliability..."
Ontology standards: The "W3C recommends a number of specifications for ontology standards as part of the Semantic Web stack. Specifically, XML provides a surface syntax for structured documents, but imposes no semantic constraints on the meaning of these documents. XML Schema is a language for restricting the structure of XML documents. RDF (Resource Description Framework) is a language for creating a data model for objects (or "resources") and relations among them, providing a simple semantics for the data model. The data models are represented in an XML syntax. RDF Schema is a vocabulary for describing properties and classes of RDF resources, with semantics for generalization hierarchies of s uch properties and classes. Finally, OWL (Web Ontology Language) adds more vocabulary for describing properties and classes, as well as relations among classes, cardinality, equality, richer typing of properties, and enumerated classes. OWL succeeds the preceding effort of DAML+OIL in this area. In summary, OWL adds facilities for expressing meaning and semantics to XML, RDF, and RDF Schema, and thus it goes beyond these languages in its ability to represent machine-readable content..." [adapted from the FAQ document]
Principal references:
- IBM Ontology Management System web site
- SNOBASE FAQ document
- Platform Requirements for IBM Ontology Management System
- SNOBASE development team biographical abstracts
- Download the Ontology Management System
- IBM alphaWorks Emerging Technologies
- Related:
- XML and 'The Semantic Web'
- XML and Attribute Grammars
- XML Belief Network File Format (Bayesian Networks)
- Predictive Model Markup Language (PMML)
- Triple-s XML Survey Interchange Standard
- Multilingual Upper-Level Electronic Commerce Ontology (MULECO)
- Resource Description Framework (RDF)
- Ontology Interchange Language (OIL)
- Meaning Definition Language (MDL)
- (XML) Topic Maps
- STARLab ORM Markup Language (ORM-ML)
- DARPA Agent Mark Up Language (DAML)
- OWL Web Ontology Language
- Robotic Markup Language (RoboML)
- Rule Markup Language (RuleML)
- Business Rules Markup Language (BRML)
- Business Process Modeling Language (BPML)
- Agent-Oriented Rule Markup Language (AORML)
- Extensible Rule Markup Language (XRML)
- Simple Rule Markup Language (SRML)
- Relational-Functional Markup Language (RFML)
- Ontology and Conceptual Knowledge Markup Languages
- Information Flow Framework Language (IFF)
- Simple HTML Ontology Extensions (SHOE)
- XOL - XML-Based Ontology Exchange Language
- Description Logics Markup Language (DLML)
- Case Based Markup Language (CBML)
- Artificial Intelligence Markup Language (AIML)
- Procedural Markup Language (PML)