This is a pretty well-discussed example in the Semantic Web community, but just wanted to briefly explore how Best Buy is using RDFa to semantically markup its web pages to increase the visibility of its products and services.
Let’s look at an article from ReadWriteWeb from July 2010 titled How Best Buy is Using The Semantic Web. This article is based on an interview with Jay Myers, Lead Web Development Engineer at BestBuy.com. There’s several things I’d like to highlight.
The Why – Focus on Business Objectives
OK, so this may go without saying, but the Semantic Web, for businesses, needs to be about solving business problems, not about a cool technology. And sure enough, Myers told ReadWriteWeb that “the primary goal of using semantic technologies was to increase the visibility of its products and services”.
The How – RDFa
This increase in visibility comes through using a semantic markup language called RDFa to unambiguously describes the meaning of data on a web page – data that is important to Best Buy’s business, things like Customer data, Product Data, location data, etc.
Can you show me an example?
Yeah sure. The screenshot below from the RWW article shows a Best Buy webpage, with the RDFa tags that describe the associated data elements:
Hmm, that’s pretty cool. So rather than just a whack of text and images on a page – from which a search engine would have to do its best to infer what the page is about – this web page actually exposes data that is marked up with semantic tags. These semantic tags unambiguously describe the meaning of the data.
But do the semantic tags do that? I mean, a “Services” tag could mean a lot of different things in different contexts, right?
Ontologies – standardized vocabularies of shared meaning
That’s where the GoodRelations standardized vocabulary comes in. It provides a standardized vocabulary for e-commerce that describes product, price, and company data on the Web.
The GoodRelations vocabulary provides a set of shared Terms that define common concepts in retail/e-commerce such as product, price, etc. This vocabulary is used by both vendors in their web pages, and search engines, to provide searchers on the web with results that are most relevant to their queries.
That’s pretty cool.
In Summary …
That’s it. A pretty simple concept really. Just wanted to describe it in simple terms, so that I could refer back to this post when introducing colleagues to RDFa.
A bit late to finally getting around to watching this Facebook Developer Conference keynote presentation by Facebook’s CEO Mark Zuckerburg and CTO Bret Taylor, but wanted to post as a reminder-to-self to understand more deeply Facebook’s Open Graph and associated Social Plugins.
There’s a whack of very interesting stuff in this presentation. I’m going to focus on the Open Graph Protocol and the Graph API, as this is really the foundation of the whole thing.
The Open Graph Protocol
So what is the Open Graph Protocol? Here’s how Facebook’s CEO Bret Taylor sums it up:
At it’s core, the Open Graph Protocol is a specification for a set of meta tags you can use to markup your pages to tell us what type of real-world objects your page represents.
Taylor provides an example using Pandora, and how they would markup up a web page on Pandora.com using the Open Graph Protocol to specify the Title (Green Day), Type (Band), Genre (Punk), and City (Berkeley) of a band.
So now this web page which was previously just a bunch of text has this semantic markup, so we know what it represents. And because of that, when a user clicks a Like button on one of these Open Graph pages, we’ll use that semantic knowledge to represent it in really deep ways on Facebook.com.
The easiest way to understand this is just to walk through an example. … If I visit the Godfather page [on movie site IMDb] and I click “Like”, it’s going to go to my Facebook stream just like Shares do today. But IMDb is using the Open Graph Protocol, so they’ve marked up their pages. We know this isn’t just any old web page. This represents a “Movie” with the name “The Godfather” made in “1972”. And because of that, this page is also going to go in the Movies section in my Profile.
And it’s a first-order object in the Facebook Graph. So if my friend visits my profile and hovers over that link, they’re going to see not only that it came from IMDb, but they’re going to be able to connect to that IMDb page with a Like button directly from Facebook.com.
And this object is represented in Facebook everywhere objects in Facebook are represented today – from the News Feed to the Profile Page, and even in Search Results.
That’s pretty cool. Of course the Open Graph Protocol is not restricted to just movies, but is designed to represent any real-world object represented on the Internet. Taylor describes an example from ESPN.com:
So just as easily as I can connect to a movie on IMDb, I can connect to an athlete on ESPN.com. And those connections have all the same features as connections on Facebook do today. …
I’m going to go to ESPN.com and click that Like button on Toby Gerhart. And because this connection has all the same features as connections on Facebook.com, ESPN can publish updates to all the Facebook users that have connected to this page. So tomorrow, when Toby Gerhart’s a surprise first-round draft pick for the Browns, ESPN can send that update to me and everyone else who’s connected with Toby Brown on ESPN.
So it’s not just that this object is represented on Facebook.com, but the Open Graph Protocol represents a long-term relationship with . This is a really significant step for Facebook. For years we’ve been saying Facebook is an Open Platform. But for the first time, the Likes and Interests on my Profile link to pages off Facebook.com.
And I’m not just updating my profile when I join Facebook. I’m updating it with Like buttons all around the Internet. My Identity isn’t just defined by things on Facebook, it’s defined by things all around the Web.
The punchline – moving from a web of pages to a web of entities. Quoting Taylor:
To date, the Web has really been defined by hyperlinks connecting static pieces of content. We think over the next few years that the connections between people and the things they care about will play as big a part as hyperlinks do today in defining people’s internet experiences.
And our goal with the Open Graph protocol is to really accelerate building out that map of connections in a really significant way.
The Graph API
The Graph API, of course, is the developer interface into the Open Graph. Back to Taylor:
The Graph API is our attempt to re-imagine our core server-side API within the context of this new Graph structure we’re all building out together. We’ve essentially re-architected the Facebook Platform from the ground up with simplicity, stability, and this new graph structure in mind.
… In the Graph API, every object in Facebook has a unique ID – whether that object is a user profile, a group, an event, or a fan page. And to download the JSON representation of any object in Facebook, you just need to download graph.facebook.com/id. You can download the JSON representation of my user profile by downloading graph.facebook.com/btaylor.
And the connections between objects in the graph are represented equally elegantly. I’m connected to things all over Facebook. I’m attending this event. I’m friends with Zuck. I’m a member of many groups. To download the connections for an object, you just need to download graph.facebook.com/id/connection name.
So to download my Friends, you just download /btaylor/friends. To get the Groups I’m a member of, /btaylor/groups. To get all the Pages I’m connected with in the Open Graph, you download /btaylor/likes. And this applies to every single object in Facebook.
And More …
Taylor continues to talk about additional capabilities being introduced into the Facebook Platform, including a new Search capability over the Graph API. Says Taylor:
For the first time, via the Search capability of the Graph API, we’re giving developers the capability to search over all the public updates on Facebook.
This is a really significant thing. For the first time, if you’re making a web page for a brand, you can build a module that says what are people saying about this brand.
Taylor briefly discusses a new real-time eventing model for the platform:
We’re also baking in real-time directly into the API. Using a technology called Web Hooks, you can register a call back with Facebook, and we’ll ping you every time a user of your application updates their profile, adds a new connection, or posts a new wall post.
Now, you register a callback URL, and we’ll tell you when your users update their profiles. This is a huge win not just for developers, but for users. So now when I update my Profile, every application that I use that’s integrated with Facebook will be updated instantaneously.
And finally, the adoption of OAuth 2.0.
The Big Picture – Facebook begins to embrace the Semantic Web
The really exciting thing for me, is that with the Open Graph, Facebook begins its embrace of the Semantic Web. The best post I’ve seen on this topic is from Alex Iskold: Facebook Open Graph: A new take on semantic web – from May 2010.
Facebook developer David Recordon also delivered an interesting presentation at Semtech 2010 on Facebook’s Open Graph, which can be viewed below:
All in all, pretty exciting stuff.
Another nice post from Chris Silver Smith on Local Business SEO for Geo titled Should You Geotag Pages For Local SEO? As Silver Smith points out, geocoding web pages is acheived through semantic markup formats such as Geo microformat, ICBM meta tag (GeoURL), RDF tags, and the Geo tag meta data format. These various approaches are nicely summed up at the following Geotagging wikipedia page.
Which format to use? Here’s what Silver Smith has to say on the matter:
If you were only going to add one set of geotags, I’d suggest adding either the Geo microformat or RDF, because they’re supported in some ways by Yahoo! and Google (”supported” in the sense that both deliver up local content with microformats, and both have used microformats and RDF for purposes of special results listing treatments). Also, providing the coordinates on the page visibly can enhance usefulness as people are able to copy them directly into their GPS devices.
Another excellent blog post by Chris Silver Smith: Brave New World For Yellow Pages: Google Nabs Marketshare, Strangles Local Directories, from September 2009.
Also see the following related posts from Chris Silver Smith:
- Why Use Microformats?
- How To Geocode An Address & Optimize Location Pages
- The hCard Microformat & Local Search Optimization
- Optimize Local Events With hCalendar Microformat
A very nice introduction to RDFa semantic markup for HTML pages by Mark Birbeck. This presentation is from a Google talk Mark gave in June 2009.
[Warning: This talk is definitely for a technically-inclined audience. But if you are technically-inclined, and want to learn about the RDFa approach to semantically marking up HTML web pages, this is a great video.]
The code samples can be more clearly seen in the accompanying slide presentation.