docs: function(map, delimitter) {
  			if (!delimitter)
  				delimitter = ".";
  			var self = this;
  			var relations = [];
  			for (var i in map)
  				relations.push(i);
  			//console.log("mapRelations :  relations : ", relations);
  			var func = function(s, e) {
  				if(!s || (!s._deep_query_node_ && !s._deep_array_))
  					return s;
  				var doMap = function(entry) {
  					if (!entry.schema || !entry.schema.links)
  						return;
  					var alls = [];
  					querier.query(entry.schema.links, "./*?rel=in=(" + relations.join(",") + ")")
  						.forEach(function(relation) {
  							//console.log("do map relations on : ", relation);
  							var path = utils.interpret(relation.href, entry.value);
  							alls.push(protoc.get(path, {
  								defaultProtocole: "json",
  								wrap: {
  									path: map[relation.rel]
  								}
  							}));
  						});
  					var d = prom.all(alls)
  						.done(function(results) {
  							//console.log("mapRelations : results : ");
  							//console.log(JSON.stringify(results));
  							results.forEach(function(r) {
  								//console.log("do : ", r, " - on : ", entry.value)
  								utils.toPath(entry.value, r.path, r.result, delimitter);
  							});
  							return results;
  						});
  					promises.push(d);
  				};
  				var promises = [];
  				if(s._deep_array_)
  					s.forEach(doMap);
  				else
  					doMap(s);
  				if (!promises.length)
  					return s;
  				return prom.all(promises)
  					.done(function() {
  						return s;
  					});
  			};
  			func._isDone_ = true;
  			return self._enqueue(func);
  		}