[Neo4j] neo4j REST GraphAlgo

Mattias Persson mattias at neotechnology.com
Thu Aug 19 23:26:18 CEST 2010

That's nice, I'll definately try it out when I getthe time for it!

2010/8/19 Todd Chaffee <todd at mikamai.com>

> I've just checked-in a draft implementation of the REST API for
> GraphAlgoFactory into the laboratory.  It currently supports the following:
> - algorithms shortestPath, allSimplePaths, and allPaths
> - relationship expanders
> - max depth (shortestPath seems to ignore this - there may be a bug
> in org.neo4j.graphalgo.impl.path.ShortestPath)

Could you supply some test case which can trigger it? That ShortestPath algo
has been tested and even deployed in production environments with correct

- return a single path or all paths.
> Before moving forward I wonder if someone could take a quick look at it to
> see if it fits well with the existing REST API and if the java code looks
> acceptable.  Here are some examples you could use to test.

Again, I'd be happy to whenever I get the time :)

> Simple case - show all shortestPaths from Node 1 to Node 3:
> curl -H Accept:application/json -H Content-Type:application/json -d
> '{ "to": "http://localhost:9999/node/3" }'

-X POST http://localhost:9999/node/1/pathfinder

So shortest path is the default algo if none specified?

> Specify the algorithm, max depth, and return only one path:
> curl -H Accept:application/json -H Content-Type:application/json -d
> '{ "to": "http://localhost:9999/node/3",
> "algorithm": "allSimplePaths",
> "max depth": 3,
> "single path": "true" }'
> -X POST  http://localhost:9999/node/1/pathfinder
> Restrict relationships:
> curl -H Accept:application/json -H Content-Type:application/json -d
> '{ "to": "http://localhost:9999/node/3",
> "relationships": [
> { "type": "KNOWS", "direction": "out" },
> {"type": "LOVES" } ] }'
> -X POST http://localhost:9999/node/1/pathfinder

My initial thought was to have a


Or even (may be my favourite)


for multiple paths and


for single paths, but it's a matter of taste here I'd guess. Your solution
is also quite nice.


> Thanks,
> Todd
> _______________________________________________
> Neo4j mailing list
> User at lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

Mattias Persson, [mattias at neotechnology.com]
Hacker, Neo Technology

More information about the User mailing list