1. A method for using user provided tags for searching, comprising: collecting at an application server a plurality of user provided tags associated with each one of a plurality of entities, wherein the plurality of user provided tags comprises semantic descriptions entered by a plurality of different users: creating by the application server a tag topological network layer that is managed by a service provider, wherein the tag topological network layer predefines a next entity for each one of the plurality of entities based upon the plurality of user provided tags; receiving at the application server a user query that contains a search term from a user; generating at the application server a search result containing an entity of the plurality of entities in the tag topological network layer, wherein the entity is found based on a distance measure of a tag vector, t p , for the entity, p, wherein a function t p (i) represents a measure of a weight of a tag, i, that is used to tag the entity, p, based on a normalized count of times tag, i, is used to tag the entity, p, wherein the entity contains a link to another entity in accordance with the tag topological network layer, wherein the link is created in accordance with the tag vector of the entity; and outputting the search result to an internet protocol device of the user.