Computing Publication Online

A lot has been said about the scientific publication process, and how the publishers add value. I have commented before on the joys of being asked to pay extra page charges for colour pixels [@url:www.russet.org.uk/blog/2170] which as a naive scientist [@url:www.russet.org.uk/blog/1924] I would think costs the same as black and white ones. I am not always convinced of the value that is bought but even I am occasionally surprised by how paleolithic the industry can be. An example is a new article on Clojure for concurrency. The article itself is fine, and I make no comments on it. But the display is highly interesting. Firstly, it uses a nice Javascript paging interface in case your browser is not equipped with scrollbars. If you manage to defeat this (there is a "Display stuff on one …

Remembering the World as it used to be

I have been working on a Clojure library for developing OWL ontologies [@url:www.russet.org.uk/blog/2214] There have been two significant advances with this library recently. First, I have changed its name from clojure-owl to tawny-owl. I was never really happy with the original name; I think it is bad practice to name something after the language it uses (even partly, as the many jlibraries attest), and there was several other libraries around for manipulating OWL in clojure, albeit in different ways. "Tawny" is simple and straight-forward and memorable, I think. At the same time, I moved to Github because I can now just updated readme.md, rather than having to update a separate website. Perhaps, more importantly, I have put in new code for handling change to external ontologies…

Clojure OWL 0.2

I have been developing a library written in Clojure, that I can use for building OWL ontologies programmatically [@url:www.russet.org.uk/blog/2214] The basic idea behind this library is to give me something that looks like Manchester syntax [@url:www.w3.org/TR/owl2-manchester-syntax/] but which is none the less fully programmatic; it can be extended arbitrarily, both for general use and for one-off, single ontology specific custom code. This has already shown its worth: for example, adding a syntax for "some and only" closure axioms was straightforward; likewise, I can now express disjoints and subclasses implicitly through bracket placement, rather than through named concepts [@url:www.russet.org.uk/blog/2275] Although in its early dates, I have added initial support for ontolog…

Publishing With Future Internet

I have previously described the difficulty that we have had publishing in semantic web conferences [@url:www.russet.org.uk/blog/2157] the two main conferences (ESWC and ISWC) both publish with Springer-Verlag, and so provide no open access option. Although the contents of the paper has been made available now both through arXiv and here, we decided that in the middle of REF madness, it did not make sense to let the work lie there. So, where to publish? Well, I was inspired by Ross Mounce post [@url:rossmounce.co.uk/2012/08/30/a-visualization-of-gold-open-access-options/] showing the various open access options, showing the entertainingly large gap between the price of open access from different publishers; the gap should only be a surprise to those with little understanding of economics; p…

A One Man War

I was recently described by Duncan Hull as waging a one man war for metadata on the web. There is a degree of truth in this, of course. Since Lindsay Marshall [@url:catless.ncl.ac.uk/Lindsay/] and myself started work on Greycite [@url:knowledgeblog.org/greycite] (Lindsay writes it, then I break it, roles both of us are happy with), there is a degree of truth in this. I have found myself continually amazed by which websites do or do not carry metadata. Often there is none whatsoever, and sometimes it's just wrong. What is amazing is that many organisations who you think really should have metadata don't. Toward this end, I have started to compile two pages: metadata irony and metadata awards. At the moment, these are just some pages, but I might make something better if they get long enough…

Disjoints in Clojure-owl

When I started work on Clojure-owl the original intention was to provide myself with a more programmatic environment for writing ontologies, where I could work with a full programming language at to define the classes I wanted [@url:www.russet.org.uk/blog/2214] After some initial work with functions taking strings, I have moved to an approach where classes (and other ontological entities), are each assigned to a Lisp symbol [@url:www.russet.org.uk/blog/2254] I'm using "symbol" rather than "atom" because its a bit more accurate, especially as Clojure uses "atom" with a different meaning. This means that I now have something which allows me to write ontological terms looking something like this: (defclass a) (defclass b :subclass a) (defoproperty r) (defclass d…

Improving Emacs lisp modes

I've been writing a lot of lisp recently, both to extend my Emacs environment for OWL [@url:www.russet.org.uk/blog/2161] and with my Clojure OWL library [@url:www.russet.org.uk/blog/2254] I have been trying out two new modes to support this. The first is paredit.el which I have managed to miss despite knocking out Lisp for years; it's a work of insane genius; fantastic when it does the right thing, but sometimes I find myself stuck in a rut. This will probably improve over time, but is only going to work when I am writing a lot of lisp. My initial solution to this problem was to use the paredit cheat sheet. This is good but unfortunately does not scale as it is only available as an image. I was a bit surprised to find that this cheat sheet is actually build on information that is embedded …

Why academic publishing is like a coffee shop

Drinking coffee in Italy is a quite different experience from drinking coffee in many UK coffee shops. In Italy, first you go into a bar --- "bar" in Italian doesn't really have a direct translation into English, as it's not the same thing as British pub, although they do have large and impressive counters --- the bar itself. The person behind the bar is called a barista, which is Italian for "barman". The barman is normally casually dressed. Assuming you want a coffee rather than food, you ask for a coffee in Italian which is, of course, the local language. The barman will turn around, fiddle with the coffee machine for a moment or two, give you a coffee and then take the 1 euro or so that is the normal charge. Most people drink this at the bar, without sitting down. I…

OWL Concepts as Lisp Atoms

With my initial work on developing a Clojure environment for OWL [@url:www.russet.org.uk/blog/2214] I was focused on producing something similar to Manchester syntax [@url:www.w3.org/TR/owl2-manchester-syntax/] Here, I describe my latest extensions which makes more extensive use of Lisp atoms. The practical upshot of this should be to reduce errors due to spelling mistakes, as well as enabling me to add simple checks for correctness. The desire for a simple syntax is an important one. I would like my library to be usable by people not experienced with Lisp, although I am clearly aware that this sort of environment is likely to be aimed at those with some programming skills. I have managed to produce a syntax which, I think, is reasonable straight forward. It has more parentheses than Manch…

Programming OWL

I have been struggling for a while with OWL development environments. While Protege provides a nice GUI based system, this has the limitations of many such systems; it allows you to do what the authors intended, but not all of the things that you might wish. It is partly for this reason that I have been developing my own OWL Manchester syntax mode for Emacs [@url:www.russet.org.uk/blog/2161] I lose a lot from Protege, but then I also gain the ability to manipulate large numbers of classes at once, as well as easy access to versioning. These things are useful. Still, the environment is lacking in many ways; recently, while building an ontology for karyotypes [@url:www.russet.org.uk/blog/2202] I wanted a more programmatic environment. A trivial example, for instance, comes from the human chr…