|
XOL |
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
OverviewAt its recent meeting the BioOntology Core
Group reached the consensus to recommend the use of a frame-based
language with an XML syntax for the exchange of ontologies for
molecular biology. At that meeting the following points were made. 1)
A traditional frame-based approach for representation of biological
entities is sufficient for current needs.
In addition, frame-based systems have been in use for a significant
period of time and are, in general, stable representation systems. Among frame-based systems Ontolingua is
clearly one of the most prominent and has had extensive use for many years. 2)
XML has tremendous momentum with significant interest from commercial
organisations and a serious standardisation effort. We anticipate that XML-based tools and web servers supporting
XML are beginning to appear and more are on the horizon. The belief of the
group was that the language that we want for the exchange of ontologies
should be a frame-based system with an XML expression. However, the group also believed that we
did not have such a language before us since Ontolingua is frame-based but
without an XML expression and OML does have an XML expression, but is based
on conceptual graphs, not frames. In response to this recommendation, Peter Karp, in collaboration with Vinay Chaudhri and Jerome Thomere from SRI, have drafted a specification for a language called XOL ("XML Ontology Exchange Language") as another candidate exchange language for consideration by the BioOntology Group. XOL produces an XML expression for Ontolingua through OKBC. There will be a presentation of XOL at the meeting in Heidelberg to solicit feedback from the BioOntology group. The point of the following exercise is to see how well the frame-based language XOL can be modeled by the description logic and conceptual graphs oriented language OML/CKML. Here we demonstrate how the simple example in the XOL paper of Peter Karp, et al, can be expressed in OML. And we also represent the XOL DTD in an OML ontology. |
||||||||||||||||||||||||||||||||||||||||||
OML/CKML at a GlanceAs justified by the following points, OML/CKML is in various senses both a description logic based language and a frame-based language. · CKML: Being based on conceptual graphs, formal concept analysis, and information flow, the CKML extension of OML is closely related to a description logic based approach for modeling ontologies. Conceptual scaling and concept lattice algorithms correspond to subsumption. · OML: How and how well a knowledge representation language expresses constraints is a very important issue. OML has three levels for constraint expression: o top – sequents o intermediate – calculus of binary relations o bottom – logical expressions The bottom level corresponds to conceptual graphs. Indeed, OML assertions (closed expressions) correspond exactly to conceptual graphs. · Simple OML: Because Simple OML is based upon the fundamental classification-projection diagram, the normal expression of types and instances is very frame-like. As shown below, a core aspect of XOL is closely related to Simple OML. |
||||||||||||||||||||||||||||||||||||||||||
Interoperability between XOL and OML
|
||||||||||||||||||||||||||||||||||||||||||
|
The figures below represent the interoperability between XOL modules and OML ontologies and collections in generic style. For interoperability with specific style collections see the discussion on Simple OML parsing. The output from the internal representations, and the internal representations themselves, require suitiable application programming interfaces (APIs) for XOL and OML. |
||||||||||||||||||||||||||||||||||||||||||
From OML to XOL |
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
From XOL to OML
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
XOL Mathematical Model |
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||
Binary Relations
Functions
NOTE:1 individual.type = individual.instance-of (DTD error??) 2 The bracketed types are (may be) less common occurrences; this is a point for optimization for the translation XOL to OML. Reminder (about Formal Concept Analysis and Information Flow): the set of instances and the set of types in a classification are not necessarily disjoint – in particular, XOL classes can appear as both types and instances. The slot type within the bracket in the domain of the slot-values relation will require the reification of slots. 3 There are four origins of XOL types: i class, slot and individual are the standard frame types ii datatype and literal have been added for completeness iii slot-values is a reified type iv several types have been defined in order to organize the other types:
|
||||||||||||||||||||||||||||||||||||||||||
CorrespondencesThe element/attribute correspondences are as follows. For simplicity of explanation, in the table of correspondences below we have abbreviated the mathematical model above by ignoring types within brackets. This is one extreme, but a sensible one since it seems to occur often in practice. The other extreme is to include all classes as instances, along with individuals and literals. The XOL to OML translator can modify this as seems appropriate. The optimum approach would be to include only those classes that are specified as instances or can be inferred to be instances.
|
||||||||||||||||||||||||||||||||||||||||||
The XOL DTD
|
||||||||||||||||||||||||||||||||||||||||||
An OML Ontology for the XOL DTD
|
||||||||||||||||||||||||||||||||||||||||||
ExampleExample in XOL
|
||||||||||||||||||||||||||||||||||||||||||
Example in OMLAs shown below, a relabeling of XOL examples gives a variant of Simple OML examples. Ontologylocated at http://www.xol.org/example/ (fictitious)
|