Vocamp 2008 Ontologies

Following on from vocamp I’ve got the ontologies I’m working with straightened out and about to be published.

First of all, I’ve made changes to aiiso (the academic institution internal structures ontology) to integrate it with foaf. Basically what I’ve done is deprecate the original aiiso:organisationalUnit and subclass all of the aiiso: classes for departments, faculties etc from foaf:Organization directly. This should allow them to work with other ontologies designed to work with foaf.

Next, the organisationalUnit and knowledgeGrouping have been deprecated. The organisationalUnit property has been replaced by organisation and joined by an inverse property of organizationWithin which hopefully makes the intentional direction clear. These are both declared with a domain and range of foaf:Organization, allowing them to be used on other places foaf is being used.

Chris Wallace and I then spent some time modelling how people participate in institutions. We concluded that we could easily make the participation vocab general enough to use anywhere. Participation specifies the way a foaf:Agent (Organization, Person or Group) participates in a foaf:Group or foaf:Organization.

Having modelled it we discovered that Knud Moeller had arrived at the same model as we had when modelling participation in conferences. The only difference we had was that we were modelling different types of role (Chair, Speaker, Chancellor) as individuals and Knud was modelling them as subclasses of a Role class. After much debate I made the decision to spec Participation to use subclassing in the same way Knud had.

Chris then kindly pulled a set of roles out of one of his existing databases and we’re publishing those under the aiiso-roles companion schema. This model means that Participation contains the details of how different things relate while different domains are free to create lists of roles that others can then re-use. Aiiso-roles is a first draft of how to do it, rather than a considered list of role titles in academia. Please suggest edits when it gets put online.

I had hoped to spend some time on the Lifecycle ontology, but with everything else being discussed it just didn’t happen. Though I did do a run-through of it with Knud as his PhD is on lifecycle of data and documents online. I hope it can be of some use to him.

The changes aren’t published yet, but will be soon, I promise.

Thomson Reuters EndNote and Zotero

Just blogged for work about Thomson Reuters suing George Mason University over EndNote.

It seems slightly surprising that an organisation like Thomson Reuters, who are doing cool stuff elsewhere with projects like Calais, would be asking for $10 million from an institution like George Mason University.

Unsurprisingly neither the George Mason site nor the Thomson Reuters site have any information regarding the dispute.

Whisky, Whisky, so good they named it twice

After lunch here at vocamp, Tom is putting up his initial thoughts about a Whisky ontology. His intention is to be able to describe aspects of Whisky such that you could run a shop from the data.

This is interesting as the things you want to know about a Whisky are pretty specific, it’s not a question of price.

Tom, like me, thinks about modelling in a nouns-first way. Chris Wallace is asking if this is the right way to model, as RDFS emphasises properties over classes. This is a very interesting insight and one I hadn’t considered. I had assumed that attaching classes to properties, through domains and ranges, was a different syntactic approach to attaching properties to classes. I hadn’t considered it as a different philosophical approach.

It is, though. In OO modelling, where we attach properties to classes the property is scoped by the class. That means that you have to have complex hierarchies if you want to the properties on one class to be semantically the same properties as on another class. In RDFS the property is the same by virtue of it being defined independent of classes it is used on.

Putting the philosophical debate aside, and getting back to the Whisky…

The classes Tom defined are:

  • Whisky
    This class is used for the wide variety of Whiskys available. There is a possibility of splitting this into subclasses, or adding additional classes to denote single malts, pure pot stills or blended whiskys.
  • Region
  • Distillery
  • Brand
  • Finish
  • Characteristic

There was also an assortment of properties proposed, most with specific domains and ranges, but I’ll not bother to note those here:

  • region, owner, produces, motto, headDistiller, waterSource, age, finish, brand, label, abv, colourDesc, strengthLevel, year, grain

We then concluded that trying to define this as a group was hard, so tasked Ian and Tom to create an initial version based on the brainstorm and some genuine instance data and bring that back to the group.

Ian and Tom focussing on co-evolving the vocab alongside instance data was very interesting to watch. The resulting Whisky Ontology is up on vocab.org

Vocamp 2008 Oxford

We’re sitting in Wolfson College, Oxford in a smart little meeting room overlooking a grassy quad. Nice location.

We’ve just done introductions and I’d be a liar if I said I wasn’t intimidated by the number of PhDs in the room. There are people with substantial experience in neuro-science, computer science, insect genetics, philosophy and, of course, lots of semweb experience.

