A highly literate approach to Ontology Building
Phillip Lord and Jennifer Warrendar, Newcastle University
Highly Literate Ontology
What is an ontology and what is it for
The need for description
Ontologies and Programming
Literate Ontologies
Lenticular Text
The Future
What is an ontology
A specification of a conceptualisation
A conceptualisation of something
Lots of disagreement on what "something" is
What is the problem?
Clear that "something" is complicated
We all agree that it’s worth writing about.
Story
From OBI
A supernatant role is a role which inheres in a material entity…
— OBI
A pellet is a material entity which results from the aggregation of cells…
— OBI
Story
Pellet is a material entity?
Supernatant is a role?
Why the asymmetry?
Difficult to remember
Conclusions
Ontologies need a lot of description.
OWL doesn’t provide rich support for documentation
Annotations are un-ordered
Protege treats documentation as an add-on.
Literate Programming
Some programs require lots of documentation
"Literate Programming"
Single source file, generate out programmatic and documentation source
Best Examples: LaTeX and Sweave
Can we do Literate Ontology?
Ontologies need more documentation that most programs
Literate Ontology sounds like a good idea.
I’ve tried a variety of solutions.
All based around OWL Manchester Syntax
http://www.russet.org.uk/blog/1204
http://www.russet.org.uk/blog/1213
http://www.russet.org.uk/blog/1258
http://www.russet.org.uk/blog/1269
Conclusion
No one is going to write ontologies this way
Writing ontologies is hard
Only a crazy person would write an ontology in a flat-file
Conclusion
No one is going to write ontologies this way
Writing ontologies is hard
Only crazy person would write an ontology in a flat-file
Even GO has mostly stopped doing this now
But what about karyotypes?
A diversion: Karyotypes and Tawny-OWL
Humans (normally) have 46 chromosomes
Lost chromosomes or bits of chromosome are bad
Describing this ontology seems useful
A diversion: Karyotypes and Tawny-OWL
Each of the 23 pairs has bands (visible structures)
That’s 1000 classes all very similar
Protege is not going to work
Tawny-OWL
Interactive environment, create new ontologies, classes
Built on Clojure, the JVM, OWL API and some reasoners!