I\'ve been thinking for a while about modeling typical ecommerce site with ebay-like taxonomy and attributes dependent on a particular product category.
First attempt wa
What if you had different types of categories for different types of products?
Taking the eBay example, we would have Products that can be either Books or TV/Displays.
Books have title and ISBN, and may be in the sci-fi category, or in the erotic category, or in the non-fiction category, or autobiographical category. Or maybe you have a book that is in the non-fiction, autobiographical erotic categories.
Displays have screen resolution and watt-consumption (?), and may be in the flat-screen category, CRT category, or HD category.
From a purely relational point of view, you could maybe model this like so:
[Product]-(1)------(1)-[ Book ]-(n)------(m)-[ book_category ]
| id | | title | | name |
| price | | ISBN |
| ... |
| ... |-(1)---(1)-[ display ]-(n)------(m)-[ display_category ]
| resolution | | name |
| watts |
Instead of modeling attributes dependent on a particular product category
, you would have different properties and categories dependent on the type/class of product.
See supertypes & subtypes
I don't claim to have a definitive answer to all of this (it's a rather open-ended question which you should try to break into smaller parts and it depends on your actual requirements, in fact I'm tempted to vote to close it) but I will comment on a few things: