19
Mapping OBO to OWL 1.1 Christine Golbreich & Ian Horrocks

Mapping OBO to OWL 1.1 Christine Golbreich & Ian Horrocks

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Mapping OBO to OWL 1.1

Christine Golbreich & Ian Horrocks

OWL and OBOOWL:

• W3C standard ontology language

• Large user community

– Many in life sciences

• Extensive library of ontologies

• High quality tools

• Formally specified syntax and semantics

OBO:

• De facto standard ontology 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:0001555name: oocyte growthis_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: __Description177

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: termOrRestr termOrRestr := term-id | restriction restriction := relationship-id term-id

Proposed Solution• Formalise OBO semantics via mapping to OWL 1.1

relationship: R C minCardinality=3

a ObjectMinCardinality(3 R C)

Proposed Solution• Formalise OBO semantics via mapping to OWL 1.1

[Term] id: Aname: Example Classis_a: B relationship: R C minCardinality=3

a SubClassOf(A B)SubClassOf(A ObjectMinCardinality(3 R C))EntityAnnotation(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:' termOrReserved ]…

Advantages of Our Approach?• Clarifies and disambiguates OBO semantics

– E.g., is cardinality qualified or not?

relationship: R C minCardinality=3

a ObjectMinCardinality(3 R C)

– and what is the precise semantics?

(ObjectMinCardinality(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: locationtransitive_over: part_of

a SubObjectPropertyOf( SubObjectPropertyChain(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)