[Tagdb] SQL Queries for "relatedness" of tags

Nitin Borwankar nitin at borwankar.com
Tue Aug 22 08:26:47 GMT 2006


Joshua Lippiner wrote:

> I just read the relatedness article on Tagschema about users, ideas 
> and tags.  While interesting, I am still failing to see the SQL 
> translation of this analysis.
>  
> I have two tables:
>  
> USERS (user_id, username)
> TAGS (tag_id, user_id, tag)
>  
> What I need to do is find all users with similar tags to the user I 
> care about.  So assume that I am looking at User A's tags and I want 
> to query the database to find all users with tags LIKE User A.  What I 
> clearly need to do (simplistically speaking) is find all users with 
> all User A's tags, then all user's with All-1, All-2, All-3, etc until 
> I reached the max number of users that I want.  Technically, I would 
> also want to "rank" each tag with some weight so tags that are used 
> less often that User A has in common with others is worth more then 
> common tags, but I want to leave that out of it for now.
>  
> Ideally I would like to be able to create a SQL query that can be run 
> as called by the user instead of running some form of a batch process. 
>

Hi Joshua,


I'll  break this down in steps so the logic is clear.  I always find it 
useful to do this - I am not one of those people from whose brain 
queries spring fully formed and perfectly optimized.

a)  all tags for user I care about

select tag_id from tags where user_id = <id_of_user_I_care_about>

this gives us a "set of tags of interest"

b) All users with a certain set of tags

select user_id from tags where tag_id in ( "set of tags of interest ") 

c) Now we combine the two

select user_id from tags where tag_id in ( select tag_id from tags where 
user_id = <id_of_user_I_care_about> )

now if you want username you can get that from the users table from user_id.

Hope this helps,


Nitin Borwankar
http://tagschema.com











> How are others tackling this problem?  It also applies to anything 
> else that might be tagged other then users (e.g. items, whatever).
>  
> Thank you for your suggestions.
>  
>  
> Josh Lippiner
>  
> IdeaDisco.com - Express yourself (c)/  Coming Soon/
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Tagdb mailing list
>Tagdb at lists.tagschema.com
>http://lists.tagschema.com/mailman/listinfo/tagdb
>  
>



More information about the Tagdb mailing list