The unfortunately named and well funded Freebase, about whom I’ve previously blogged here, recently released a nice UI called Parallax. It’s the closest thing I’ve seen to a “BI-style” navigational query interface against “unstructured” data, and worth a look.
- I quoted “BI-style” to remind everyone that search vendors didn’t invent multi-dimensional navigation as they seem to believe. The whole notion of facets (i.e., dimensions) goes back to OLAP vendors and to the EIS vendors who preceded them. Faceted navigation is a wonderful thing to do against content (and MarkLogic features it), but let’s remember who is immitating whom. Put differently, Endeca is PowerPlay for paragraphs.
- I quoted “unstructured” because, despite appearing to have document entries, Freebase is anything but unstructured. It’s a dictionary-driven, metadata-driven Wikipedia. Concrete example: when you’re dealing with the San Carlos airport entry, Freebase “knows” about airports, for example, that they have runaways, which in turn have lengths, widths, and orientations.
The video does a great job of pointing out the difficulty in answering a basic question (“which schools did the children of Republican Presidents attend”) using either Google or Wikipedia. It also shows that the question can be answered navigationally rather easily using Parallax. That’s nice.
But consider this: in a reasonably well structured XML database, you can answer that question in a single XQuery. (See below the video.) Now, I’m not trashing sexy UIs or the need for end-user tools to query data. (Given my 9 years at Business Objects, I’d be the last person to do that.)
But I am saying that delivering end-user analytics requires two things: a nice front-end with a powerful DBMS behind it. And if data/content source for those analytics is, or should be, XML, then you know which DBMS I’d recommend.
And here’s the single XQuery, courtesy of Kelly Stirman:
let $presidents := /person[@type=”US President”]/name
for $child in /person
where $child/relationship/@type=”parent” and $child/relationship/name=$presidents
order by $child/date-of-birth ascending