May 11

Installing 4Store on MacOSX

Having got on fairly well with installing swiftOWLIM, I thought it would be a good idea to have a go with 4Store.

  1. Download the disk image.
  2. Open the disk image and copy the app to your Applications.
  3. Run the app.
  4. A terminal window will open which has the 4Store command-line tools in it’s path.
  5. Create a database (instructions): I went with the basic command.
    4s-backend-setup mystorename
  6. Load some data (instructions): here I wanted to load multiples so used the command:
    4s-import mystorename `ls /path/to/ntriples/*.nt`

    Some few minutes later (really not very long at all), my 18 million triples were loaded at a rate of something like 55,000 triples per second!

  7. Set up a SPARQL endpoint (instructions). 4Store has an internal soft limit on SPARQL queries to protect you from expensive ?s ?p ?o queries and other expensive query types. This defaults to 1000, but I wanted to alter that so I could run some queries which I knew were going to be inefficient due to the structure of the data I am working with. As this is my dev machine, I decided to just turn the soft limit off for all SPARQL endpoints that I create. Therefore I created a config file in /etc/4store.conf
    sudo vi /etc/4store.conf
        soft-limit = 0 #disable soft limit.

    Then started the SPARQL http server endpoint on my chosen port.

    4s-httpd -p 8000 mystorename
  8. All done. and running expensive queries that return pretty fast.

This has to be the easiest setup of a triple store yet.

Mar 11

Installing pho on ubuntu

Pho is a ruby gem for working with the Talis Platform written by a colleague at Talis, Leigh Dodds.

Having only just installed this on my home machine, I thought I would document how I did it ready for the next time.  There is a good chance I did something wrong which meant that I had to install some extra dependencies for the talis_store script (which is what I wanted pho for), but I don’t know enough about ruby to say what.

$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo apt-get install ruby1.8-dev
$ sudo gem install pho

Then I wanted to find the executable talis_store because it wasn’t in my path.

$ sudo find / -name talis_store
$ ln -s /var/lib/gems/1.8/bin/talis_store ~/bin/talis_store

Then when running talis_store I had to work through an additional few unmet dependancies.

$ sudo gem install rdf
$ sudo gem install rdf-json
$ sudo gem install rdf-raptor

All done 🙂

Jan 11

Commandline twitter revisited

Previously I scraped together a little bash script to post tweets to twitter.  At the time it was just a bit of fun.

Now it’s serious.

Twitter no longer allow basic authentication, so you need to use oAuth or something else. No more posting with cURL.  Luckily there is a command line tool, twurl (installed as a ruby gem), which allows posting from the command line.

So, using twurl, I now have an a perl programme which notifies me if it has been killed or otherwise come across some error condition. I can even get the tweets sent to my phone via SMS using the normal twitter functionality to do this.

Jan 11


I am at my most creative when I have a deadline (blind panic is a wonderful enabler).

Sometimes I can feel overwhelmed by all the possible things I could spend my time investigating. I need focus as an impetus to my creativity.

My new role at Talis is giving me the impetus I need, and giving me the opportunity to invent madly. Who new that after graduating with an art college degree I would end up working with computers and writing code in various computer languages to manipulate data? I am intrigued by the way that we can become something entirely different through only a few small changes – like one of those puzzles where you change one letter at a time to come up with several new words with entirely different meanings.

Consulting in the field of Linked Data is exciting. It is so new that there are new ways of doing things to be discovered. Each project we take on is likely to throw up some stuff we haven’t had to solve before, some new challenges or ways to approach a solution.

Roll on twenty eleven.

Oct 10

Watching the semantic web come alive

I am sitting in a meeting room at work and watching our CTO Ian Davis bring the semantic web to life.

Clipper uses javascript ‘recognisers’ to spot properties and classes in RDF data returned from queries. So if Clipper sees a pair of lat/long coordinates, it shows a map.  If the results of a search also include some map data? The recognisers are already there and they just show the points on a map.

So, people introduce new ontologies that describe things. Other people write ‘widgets’ that know what to do with certain properties. If the people who write the ontologies re-use properties that other people have written widgets for, then half the work of visualising the data in the new ontology has been done.

It lives.

Oct 10

Blog-in-Blog: versions in the wild