Having split into groups, my colleague Ian Davis is just demoing OpenVocab to a few of us. This is an alpha project based on the notion of collaborative schema development – in the wiki style. So far the tool lets you create terms or classes within the OpenVocab namespace and add descriptions, labels, domains and ranges to them.

His intention is to solve what he sees is a problem in publishing linked data – where you are mostly using existing ontologies but need to add a class or a property there is an effort required to publish that single class or property that isn’t worth it. OpenVocab is intended for publishing these simple adhoc extensions.

In the wiki vein, it keeps a version history of changes and anyone (within some as yet undecided constraints) can edit the descriptions of terms.

We talked about how this might affect the way people engage with the communities surrounding individual ontologies and the relationship between this and the formalisation of meanings of tags, perhaps. I would prefer to get any extensions I need into the original ontology – and have done with both sioc and bibliontology, but failing that, OpenVocab offers a quick easy way to get those little things out there.

Discussion moves on to the problem we all seem to have – how to formally describe a composite ontology. By Composite Ontology I mean an ontology that expects that you will use parts of other ontologies – in the way that bibliontology uses dcterms.

While human readable examples are crucial for this kind of composition, a formal description may also be key if we are to achieve generic creation and editing tools and/or for visualisation or validation.

I was hoping someone would say “ah, yes, you just have to…” but that wasn’t forthcoming. Besides making sure they’re in human documentation, suggestions currently are

  1. Don’t mention them
  2. Copy the definitions from their own ontologies into yours, but don’t relate them in any way
  3. Create your own and use subclass, subproperty or sameAs to relate them

All of these have their own problems, but broadly 2 seems to be the best bet right now – combined with human examples and documentation, of course.

There was a comment that Peter F. Patel-Schneider at Manchester may be doing some work on modularity of ontologies and fine-grained imports. Maybe that’s what’s needed.

Great lunch, sponsored by Talis 🙂

Photo, eos 015 by Sacred Destinations on Flickr

Microsoft Love/Hate

I’m often accused at work of being somewhat of a Microsoft hater. It’s often fun, and easier, just to go along with it. The only difficulty with that is… it’s simply not true.

A few years ago I was working at Egg and was one of the key proponents of introducing ASP.Net and C#. At the time the existing infrastructure for the main customer site was also one I’d been involved in choosing – Netscape Application Server (NAS), a Java based app server and Vignette StoryServer, a TCL/TK based content management server. After just 3 years of service both were looking under-loved by their respective vendors.

Microsoft had been knocking on Egg’s door for a long time, and with ASP.Net they presented a very interesting offering. Not only that, but by taking steps to work with ASP.Net we opened doors into Microsoft to get early demos of Longhorn – this is before the re-write, at a time when it was exciting and had far more innovation than was left by the time it shipped.

I even ended up (incorrectly quoted) in a case-study for Visual Studio and .Net. Microsoft even sent a small film crew and interviewer to make a short video on Egg’s use of Visual Studio with us. Of course, the meat of the discussion was edited out, so it looks like all I said was "Visual Studio is Fantastic".

So why am I writing this now? Well, the rather brilliant Elliott has decided to learn C#, but seems a little defensive about the decision. I just wanted to encourage him to go for it. C# is a very nicely designed language and the .Net framework is a comprehensive, elegant collection of things that makes doing almost anything easier.

At Talis we built some stuff using ASP.Net too, and it was good.

We’re not using it now mostly because of cost. We can run much more cheaply for the kind of applications we’re building using open-source products. The application we’re currently piloting is written in PHP5, running in Apache on CentOS. Free, in every sense of that word. The only thing we pay for is an account on the Talis Platform, which handles all of our data storage needs. This keeps costs down and means we can sell the product for less (it’s SaaS).

Is PHP as nice to write as C#? I don’t think so, but then C# is not as nice to write as Ruby. Is PHP as fast as ASP.Net? I don’t think so, although the way we write our apps usually has a bigger impact than the language. Is PHP the right tool for this job? Definitely.

Is C# still worth learning? Definitely.

My Sense-of-Humour

XKCD is almost always brilliant. Today though struck a chord with me. Lots of people don’t get my sense-of-humour and it gets me into trouble relatively often. Usually because it’s destructive, derisive, insulting or disruptive. Anyhows… this is exactly what I have to stop myself from doing every time I see a staple gun.

Technorati Tags: ,,,

Twitter Updates for 2008-09-16