Over a million developers have joined DZone.

Clustering and Refining: How Freebase Relates and Simplifies Data

· Database Zone

Sign up for the Couchbase Community Newsletter to stay ahead of the curve on the latest NoSQL news, events, and webinars. Brought to you in partnership with Coucbase.

Once upon a time, as a young database developer, I ran into the Soundex algorithm and felt like I had experienced a miracle.

Years later, I tried to use Soundex on a much larger and more varied dataset, and was disappointed: the vast majority of similar items wasn't caught.

More recently I discovered Freebase, whose ability to integrate many different kinds of data, very flexibly, from many different sources, impressed me again. Freebase's data is user-maintained, with completely flexible schemata (folksonomy); so how did it avoid massive loads of inaccessible or poorly linked data?

Well, Google was impressed too, and about a year ago turned Freebase's technology into one of their own products: Google Refine (see intro videos on the official site if you don't know the product already).

Freebase is fun to browse, and can easily eat up too much of your time (it's like a semantic Wikipedia), which is why I've just closed it. But how does it work? More specifically, how does Freebase / Google Refine solve the clustering problem, the very specific data-centric subset of the massive general 'what is similarity' problem in AI (as Douglas Hofstadter's Copycat famously tried to address; see also the follow-up Metacat)?

Google Refine provides a very brief introduction to their clustering methods here. Or find some deeper discussion, with technical papers and a library, at the Vicino project. (I enjoyed The Similarity Metric, which applies the basic information-theoretic notion of Kolmogorov complexity to the problem of informational proximity.)

If you prefer to learn about Freebase's Graphd database system through its query language (which usually helps me, and which kind of lies behind the whole idea of 'NoSQL'), look over the manual for Freebase's Metaweb Query Language (MQL).



The Getting Started with NoSQL Guide will get you hands-on with NoSQL in minutes with no coding needed. Brought to you in partnership with Couchbase.


Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}