Mike Love’s blog

Really simple Freebase interface

Posted in structured data, visualization by mikelove on April 23, 2008

I spent a couple hours last night throwing together a demo interface for Freebase.

I was impressed last week by the Powerset Wikisearch demo, hooking into Freebase data using just one search bar. But after watching my friends use it, I realized that I had the benefit of knowing the language of the Freebase schema.  I knew to ask for “quotations of Shakespeare” rather than “what did Shakespeare say”.  Also, it’s hard to know whether or not there will be data for a particular query, even if you get the language right.

I think the Freebase.com interface is intuitive for users adding data: it breaks the topic pages into types and their corresponding properties, and then properties into values.  For someone trying to find a specific bit of data, it’s more information than is necessary, and the topic-type-property-value can be a little confusing.

I tried to make the most of both approaches:


The first column has a “thing” field, where you write a thing (Mount McKinley, George W. Bush, The New York Times, etc).  I used the excellent Freebase Suggest javascript library to autocomplete on fields, so you don’t have to know the exact language of the Freebase topics or schema.

Selecting a thing prompts two actions: a list of types prints out below the thing, and the second column, called “has”, lists the properties of the thing – but only the ones filled with data.  If the data is a string or number, I print it there.  If the data is an array of objects, I show the number of objects.  You can write properties into the “has” field, and I unpack the array of objects in the third column. The “has” input field autosuggests only relevant properties, based on the type information in the first column.

For instance, “George W. Bush” has “education” prints out objects like: {end_date : 1968, degree : B.A., student : George W. Bush, institution : Yale University}…

Try “Johnny Depp” has “film”,
“Borges” has “cause of death”,
“Google” has “board members”,
“Nietzsche” has “influenced”.

About these ads

4 Responses

Subscribe to comments with RSS.

  1. Kirrily Robert said, on April 24, 2008 at 2:21 pm

    Nice! I’d like to feature this on the Freebase blog tomorrow.

  2. Will Moffat said, on April 24, 2008 at 5:06 pm

    Cool, any thoughts on how you could add multiple constraints? (Perhaps similar to the Outlook or Mail rules builder?)

    I’m wondering how ‘normal’ people react to the strange phrasing:
    thing “Edinburgh” has “Contained by” –> “Scotland”
    thing “Oscar Wilde” has “Places lived” –> “County Dublin”

    But I guess what counts is not how strange people find it, but how useful they find it. Hmm, what would be the metric?

    It would be interesting to set questions and have people answer them using ThingHas, Freebase.com, Powerset, Google, Wikipedia.

  3. mikelove said, on April 24, 2008 at 5:17 pm

    re: multiple constraints… that would be very cool. For this demo I really wanted to keep it extremely simplistic (plus I’m a javascript novice).

    Brendan also had the idea that you could just keep scrolling horizontally thing=>has=>thing=>has=>…

    I would love to do some user testing. Google can of course dig into tables for queries like “US population”. Metrics: speed, range of answerable questions, accuracy. that’s a start. Let’s get Dolores Labs on it. :)

  4. Nathan said, on April 25, 2008 at 5:49 am

    this looks really useful. i just recently started poking around at freebase, and i’m probably going to start messing around with it more this summer. i imagine your tool will come in handy then :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: