Archive for the ‘All’ Category

I think that I have missed the last few years of holiday posts. They are no doubt getting undoubtely getting increasingly in-appropriate as this blog completes it’s transition to an open lab-book. Still, I am stuck in an airport post-ICBO, so why not?

I have, to my knowledge, only been to Greece for work before, so I was not entirely sure what we were going to get, beyond the climate and food, which I figured was likely to be pretty similar to Turkey where we were two year before (actually, we could see the Turkish coast we had swam from). In this, I was correct. It’s reasonably hot. The ground is dry although there is no shortage of water (although, I didn’t know that Rhodes has almost no natural running water). The first week there was a very pleasant wind blowing, although I believe that this is unusual; it had gone by the second week.

Pefkos it a pretty small town and it is entirely tourist-driven; the accommodation is largely populated by the UK package tour operators, and it is rather “English breakfast”, but not offensively so. Our hotel backed onto the beach and, unlike Turkey, Greek beaches are not private owned; long may this last, although I have no doubt that somewhere right-wing economics are busy coming up with explanations as to why this is really a bad thing.

Rhodes itself is very beautiful, although we saw it largely by tour bus; while this avoids argument as to who is going to get stuck with the driving, the lack of control and the joyless, breathless, pillar-to-post excursion experience brings hassles of its own. Still, unlikely Turkey, the attempts to sell junk (Onyx in Turkey, Olive oil in Rhodes) to tourists was much less relentless. Likewise, the prices were reasonable, stated up-front on the menu and stuck to. Best things to see, if you are interested, were Rhodes town itself, and the butterfly valley, although this is not a major discovery. If you go to Rhodes, people will give you opinions on the 10 options pretty quick.

I believe that as a tourist town Pefkos is unusual on Rhodes in actually having Resturants at all, as most of the other towns have full-board hotels and there is no market. This seemed like a good thing, as hotel catering is rarely reliable. However, the resturant food was rather disappointing from a veggie perspective. While the Greeks seem curiously smug about their cuisine as they have discovered both the grill and the oven, their main dishes I find lack variety or composition, so I was not expecting much there. But, their mezze are great and even if they are largely replicated identically between resturants, so I expected to eat well.

The problem was that the mezze were too big; by the time you’d bought, say, some hummous, with a bit of bread, you already had half the food that you were ever going to eat. If I wanted to sample the variety they had on offer in one meal, I’d have to buy 5 dishes, then throw most of each away. I tried asking about this, but Greece (or tourist Greece) is not like Italy; the menu is a description of what you can choose from, not a starting point for negotiation. I didn’t starve, but it could have been so much better.

The best meal I got was from a buffet at the hotel, where I could pick what I wanted; oh, the irony. This at their themed “Greek night” — a pretty obscure theme for a Greek hotel, on a Greek island, in Greece, but they attacked it with gusto: they seemed genuinely disappointed that I didn’t drink the Ouzo (“it’s a spirit, with aniseed”, they explained); then, the Greek dancers, to the sounds of a bousouki player, and attempts to get us to join the knees up, after which the band switched between the top 10 bousouki standards, interspersed with the top 10 chart hits (Taylor Swift sounds better on bousouki than in the original though, perhaps, that is less surprising than it seems on first thoughts). It was all rather fun, even if haunted by the shade of Monty Python.

The backdrop to the holiday was the economic crisis; the Greeks voted no in the middle. It seemed a brave attempt to resist the bullying and hectoring; reform is needed, indeed, but it is in the international businesses who think that tax is for the little people, and with the self-appointed guardians of the economy who treat social justice and welfare as a luxury to be disposed of, as soon as the opportunity arises. Perhaps it seems unlikely, given that their leaders have already capitulated, but I hope that the Greek people can hold on to as many of these things as they can. Maybe, the Greeks can help lead the world back toward democracy and away from the current hegemony; they have a history in doing this, after all.

If they can keep their free beaches which they were kind enough to share with us on our holiday, and which I hope they will share with us again in future, that would be nice as well.

I am pleased to announce this 1.4.0 release of Tawny-OWL. It is with some surprise that I find that it is about 8 months since the last release, which is indicative of the relatively stable state of Tawny.

The main addition to this release has been further support for patterns, which now include what I am calling “facets”, as well as some general functions for grouping the entities created using a pattern with annotations. I have had a lot of discussion about the implementation of this feature and that it should be useful in practice.

The main motivation behind making this release now is the development of a Tawny Tutorial for ICBO 2015. The features are stable for the release are stable, so the release has not been rushed out the door, but I wanted to use them in the tutorial as they really simplify some aspects.

Tawny-OWL 1.4.0 is now available on Clojars.

