Keith Devens .com |
Friday, July 4, 2008 | ![]() |
| I would rather be an optimist and be wrong than a pessimist who proves to be right. The former sometimes... – "Hoots" | ||
|
| ← Rumsfeld: "The great sweep of human history is for freedom" | Open source software license → |

Dan Kamins wrote:
Keith (http://keithdevens.com/) wrote:
This is the approach I use for naming database tables too, which also hold a number of records.
See, I've always liked the opposite approach, where since tables are a collection of records they get plural names. It's more natural in SQL that way too - "SELECT * FROM Entries WHERE Entry_Id = 42".
Your suggestion for tags is logical, but it's unsatisfying to me. I want a consistent way to have URLs like /text-editors because the URL, as a resource, refers to a list of text editors. In addition, what about a case like 'algorithms'? You might link to a page about an individual algorithm, but it seems more natural to put it in the category 'algorithms'.
Also, in case it wasn't clear above, note that when I had a list of tags like "php wiki software", that refers to three tags (they're space separated). I'm using double-quoted strings to refer to groups of tags, while single-quotes refer to a single tag.
After thinking about it, I think it may be best to consider it an "is in the class of" relationship rather than an "is a" relationship. Cases that might legitimately have multiple options, such as 'wikis' or "wiki software" get split up as much as possible, so you go with "wiki software". With 'text-editors', it makes more sense to me to have 'software' be a parent tag (a feature available in my software, but not del.icio.us) to 'text-editors', because all text editors are software. In contrast, not everything that is "wiki" is "wiki software". But, you still have wikis in terms of wiki sites, and 'sites' isn't a useful tag, so that's a problem.
I suppose if I make 'wiki' a parent tag of 'wikis' in that case that might solve the problem. Similarly, maybe you link to pages about 'text-editing' as an activity (maybe a site like this)... it doesn't make sense to give those the tag 'text-editor', but maybe 'text-editors' is a child tag of 'text-editing'. Or maybe the 'text-editors' tag is most appropriately split up into "text-editing software".
Anyway, the goal of this post was to get feedback and explore the issues... I'm still not sure if there's one approach that's always best. If you have any further suggestions based on what I've said in this comment please let me know. Thanks.
Dan Kamins wrote:
Sadly, you cannot digitize your cake and eat it too.
In 20 years from now, when even a $100 PC has a Natural Language Co-Processor inside, you won't have this issue. For now, the systems you are interacting with have constraints.
The advantage of the style I proposed is its simplicity. It can be described in one sentence, and therefore becomes easy to maintain and have its consistency preserved, within the constraints of the current systems.
I agree: it isn't the most natural human way of categorizing things. But you are seeking to establish a mapping from symbols (single words, or simple hierarchy of words) to complex states of neural networks. Good luck to you, sir! At a bare minimum, the systems would need to support weighted connections between nodes (e.g. "wiki" symbol invokes 30% of "software" symbol), not just dumb rooted trees, as they typically do.
Keith (http://keithdevens.com/) wrote:
Actually, I've resolved my 'wikis' vs "wiki software" issue. 'Wikis' now refers to the website, and "wiki software" refers to the software. So, if the home page for an implementation of a wiki is a wiki, then that link gets tagged with "wiki software wikis" 
In addition, my tagging scheme allows tags themselves to have parent and child tags, so 'text-editors' can have "text-editing software" as its parent tags, I think (I'll have to think about this more to make sure it makes sense).
So, overall I think my "is in the category of" criteria will work.
Adam (http://www.myrantsite.com/) wrote:
I'm just starting using del.icio.us and am too wondering if plural or singular is better.
As an example, I was looking for a font editing program and when I found I didn't know if I should tag it with "font" or "fonts". So I did both. (shrug)
I kinda wish del.icio.us would handle this for me...
Thanks for the post. It gave me something to think about.
Jossef Hamker (http://epsos.de) wrote:
Plural is much better in my opinion, but it makes tagging too complicated, because sometimes there is no plural or the plural does not make sense at all.
I recommend to use plural for tags where it is possible, because it makes more sense to the reader.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):
Generated in about 0.11s.
(Used 8 db queries)

Think of the keywords as class categories, where each item tagged or belonging has an "is a" relationship to its group. Everything becomes singular, consistent, and clear.
This is the approach I use for naming database tables too, which also hold a number of records.
Example thoughts/comments you would have with this system:
- File this under the "Text Editor" category.
- Tag that as a "PHP Wiki Implementation".
- Search through the "Phone Number" list.
PS. Found this site via Google when looking for PHP XMLRPC implementations, and yours looks good. Looking forward to checking it out.