Mapping OBO to OWL 1 1 Christine Golbreich
Mapping OBO to OWL 1. 1 Christine Golbreich & Ian Horrocks
OWL and OBO OWL: OBO: • W 3 C standard ontology • De facto standard ontology language • Large user community – Many in life sciences • Extensive library of ontologies • High quality tools • Formally specified syntax and semantics language • Large user community – Mainly in life sciences • Extensive library of ontologies • High quality tools • Informally specified syntax and semantics
OBO at a Glance • Ontology consists of a set of stanzas (frames) • Term stanzas define terms (classes), e. g. [Term] id: GO: 0001555 name: oocyte growth is_a: GO: 0016049 ! cell growth relationship: part_of GO: 0048601 ! oocyte morphogenesis intersection_of: GO: 0040007 ! growth intersection_of: has_central_participant CL: 0000023
OBO at a Glance • Ontology consists of a set of stanzas (frames) • Typedef stanzas define relationships (properties), e. g. [Typedef] id: propreo: is_described_by domain: propreo: chemical_entity range: __Description 177
OBO at a Glance • Ontology consists of a set of stanzas (frames) • Instance stanzas define instances (individuals), e. g. [Instance] id: propreo: water_molecule instance_of: propreo: inorganic_solvent_molecule property_value: propreo: is_described_by propreo: CHEBI_15377
OBO and OWL • OBO $ OWL interoperability would be useful – Sharing ontologies – Extending tool sets • Establishing exact relationship is not easy – OBO syntax not formally specified, e. g. : The intersection_of tag “indicates that this term represents the intersection of several other terms. The value is either a term id, or a relationship type id, a space, and a term id. [. . . ]”
OBO and OWL • OBO $ OWL interoperability would be useful – Sharing ontologies – Extending tool sets • Establishing exact relationship is not easy – OBO semantics not formally specified, e. g. : The relationship tag “describes a typed relationship between this term and another term. [. . . ] cardinality constraints specify the number of relationships of a given type that may be defined for instances of this term [. . . ]”
Proposed Solution • Formalise OBO syntax using BNF grammar, e. g. : The intersection_of tag “indicates that this term represents the intersection of several other terms. The value is either a term id, or a relationship type id, a space, and a term id. [. . . ]” a intersection : = intersection of: term. Or. Restr : = term-id | restriction : = relationship-id term-id
Proposed Solution • Formalise OBO semantics via mapping to OWL 1. 1 relationship: R C min. Cardinality=3 a Object. Min. Cardinality(3 R C)
Proposed Solution • Formalise OBO semantics via mapping to OWL 1. 1 [Term] id: A name: Example Class is_a: B relationship: R C min. Cardinality=3 a Sub. Class. Of(A B) Sub. Class. Of(A Object. Min. Cardinality(3 R C)) Entity. Annotation(OWLClass(A) Label(“Example Class”))
Advantages of Our Approach? • Clarifies and disambiguates OBO syntax – E. g. , can a relationship have more than one range? typedef-stanza : = ‘[Typedef]’ … [ 'range: ' term. Or. Reserved ] …
Advantages of Our Approach? • Clarifies and disambiguates OBO semantics – E. g. , is cardinality qualified or not? relationship: R C min. Cardinality=3 a Object. Min. Cardinality(3 R C) – and what is the precise semantics? (Object. Min. Cardinality(3 R C))I = { x | #{ y | ( x, y ) ∈ RI and y ∈ CI } ≥ 3 }
Advantages of Our Approach? • Can capture almost all of OBO in OWL 1. 1, e. g. : [Typedef] id: location transitive_over: part_of a Sub. Object. Property. Of( Sub. Object. Property. Chain(location part_of) location)) • Only fails to capture – “cyclic” relations (semantics? ) – negative assertions about relations (e. g. , not transitive)
Advantages of Our Approach? • Can easily extend OWL infrastructure to handle OBO – OWL API extended with OBO parser and serialiser – All tools built on top of API can now read/write OBO
Advantages of Our Approach? • Can easily extend OWL infrastructure to handle OBO – OWL API extended with OBO parser and serialiser – All tools built on top of API can now read/write OBO
Advantages of Our Approach? • Could easily extend OBO infrastructure to handle OWL – To exploit OWL reasoners – To handle (some) OWL ontologies
Advantages of Our Approach? • Could easily extend OBO infrastructure to handle OWL – To exploit OWL reasoners – To handle (some) OWL ontologies
Advantages of Our Approach? • OWL reasoners can deal with (most) OBO ontologies
Summary • OBO $ OWL interoperability would be useful • Proposed solution is – Formalise OBO syntax using BNF grammar – Formalise OBO semantics via mapping to OWL 1. 1 • Benefits include – Sharing of tools and ontologies • OWL community gets access to OBO ontologies (and major ongoing development effort) • OBO community gets access to OWL tools (and major ongoing development effort)
- Slides: 19