API Concepts

From the Directed Edge Developer Base
Revision as of 01:38, 19 May 2009 by Scott (talk | contribs) (start on concepts article)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Directed Edge's recommendation engine is built on top of our in-house database. The database works somewhat differently than traditional databases and its interface is our REST API, so it's useful before getting started to have a feel for how to go about translating things from the way that your site models data to the way that our database works.

Everything is an item, or A brief introduction to schema-less databases

Users, products, places, web pages — they're all items for us.

Really? Yep. In a traditional database typically you have a schema with a table for users, a separate table for products, a separate table for content and so on. Our database is schema-less. Basically that means you can just create items and then tell our database stuff about them and it will believe you.

In the programming world this is similar to duck typing:

If it walks like a duck and quacks like a duck, I would call it a duck.

So what that means in the world-o-Directed-Edge is that if you've decided that a product is an item with the tag product and always has a property called name, then if you create an item with that tag and that property if it looks like a product, and acts like a product, we're fine calling it a product.