Semantic Web project ideas number 4

Build an ontology and rules around a working taxonomy—and maybe make some money!

Can a taxonomy help you buy a lightbulb? I didn't think so, but when Ron Daniel of Taxonomy Strategies told me how they helped a big box hardware store with the product taxonomy that drove their online store's menus, I realized that taxonomies aren't just for classifying content, as my publishing technology bias had led me to believe.

[Cooking Apicius cover]

A taxonomy organizes concepts and puts them into a hierarchical relationship. An ontology lets you define whatever relationships you want between any concepts in your collection, and a taxonomy is a great head start to creating an ontology.

If you only consider online stores, there are still a lot of taxonomies out there. Amazon is an obvious one, and the BrowseNodes.com website (Amazon book page) offers a machine-readable summary of Amazon's taxonomy with lines like this:

Subjects|283155|1000
History|1000|9
Europe|9|4935
Italy|4935|4959

In the fourth line above, 4959 is the node number and 4935 is the parent node's number, showing that 4959 is for Italian History. For a URL to represent a taxonomy node, add the number to the URL stub http://www.amazon.com/exec/obidos/tg/browse/-/. For example, http://www.amazon.com/exec/obidos/tg/browse/-/4959 is the URL that represents Italian History, and following that URL takes you to a page full of books on this topic. Amazon also lets you do a boolean AND operation on taxonomy nodes in your URLs, so that with 4285 being the node for Italian Cooking, the URL http://www.amazon.com/s/ref=sr_nr_n_2/002-0807742-3960021?ie=UTF8&rh=n:4285,n:4959 takes you to a list of books that fall in both the Italian Cooking and the Italian History categories and http://www.amazon.com/s/ref=sr_nr_n_2/002-0807742-3960021?ie=UTF8&rh=n:3870,n:3957 shows books that fall in both the "C and C++" category and the Algorithms category.

Because you can reference the nodes of this taxonomy with URLs, many pieces are in place to build an RDF/OWL ontology and even rules around the nodes. Why would you want to? In Amazon's case, an ontology of relationships between product category nodes can help people find products that they're interested in more easily. As a bonus, it might even make you some money.

Of course, once you've located a product that you're interested in on Amazon or another online store, they have algorithms and data in place to identify related products that you might like. The "Look for similar items by category" section at the bottom of an Amazon book page does this to some extent, sometimes even linking to multiple points in their subject taxonomy. For the Lidia's Italy cookbook, this section has links to the sections on Italian Cooking, Italian History, and travel in Italy. Can semantic web technologies augment this attempt to find other products that the user might want? The data and tools to prove it are all freely available.

Above you saw examples of URLs that take you right to Amazon pages for specific categories of books. If you build a tool that uses an ontology to help people find books and other products that they might like, a slight tweak to the URL that sends people from your tool to Amazon's web site earns you a commission on anything they buy once they get there, whether it's on the page you sent them to or not. I've written before about the Amazon Associates program, but I only recently learned that URLs with your associate ID will earn you a commission even when you send them to product category pages. For example, if you want to buy a book about Italian history, I'd rather that you followed this link than the one shown earlier, because I'll make a commission from it.

Plenty of other retail websites have both taxonomies and affiliate programs. Your ontology doesn't have to limit itself to products on just one of these sites; you could link products from multiple sites.

Semantic Web evangelism often describes the existence of a business potential for this technology, but rarely on a scale that can be implemented by one person with free tools. I think that there are a lot of possibilities here.

2 Comments

Great post -- there is a bias towards "big" ontologies, largely because small ones on the Web are relatively new. There's a lot of potential in this area - and managing Web sites and the like is one of them -- take a look at http://www.w3.org/TR/webont-req/ - the OWL Use Case and Requirements document at W3C for some other suggestions - a bit out of date, but still has lots of good ideas.


Thanks Jim! Speaking of "small" ontologies, my idea might be even more practical for someone who limits their work to a subtree of the Amazon book taxonomy that is related to their area of interest--e.g. Italy and related, programming languages, certain branches of law--because this person would be more qualified to 1. identify useful new connections between nodes and 2. get word of their new tool's existence to an audience that would be interested in using it.

Bob