Hi All! I want to build a knowledge tree for all man kind! Kind of a curriculum suggesting website for wikipedia and all the emerging MOOCs. But i ran into the following problem.
The functionality would look like that you can specify a group of nodes representing your knowledge, and employers can specify another group of nodes representing their needs for knowledge. The system would track the average costs (like in hours of studying) of getting a new knowledge based on what you already know. So the question is, how we define some kind of 'esoteric' shortest path between two sets of knowledges. I guess there are two final nodes: the employee and the company. First i take Dijkstra and learn everything on the cheapest path to get the job. At least hipothetically: i mark the unkown knowledge's nodes as known. Then i run a second Dijkstra and mark again... I repeat this as long as i get enough knowledge marked from the company's wishlist: let's say they are in need of ten fields of knowledge, but i only need to know any 3 of those to get some work. All this is needed because if i have several nodes depending on a previous node that still needs to be learned, the price of learning this previous node, on my current basis, should only be counted once. Now my problem is, that in order to do this i have to access the database every time i run a query for a person, and worst of all, i can only have one "fakely-marked-as-learned" property on every knowledge, and at the end i have to clear them all, in order to do another processing for another user. This is very slow!!! Does anybody please have a better idea for this problem, with the current version of Neo4J? A better algorithm maybe, than Dijkstra ran several times or just a better solution than storing the fake marks in the database? *Maybe copying portions of the database for every user?* Etc... Is there a chance to develop this functionality into the core API? Is anybody out there interested? Best wishes, Fekete, Balazs Valer Europe, Hungary -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
