1. A method for using user provided tags for searching, comprising: collecting, by an application server, a plurality of user provided tags associated with a plurality of entities, wherein the plurality of user provided tags comprises semantic descriptions; 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, by the application server, a user query that contains a search term; and generating, by 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, tp, for the entity, p, wherein a function tp(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.