4 ms·
That's a great book. The difference is that the examples in Programming Collective Intelligence don't make use of a real graph database (meaning a DB where you
by espeed 15y ago
That's a great book. The difference is that the examples in Programming Collective Intelligence don't make use of a real graph database (meaning a DB where you don't have to hit an external index to find adjacent nodes), and all of the algorithm examples are in standard Python rather than in a more expressive graph programming language like Gremlin (https://github.com/tinkerpop/gremlin/wiki https://github.com/tinkerpop/gremlin/wiki).
Gremlin is a domain-specific language written in Groovy (it's like SQL for graphs), and you can use it from Python like you can use SQL from Python (see http://bulbflow.com/overview http://bulbflow.com/overview); however, there is a Jython version in the works, as well as a Scala version (https://groups.google.com/d/msg/gremlin-users/LXNdbT_m7Gk/QZPD9RqjKC4J https://groups.google.com/d/msg/gremlin-users/LXNdbT_m7Gk/QZ...).
Marko is the author Gremlin, and he has been working to refactor most of its heavy lifting down into a dataflow framework called Pipes that's written in Java (https://github.com/tinkerpop/pipes/wiki/ https://github.com/tinkerpop/pipes/wiki/) so that it's now basically a thin wrapper to Pipes.
By doing this, it's opening the door to create Gremlin variants in all of the other JVM languages (see the Gremlin 2.0 dicussion https://groups.google.com/d/topic/gremlin-users/5DiHC9dWSAA/discussion https://groups.google.com/d/topic/gremlin-users/5DiHC9dWSAA/...).