OboInOwl:Main Page
OboInOwl
This wiki is for discussing the mapping between Obo1.2 format and OWL
And you can find the first version of this mapping here:
http://www.godatabase.org/dev/doc/mapping-obo-to-owl.html
We are working on a newer version of this mapping
Mail Lists
Also of interest:
Progress
I've overhauled the obo2owl mapping. I've pretty much followed Alan's recommendations (I made a lot of purely internal changes to the xslt too though which should make it much clearer). Hope these work for you Stuart. Sorry about the churn - but this will definitely be worth it in the end.
Example OWL file can be found here (also attached):
http://geneontology.cvs.sourceforge.net/*checkout*/geneontology/go-dev/xml/examples/gotest.owl
(note that this example includes a cross-product example)
The OWL is generated from either of the following:
http://geneontology.cvs.sourceforge.net/*checkout*/geneontology/go-dev/xml/examples/gotest.obo http://geneontology.cvs.sourceforge.net/*checkout*/geneontology/go-dev/xml/examples/gotest.obo-xml
The XSL can be found here:
http://geneontology.cvs.sourceforge.net/*checkout*/geneontology/go-dev/xml/xsl/obo2owl.xsl http://geneontology.cvs.sourceforge.net/*checkout*/geneontology/go-dev/xml/xsl/obo2owl_obo_in_owl_metamodel.xsl
The XSL actually serves as fairly reasonable documentation about what's going on - but we'll also come up with a friendlier description once it's finalised
You can convert the obo-xml directly with the xslt. If you want to convert from obo you'll need the latest version of go-perl (from cvs)
Here are the changes and things still pending:
Adopted Alan Ruttenberg's metamodel changes (see obo-format list)
split into 2 separate xsl files
subset (ontology views) now more consistent with obo * the oboInOwl class is SubsetDef * this does not appear in the owl:Ontology section, it stands alone (subsets can be used across ontologies)
namespace changes - * the metamodel is now called oboInOwl (the format is owned by GO, so this maps to a GO URI) * the default ontology content namespace is now bioont (the URI for this will be some bioontologies.org URI) * slashes not hashes or underscores - example: rdf:about="oboContent/GO/0000001"
fixed rdf:about/resource/ID issues - ID is never used - about and resource now used in correct places
CHECKED
- validates as DL in http://phoebus.cs.man.ac.uk:9999/OWL/Validator - works in SWOOP - works in Protege-OWL (but looks odd)
TODO
do we need an equivalentClass for intersectionOf? SWOOP saves this without
decide on final URI scheme - Can we make the URIs less verbose? Use entities - or is this frowned on?
new obo tags for obsoletion handling obsoletes
decide on whether the oboInOwl metamodel should be exported as part of the content export, or linked to separately; and if linked to separately, do we need an owl:imports?
Tools for the mapping
Protege plugins
OBO Explorer Protege tab:
OBO Explorer Tab
OBO Converter Protege tab:
source code OBO Converter Tab binaries OBO Converter Tab instructions on how to use it at OBO Converter Tab
OboEdit OWL plugin
That is the development version of the OWL Export/Import plugin for OboEdit . Just download the distribution file, unzip it and copy its content to <OboEdit>/extensions folder. Start OboEdit and you should find the option "OWL Adapter" for loading ontologies, File->Load Terms..., and for saving, File->Save as...
OboEdit OWL plugin.
If you have problems with big ontologies, try to increase the size of the memory available to OboEdit.
URIs
Added a separate page on mapping OBO IDs to URIs:
Overview of [Other] Mapping efforts
The spreadsheet below provides a summary of the various OBO to OWL conversion efforts that I am aware of. Email me (nigam .AT. stanford.edu) with additions/deletions as you come across them.
Spreadsheet comparing mappings
Publically viewable:
Editable (contact us to add your mapping & edit):