return neighboursValue.get(res);
}
public FilteredFolksonomy convertToFolksonomy(int uLim, int tLim) throws UnsupportedItemException{
Connection c = DataConnection.getDataConnection(DataConnection.POSTCORE);
FilteredFolksonomy ff = new FilteredFolksonomy(getR());
for(String tag: getThisTags()){
if(allTags.containsKey(tag))
allTags.put(tag, allTags.get(tag)+1);
else
allTags.put(tag, 1);
}
for(String user: getThisUsers()){
if(allUsers.containsKey(user))
allUsers.put(user, allUsers.get(user)+1);
else
allTags.put(user, 1);
}
String filterString = " WHERE (";
for(ResourcePrimitive rs : neighboursValue.values()){
filterString += "r=\"" + rs.getR() + "\" OR ";
Resource r = new Resource(rs.getR());
for(String t : rs.getThisTags()){
if(allTags.get(t)>=tLim)
r.setItem(Item.TAG, t);
}
for(String u : rs.getThisUsers()){
if(allUsers.get(u)>=uLim)
r.setItem(Item.USER, u);
}
ff.setResource(rs.getR(), r);
}
filterString = filterString.substring(0, filterString.length()-4) + ")";
for(String tag: allTags.keySet()){
if(allTags.get(tag)>=tLim){
Tag t = new Tag(tag);
for(String r : Metrics.getResources(tag, filterString, c))
t.setItem(Item.RESOURCE, r);
for(int u : Metrics.getUsers(tag, filterString, c)){
if(allUsers.get(u+"")>=uLim)
t.setItem(Item.USER, u+"");
}
ff.setTag(tag, t);
}
}
for(String user: allUsers.keySet()){
if(allUsers.get(user)>=uLim){
User u = new User(user);
for(String r : Metrics.getResourcesU(user, filterString, c))
u.setItem(Item.RESOURCE, r);
for(String t : Metrics.getTags(user, filterString, c))
if(allTags.get(t)>=tLim)
u.setItem(Item.TAG, t);
ff.setUser(user, u);
}
}
return ff;
}