(co-written with David Boardman http://www.twitter.com/dbboardman)
Many years ago I was on a trip with my wife across Ireland. For those of you who have made the trip, it’s highly likely that you have a piece of Waterford crystal sitting prominently in your home. My wife and I wanted something a little different. Over the course of 3 weeks, we scoured the shelves of many crystal glass shops in little towns throughout the countryside hoping to find a uniquely personal memento from our adventure. Stay with me…this is going somewhere. At about the 12th shop, while my wife was looking at crystal vases, my eyes wondered to a bulletin board behind the shop owner where a U2 ticket was tacked with great pride. Now that caught my interest! I leaned forward to read the details of the ticket: Slane Castle on September 1.
Wow – a chance to talk to someone who was there. I piped up, "What was it like seeing U2 at Slane Castle?"
"It was crap," he abruptly replied.
What? I was stunned. Why would he have the ticket so proudly displayed behind the counter?
“I don’t like U2. They sold out Irish people and our culture. I went to see Coldplay.”
I took a second glance at the ticket, but did not recognize the band in fine print – Coldplay.
Instead of creating casual conversation to align and resonate – I was completely stunned and shutdown. I returned to looking at the hundreds of beautiful pieces of crystal displayed in the shop.
We ended up buying a small vase and it’s proudly displayed on my piano at home. Every time I look at the vase I remember my surprising interaction over the U2 ticket.
Fast forward. It’s 2009 and I’m working with Olly to develop a way for technology to connect people quickly and meaningfully with the environment around them. I was struggling to find a way to expose a profile to third parties that could query user preferences and enable meaningful action. In the previous blog entry, we shared the challenges of creating an actionable unified view of the customer. How do you get parties to agree on what data to collect, what format it should be stored in, and the allowed values?
So what does it take to build a more humanistic query language? To ask questions like a human? Well – let’s take the example from my trip to Ireland. As humans we leverage our understanding of the individual, the context, and the domain – to make decisions.
The chap standing behind the counter in Ireland had a persona – including preferences and more. I had very little insight into his persona. I was operating in a domain – North American music. I was operating in a context – a shop with the ticket on the board. I performed a mental query and the result was, "talk to this guy about U2". Ouch. Unexpected result!
With additional understanding of his persona, a greater understanding of the context of the concert (the buzz around Coldplay), and a better understanding of the domain (undercurrent of feelings towards U2 in Ireland or Coldplay – I would have asked him about Coldplay instead of U2 and we would have hit it off.
At Atigeo we have developed an approach which has strong analogy to the human reasoning that David describes as a solution above. The declared and observed profiles in our xPatterns product provide a rich representation of the user persona (or Personal Data Locker as described by David Siegel in his book “Pull”). We create current encyclopedic understanding of a given domain, represented in the domain expert, (see previous post on hierarchy free ontologies), that understands the similes drawn by both critics and fans between U2 and Coldplay, and Coldplay’s one-night stand supporting U2 at Slane Castle. xPatterns indexes and understands data in the same way that David understood the U2 ticket via a query language that allows xPatterns to reason with context and the user persona in a specific domain to retrieve data.
So pretend for a moment that David and the store owner were computer programs. Today, David and the store owner would each represent their music knowledge, tastes, and experiences in a schema or ontology. A ticketing company would describe their ticket in a fixed format. Sensors in the environment would model context in a well known standard schema, like MPEG 7. Now – assuming that the David application, the store owner application, the sensor manufacturer, and the ticketing company all bought and deployed the same ontology or schema (highly unlikely) then queries could be performed using a standardized query language such as SQL or SPARQL.
The challenge for Semantic Platforms isn’t the existence of the tools – the semantic web offers the toolkit, but as has happened historically with other attempts to standardize data interoperation (EDI, CORBA) the challenge is the lack of pre-constructed ontologies and semantic data dictionaries according to the standards, against which the tools can be leveraged.
Our approach offers a much needed alternative. Will it solve every problem with exact precision? No. Will it create new solutions to existing problems that could not be cost effectively solved by machines in the past? Absolutely.