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 …
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…
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…
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…
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…
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…
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 …
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…
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…
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…