Tuesday, October 23, 2007

Freebase

Tonight, instead of going to sleep after a quite intellectually busy day, I decided to use my Alpha account to Freebase and give it another try. If you are not aware of Freebase, here is my summary: it's a website that was built to allow people to create and maintain structural data about things freely. It's very web 2.0-y, with lots of annoying AJAX that half-work, but are quite powerful.

There are many ways to review this website. I'll try to touch a little on each of them:

1) Interface: as I mentioned, it's quite annoying. It's full of hover javascript actions, with double clicks, single clicks, objects that appear when they want to appear... In a way, they had very good ideas, but javascript is still an unpredictable beast. Sometimes it works great, sometimes it's so slow (especially when you are doing AJAX calls to determine what you should show when the user has his/her mouse on top of the element) that it makes it just hard to use. So, great ideas, not very great execution.

2) Features: it's actually quite interesting feature-wise. It contains three different "core" elements: types, elements and attributes. All have hierarchies. Elements can have as many types as they need. Also types makes it so that you can select which attribute to fill in for an item. Only after adding a type that contains the attribute, you can add the attribute to the item. What is its fallacy? Simple: it contains a data representation model. When you constrain yourself to something, like the explicit separation between elements and types, you are restricting what type data you can represent. Also, their representation user interface does not help you to create aggregator elements. So, if you want to say that a person did a job between two specific dates, you are out of luck.

3) Data: It's not that easy to tell how their data is. They did a general import from wikipedia, and most articles that I've seen come directly from there. User contributions are harder to find. So, everything that came from wikipedia isn't very well-structured and not necessarily authoritative. Also, because of limitations on how to represent things, you can find the same data repeated, or very similarly defined with different models. For instance, I was trying to look into Mstislav Rostropovich. He was set as a musician, but not a conductor or cellist. So, my first task was to add those types. After I've created Cellist, I've seen that other people have used conductor and cellist as professions and not "is-a". Which is valid, but just a different model. And those examples are everywhere.

My conclusion: it's an interesting experiment, but it lacks a lot of features to make it a viable solution for knowledge representation. There are other systems out there that I want to have a look:

Twine
Powerset

None I can really tell what they are about, but we'll see what comes out of it. I've sent my request to be added to their beta testers, so I'll just wait.

0 comments: