[wp-hackers] Taxonomy Schema Proposal

Jamie Talbot wphackers at jamietalbot.com
Thu Apr 19 15:33:19 GMT 2007


Steve Lewis wrote:
> On 4/18/07, Matt Mullenweg <m at mullenweg.com> wrote:
>>
>> Steve Lewis wrote:
>> > Categories are not in a distinct table from Tags because they are both
>> in
>> > wp_terms in the proposed schema I am replying to.
>>
>> But terms are neither categories or tags, the definition is stored in a
>> separate table so you can have both a category and tag named "cocktails."
>>
> 
> Sorry, I'm not buying that.  Terms have a taxonomy which may be Category or
> Tag or some other.  That means Categories and Tags are Terms.  That
> suggests I shouldn't care which taxonomy is associated with the Term. 

That doesn't necessarily follow.  I could want a post_category called news, and want to tag certain
posts with news.  In one context, I want to retrieve all posts that have the category news.  In the
other, I only want those individually tagged with news.  These are not necessarily the same subsets.
 Now granted, you wouldn't be able to differentiate those in a URL without a category and tag base,
but we do have those and as far as I can tell, they're not going away (though they are becoming
customisable perhaps).

> I think it
> will be both easier to use for authors and easier to support for the
> community if *or* is considered to be *xor* in implementation.  Hopefully I
> made that clear.

Isn't that exactly what we *don't* want?  If I understand you correctly, you want to a term to be
either a post_category, or a post_tag, but not both?  What happens when you add a link_category
called 'friends'?  That means under your proposal you'd never be able to tag anything as 'friends'
or put posts in a category called 'friends'.  As I understand it, this was a big complaint about the
integration of link and post categories and exactly the thing we're trying to avoid here.

And after all this, there is a unique key on the proposed terms table term_slug anyway, as well as
on the term taxonomy table for the (term_id, taxonomy) tuple.  Or if there isn't I just missed it
off and there should be.

Cheers,

Jamie.

--
http://jamietalbot.com


More information about the wp-hackers mailing list