Blog in Blog: breakdown of versions in the wild

Looking at the download statistics for my WordPress Plugin Blog-in-Blog, (over 15,000 downloads so far whooo!) I see that WordPress is now giving me a breakdown of which versions are still out and running in the wild.  This is interesting.  Most people are using a more up-to-date version – but only just.

I wonder if the picture reflects a quarter of internet users who are always (perhaps obsessively) updating their plugins; a quarter who regularly update their plugins, and the rest who may or may not update plugins.

There’s actually probably a hundred and one reasons why people aren’t using the latest version. If it’s because you are having issues with a new version, then let me know and I will fix it!

Oct 10

Academic open data

What would students do with open data from academic institutions?

What would academics do with open data from academic institutions?

What would administration staff do with open data from academic institutions?

In each case the answer  will be different.

Students will probably want to see where courses are held, and what other extra curricular activities the institution offers or is close to. They may also want to compare their progress against their peers at other universities while they are there. This last idea could provide positive reinforcement in provision of quality teaching.

Academics are primarily interested in a couple of linked questions.  What Is new in my field?  How much stuff have I published in my field and how does that  contribute to the research counts of my department?

Administration staff would probably want to smooth the wheels of tracking a student’s progress through the university.  Which course they are on, who is paying their fees and when, any other status of the system. Not sure if there is any way in which they will want to share information openly? there must be something they wished that they could know easily…

Oct 10

Remove the dust sheets

It’s high time I removed the dust sheets from this blog and tried to discipline myself to actually write something.  To be honest I think I should try to stop thinking in sentences of 140 characters or less.  Twitter has probably clouded my ability to think thoughts longer than a text box with a countdown.

So, change is afoot again. If there is one thing that Talis (my employer) isn’t, it’s static.  The Talis strapline ‘Shared Innovation’ is exactly what we do on a daily basis.  I am currently shifting my role from a purely library focus, dealing with library customers in the library world to dealing with anyone who wants to work with semantically formed data published on the web of data.

How is this different from libraries?  Well, to some extent it is no different.  We are talking about standardising the publishing of data in machine readable form, whereas Library’s deal with information published and catalogued in a fairly standard human readable way.  One of the reasons that it is so easy to find things in a library (no really!) is because there are standard ways to represent, through classification, where the main topic of a book sits, and therefore which books it should be next to on the shelf.

Thus it is with Linked Data and the semantic web, except here the field is so new that we are still evolving the ways to say things about things, and ways to find what other people are saying about things. I plan to explore some of this stuff in later posts.

So, over the coming months, in my consultancy role, I will be getting the opportunity to meet other people who are getting started with the idea of linked data, and sharing with you some of the first steps experiences that I too have been through.

Now, how many of those sentences are longer than 140 characters?

Aug 10

A Holiday Question

Clive The Gorilla had a question while on holiday. He decided to do something about it, and has kindly shared his thoughts with us. Lucky he took his video camera on holiday eh?

Apr 10

An Easter Birdy

Well it was time.

After about 2000 miles on the Dahon Vitesse D7, it was time to get a new bike. The Dahon had it’s fair share of problems. The frame split where the seat post frame tube met the cross tube – luckily within warranty, so a new frame was fitted. The wheels on the Dahon where very poor.  On average a spoke broke on the rear wheel every three to four weeks.  Eventually I had the rear wheel rebuilt with new spokes.

Of course there was all the usual stuff with chains wearing and the like… but that is normal for a bike that does 8 miles a day four day’s a week. So the Dahon is being retired to ‘second bike’ for use in emergencies.

So, what about the new bike?

I am now a proud owner of a Birdy Touring bike.

This bike has 24 gears, nicely distributed from very low (hill climbing will be so much easier!) to pretty high. One of the things that I found with the Dahon was that there was not enough high end in the gears, and I was quickly at top speed, with a feeling that I could have gone further. The new bike has by contrast a massive high end in the gears. I topped 42 mph on the flat – with a tail wind!

It has full suspension using a combination of elastomer (rear) and spring/elastomer (front). And on a canal tow-path trip which varied from very uneven brick to muddy pools, it coped well.

It is fully kitted out with mudguards and Pannier racks (front and back).

And of course it folds.