While I have been working on a manual called Take Wing for Tawny-OWL ( for some time, it is far from finished. In the meantime, I am giving a tutorial at this years ICBO, and the slides for this are now relatively advanced, although I have a few more sections and some checking to do. The full tutorial is available (, and I think it offers are fairly comprehensive guide to basic Tawny-OWL usage.

I am fairly pleased with the tutorial as it stands. It is written up as a semantic document using my lentic package ( which seems to be working well (although I discovered a few bugs with the asciidoc support in the course of writing the tutorial!).

For anyone who is thinking of coming, the pre-requisities for the tutorial are now online. I am planning to do a large part of the tutorial in a “follow-my-leader” fashion; it’s always difficult to predict the state of the networks at these events, so it would help significantly if at least some of the people coming could work through this short document before hand.



Bio-medical ontologies can contain a large number of concepts. Often many of these concepts are very similar to each other, and similar or identical to concepts found in other bio-medical databases. This presents both a challenge and opportunity: maintaining many similar concepts is tedious and fastidious work, which could be substantially reduced if the data could be derived from pre-existing knowledge sources. In this paper, we describe how we have achieved this for an ontology of the mitochondria using our novel ontology development environment, the Tawny-OWL library.

  • Jennifer D. Warrender
  • Phillip Lord

Plain English Summary

Ontologies allow complex descriptions of the world in a way that is both precise and computationally amenable — that is, computers can be used to check and query these descriptions. The mitochondria is a critical part of the cells of most organisms, being responsible for energy usage. We wished to build an ontology describing the current research on the mitochondria.

The more traditional approach to this, would have been to build the ontology from scratch; but many parts of the mitochondria, including the genes and proteins have already been described in other databases. Building from scratch on the basis of the data in these databases would be time-consuming, but also sensitive to change — if the database changes, our ontology would need updating too.

Instead we have used our new ontology development methodology to automatically extract this knowledge, and build the ontology for us providing what we describe as the scaffold for an ontology. In future, we will add more knowledge to this ontology, slowing building up the rich description of the mitochondrion that we are aiming for.


Ontology development relates to software development in that they both involve the production of formal computational knowledge. It is possible, therefore, that some of the techniques used in software engineering could also be used for ontologies; for example, in software engineering testing is a well-established process, and part of many different methodologies. The application of testing to ontologies, therefore, seems attractive. The Karyotype Ontology is developed using the novel Tawny-OWL library. This provides a fully programmatic environment for ontology development, which includes a complete test harness. In this paper, we describe how we have used this harness to build an extensive series of tests as well as used a commodity continuous integration system to link testing deeply into our development process; this environment, is applicable to any OWL ontology whether written using Tawny-OWL or not. Moreover, we present a novel analysis of our tests, introducing a new classification of what our different tests are. For each class of test, we describe why we use these tests, also by comparison to software tests. We believe that this systematic comparison between ontology and software development will help us move to a more agile form of ontology development.

  • Jennifer D. Warrender
  • Phillip Lord

Plain English Summary

Ontologies are a mechanism for representing parts of the world computationally. They allow you to describe the world in a complex way, and then query over it repeatable and consistently. However, ontologies are complex and are themselves hard to build consistently and repeatably. If the ontology is built incorrectly, then queries will give the wrong answers also.

Software is also complex and over the years, software engineers have developed many techniques for building software so that it, too, is correct. While these do not always succeed, they have allowed us to produce software that is vastly more complex than in years past. One important technique is automated testing. Here software can be run to ensure that it is behaving correctly automatically and often. To do this, we use one piece of software to test another.

We have borrowed the same technology for use with ontologies; while this has been done before, our use of commodity testing software has allowed us to scale up the tests significantly, and we describe this approach in this paper. However, while they have many similarities, ontologies are not software. The sort of tests that we need for ontologies may be different from those that we need for software. In this paper, we also describe the kinds of tests that we have used for the karyotype ontology (1305.3758), and which are probably relevant to other ontology development efforts too.

Overall, this should increase our understanding of how to build ontology tests and ontologies.


Lentic is a package which implements lenticular text — two Emacs buffers that contain the same content, but are otherwise independent. Unlike indirect-buffers, which must contain absolutely identical strings, lentic buffers can contain different text, with a transformation between the two.

It was not my original plan to have another release so soon after the last release ( However, the work that I had planned for that release turned out to be very-straightforward.

For this release, introduces a new form of buffer which is an unmatched block buffer. The details do not matter — the practical upshot is that with, for example, org-mode it is now possible to have more than one style of source block. In my examples directory, I have an org-mode file with “hello world” in three different languages (Clojure, Python and Emacs-Lisp). When lentic, you get four views, each in a different mode, and syntactically correct. Not a use I think I would suggest, but a nice demonstration.

Lentic is now available on MELPA, MELPA stable and github.