Re: [Neo4j] Any webservice based spring data graph example
Vipul, I've built a Spring based web service with neo4j in embedded mode using apache cxf, let me know what specific issues you are running into. Thanks Sent from my iPhone On Aug 15, 2011, at 5:29 PM, Andreas Kollegger andreas.kolleg...@neotechnology.com wrote: Hi Vipul, What was the trouble you were having with Apache CXF? Were you deploying Neo4j as an embedded database, intending to use CXF to expose an interface? Or were you accessing Neo4j Server's REST api from Apache CXF? I'm not aware of any example projects that have used Apache CXF, but am pretty interested to hear about your experiences. Cheers, Andreas On Aug 15, 2011, at 8:07 AM, Vipul Gupta wrote: I was having some trouble integrating Apache CXF with Spring data graph container. So I am wondering if there is any webservice based spring data graph example for which I can look at the source code. Please let me know Thanks ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-graph-collections
) can implement, for the data types I'd like to understand the use cases first before implementing the different data types, maybe we could store types of Object instead of Long or Double and implement comparators in a more meaningful fashion. Also I was wondering if unit tests would need to be extracted out of the spatial component and embedded inside the graph-collections component as well or whether we'd potentially need to write brand new unit tests as well. Craig as I mentioned I'd love to help, let me know if it would be possible to fork a repo or to talk in more detail this week. Regards From: pd_aficion...@hotmail.com To: user@lists.neo4j.org Date: Wed, 29 Jun 2011 01:35:43 +0200 Subject: Re: [Neo4j] neo4j-graph-collections As to the issue of n-dim doubles, it would be interesting to consider creating a set of classes of type Orderable (supporting , =, , = operations), this we can use in both Rtree and Btree. Right now Btree only supports datatype Long. This should also become more generic. A first step we can take is at least wrap the common datatypes in Orderable classes. Niels Date: Wed, 29 Jun 2011 00:32:15 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-graph-collections The RTree in principle should be generalizable, but the current implementation in neo4j-spatial does make a few assumptions specific to spatial data, and makes use of spatial envelopes for the tree node bounding boxes. It is also specific to 2D. We could make a few improvements first, like generalizing to n-dimensions, replacing the recursive search with a traverser and generalizing the bounding boxes to be simple double-arrays. Then the only thing left would be to decide if it is ok for it to be based on n-dim doubles or should be generalized to more types. On Tue, Jun 28, 2011 at 11:14 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: I would be interested in helping out with this, let me know next steps. Sent from my iPhone On Jun 28, 2011, at 8:49 AM, Niels Hoogeveen pd_aficion...@hotmail.com wrote: A couple of weeks ago Peter Neubauer set up a repository for in-graph datastructures: https://github.com/peterneubauer/graph-collections . At this time of writing only the Btree/Timeline index is part of this component. In my opinion it would be interesting to move the Rtree parts of neo-spatial to neo4j-graph-collections too. I looked at the code but don't feel competent to seperate out those classes that support generic Rtrees from those classes that are clearly spatial related. Is there any enthusiasm for such a project and if so, who is willing and able to do this? Niels ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-graph-collections
I've read through this thread in more detail and have a few thoughts, when you talk about type I am assuming that you are referring to an interface that both (Btree,Rtree) can implement, for the data types I'd like to understand the use cases first before implementing the different data types, maybe we could store types of Object instead of Long or Double and implement comparators in a more meaningful fashion. Also I was wondering if unit tests would need to be extracted out of the spatial component and embedded inside the graph-collections component as well or whether we'd potentially need to write brand new unit tests as well. Craig as I mentioned I'd love to help, let me know if it would be possible to fork a repo or to talk in more detail this week. Regards From: pd_aficion...@hotmail.com To: user@lists.neo4j.org Date: Wed, 29 Jun 2011 01:35:43 +0200 Subject: Re: [Neo4j] neo4j-graph-collections As to the issue of n-dim doubles, it would be interesting to consider creating a set of classes of type Orderable (supporting , =, , = operations), this we can use in both Rtree and Btree. Right now Btree only supports datatype Long. This should also become more generic. A first step we can take is at least wrap the common datatypes in Orderable classes. Niels Date: Wed, 29 Jun 2011 00:32:15 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-graph-collections The RTree in principle should be generalizable, but the current implementation in neo4j-spatial does make a few assumptions specific to spatial data, and makes use of spatial envelopes for the tree node bounding boxes. It is also specific to 2D. We could make a few improvements first, like generalizing to n-dimensions, replacing the recursive search with a traverser and generalizing the bounding boxes to be simple double-arrays. Then the only thing left would be to decide if it is ok for it to be based on n-dim doubles or should be generalized to more types. On Tue, Jun 28, 2011 at 11:14 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: I would be interested in helping out with this, let me know next steps. Sent from my iPhone On Jun 28, 2011, at 8:49 AM, Niels Hoogeveen pd_aficion...@hotmail.com wrote: A couple of weeks ago Peter Neubauer set up a repository for in-graph datastructures: https://github.com/peterneubauer/graph-collections. At this time of writing only the Btree/Timeline index is part of this component. In my opinion it would be interesting to move the Rtree parts of neo-spatial to neo4j-graph-collections too. I looked at the code but don't feel competent to seperate out those classes that support generic Rtrees from those classes that are clearly spatial related. Is there any enthusiasm for such a project and if so, who is willing and able to do this? Niels ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-spatial
Hey Craig,Thanks for responding, here's what I'd like to see on the creative map: 1) My current position in the park and the positions of attractions and other things in the park2) Ability to perform traversals and graph matching algorithms once number 1 is known3) Ability to add new points in the park through a configurable process We should talk in person, lots of interesting stuff to discuss, another thought I had was that you come up to Seattle for the graph-db meetup so we can talk in more detail.Regards Date: Thu, 9 Jun 2011 17:39:22 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, Yes, your explanation was clear, but I was busy with other work and failed to repond - my bad ;-) Anyway, your idea is nice. And I can think of a few ways to model this in the graph, but at the end of the day the most important thing to decide first is what queries are you going to perform? Do you want a creative map, that while not drawn to scale, can still be asked questions like 'how far from the roller-coaster to the closest lunch venue?'. That kind of question could make use of the graph and the spatial extensions to provide an answer and show the route on the creative map, even if it is not a real to-scale map. Is that what you want to see? You can try contact me on skype also. Regards, Craig On Thu, Jun 9, 2011 at 5:35 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Hi Craig,Following up on this thread, was this explanation clear? If so I'd like to talk more details.Regards From: sxk1...@hotmail.com To: user@lists.neo4j.org Subject: RE: [Neo4j] neo4j-spatial Date: Sun, 5 Jun 2011 20:15:27 -0700 Hey Craig,Thanks for responding, so to be clear a theme park can have its own map created by the graphic artists that work at the theme park company, this map is sometimes 2D or sometimes a 3D map that really has no notion of lat long coordinates or GPS. What I am proposing is that we have the ability to inject GPS coordinates into this creative map through some mechanism that understands what the GPS coordinates of each point in this creative map are. So thats where the google map comes in, the google or bing map would potentially have lat long coordinates of every point in a theme park, so now the challenge is how do we transfer that knowledge inside this 2D or 3D creative map so that we can run neo4j traversal algorithms inside a map that has been injected with GPS data. A theme park is just the beginning, imagine having the power to inject this information into any 2D or 3D map, that would be pretty amazing.In essence I am doing this so that the creative map itself can use neo4j and be highly interactive and meaningful. Let me know if that's still unclear and if so lets talk on skype. Regards Date: Mon, 6 Jun 2011 01:13:08 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, This sounds worth discussing further. I think I need to hear more about your use case. I do not know what the term 'creative map' means, and what traversals you are planning to do? When you talk about 'plotting points', do you mean you have a GPS and are moving inside a real theme park and want to see this inside google maps? Or are you just drawing a path on an interactive GIS? I think once I have some more understanding of what your use case is, what problem you are trying to solve, I am sure I will be able to give advice on how best to approach it, if it relates to anything else we are doing, or whether this is something you would need to put some coding time into :-) Regards, Craig On Sun, Jun 5, 2011 at 8:26 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki ( http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-spatial
Hi Craig,Following up on this thread, was this explanation clear? If so I'd like to talk more details.Regards From: sxk1...@hotmail.com To: user@lists.neo4j.org Subject: RE: [Neo4j] neo4j-spatial Date: Sun, 5 Jun 2011 20:15:27 -0700 Hey Craig,Thanks for responding, so to be clear a theme park can have its own map created by the graphic artists that work at the theme park company, this map is sometimes 2D or sometimes a 3D map that really has no notion of lat long coordinates or GPS. What I am proposing is that we have the ability to inject GPS coordinates into this creative map through some mechanism that understands what the GPS coordinates of each point in this creative map are. So thats where the google map comes in, the google or bing map would potentially have lat long coordinates of every point in a theme park, so now the challenge is how do we transfer that knowledge inside this 2D or 3D creative map so that we can run neo4j traversal algorithms inside a map that has been injected with GPS data. A theme park is just the beginning, imagine having the power to inject this information into any 2D or 3D map, that would be pretty amazing.In essence I am doing this so that the creative map itself can use neo4j and be highly interactive and meaningful. Let me know if that's still unclear and if so lets talk on skype. Regards Date: Mon, 6 Jun 2011 01:13:08 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, This sounds worth discussing further. I think I need to hear more about your use case. I do not know what the term 'creative map' means, and what traversals you are planning to do? When you talk about 'plotting points', do you mean you have a GPS and are moving inside a real theme park and want to see this inside google maps? Or are you just drawing a path on an interactive GIS? I think once I have some more understanding of what your use case is, what problem you are trying to solve, I am sure I will be able to give advice on how best to approach it, if it relates to anything else we are doing, or whether this is something you would need to put some coding time into :-) Regards, Craig On Sun, Jun 5, 2011 at 8:26 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki ( http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Introducing Graph Database - San Francisco
All,I've started the meetup group: http://www.meetup.com/graphdb-seattle/members/ Please sign up if you're in the seattle area and are interested. Bradford I am ccing you on this thread so that you are aware of this new group and maybe can help us with a venue, to begin with we can maybe use the facilities at my building. Andreas/Jim I would like to do monthly get togethers to begin with and maybe have you guys maybe come up every so often to help out and foster growth and share new topics. Let me know your thoughts.Regards From: j...@neotechnology.com Date: Sun, 5 Jun 2011 09:43:44 -0500 To: user@lists.neo4j.org Subject: Re: [Neo4j] Introducing Graph Database - San Francisco Hey Andreas, I believe they are both on this list. But if not you can tweet then @savasp and @lusciouspear Jim On 4 Jun 2011, at 19:28, Andreas Kollegger wrote: Do they monitor this list, Jim? Also: Bradford and Savas are you there? On Jun 4, 2011, at 4:00 PM, Jim Webber wrote: Bradford and Savas should be pretty keen on participating too I expect. Jim On 4 Jun 2011, at 17:50, Andreas Kollegger wrote: Saikat, Hm. It seems that meetup.com limits me to being the organizer of 3 meetups. You can create the group and I'll join up, then send you the badge and set up the sponsorship. Or wait, I'll just attach it. The pattern I've been using for the group name is graphdb-city name. I'll help get all the setup done if you create the group first. -Andreas meetup-seattle.png On Jun 4, 2011, at 3:17 PM, Saikat Kanjilal wrote: Andreas, This is a great idea, any interest doing this sort of an activity in the Seattle area. I'd love to help and be involved. I floated the idea earlier and got a few folks interested and would help organize. Thoughts? Regards Sent from my iPhone On Jun 4, 2011, at 1:38 PM, Andreas Kollegger andreas.kolleg...@neotechnology.com wrote: Hello Graphistas, We're starting regular meetups in the San Francisco bay area, organized on meetup.com at http://www.meetup.com/graphdb/ . Hosted by Neo4j, we'll be getting together to talk about all topics graph related, perhaps even dipping into other NOSQL solutions. From the summary... Graph-like thinking in action: Developers interested in learning about and working with graph databases for social, spatial, hierarchical or other highly connected data sets. We host hands-on lab sessions, technology reviews, topical lectures, and plenty of social beer nights. Curious about graphs, want to pimp your non-RDBMS skills? Join us! We'll hold meetups in San Francisco and also in the South Bay, starting later this month on June 20th and 21st. Cheers, Andreas ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] neo4j-spatial
Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki (http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-spatial
Hey Craig,Thanks for responding, so to be clear a theme park can have its own map created by the graphic artists that work at the theme park company, this map is sometimes 2D or sometimes a 3D map that really has no notion of lat long coordinates or GPS. What I am proposing is that we have the ability to inject GPS coordinates into this creative map through some mechanism that understands what the GPS coordinates of each point in this creative map are. So thats where the google map comes in, the google or bing map would potentially have lat long coordinates of every point in a theme park, so now the challenge is how do we transfer that knowledge inside this 2D or 3D creative map so that we can run neo4j traversal algorithms inside a map that has been injected with GPS data. A theme park is just the beginning, imagine having the power to inject this information into any 2D or 3D map, that would be pretty amazing.In essence I am doing this so that the creative map itself can use neo4j and be highly interactive and meaningful. Let me know if that's still unclear and if so lets talk on skype. Regards Date: Mon, 6 Jun 2011 01:13:08 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, This sounds worth discussing further. I think I need to hear more about your use case. I do not know what the term 'creative map' means, and what traversals you are planning to do? When you talk about 'plotting points', do you mean you have a GPS and are moving inside a real theme park and want to see this inside google maps? Or are you just drawing a path on an interactive GIS? I think once I have some more understanding of what your use case is, what problem you are trying to solve, I am sure I will be able to give advice on how best to approach it, if it relates to anything else we are doing, or whether this is something you would need to put some coding time into :-) Regards, Craig On Sun, Jun 5, 2011 at 8:26 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki ( http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Introducing Graph Database - San Francisco
Andreas, This is a great idea, any interest doing this sort of an activity in the Seattle area. I'd love to help and be involved. I floated the idea earlier and got a few folks interested and would help organize. Thoughts? Regards Sent from my iPhone On Jun 4, 2011, at 1:38 PM, Andreas Kollegger andreas.kolleg...@neotechnology.com wrote: Hello Graphistas, We're starting regular meetups in the San Francisco bay area, organized on meetup.com at http://www.meetup.com/graphdb/ . Hosted by Neo4j, we'll be getting together to talk about all topics graph related, perhaps even dipping into other NOSQL solutions. From the summary... Graph-like thinking in action: Developers interested in learning about and working with graph databases for social, spatial, hierarchical or other highly connected data sets. We host hands-on lab sessions, technology reviews, topical lectures, and plenty of social beer nights. Curious about graphs, want to pimp your non-RDBMS skills? Join us! We'll hold meetups in San Francisco and also in the South Bay, starting later this month on June 20th and 21st. Cheers, Andreas ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about Dijkstra
Hi Jose, See the following: https://github.com/neo4j-examples/java-dijkstra Andreas has done a great job in showing the use of this algorithm through examples, is this what you need? I used this t get my POC off the ground. Regards Date: Sat, 14 May 2011 17:32:21 -0700 From: jai...@estudiantes.uci.cu To: user@lists.neo4j.org Subject: Re: [Neo4j] about Dijkstra Peter, thanks for replying but the Dijkstra algorithm to which I refer is that development by Patrik Larssonand need to know if anyone can help me find some example of it. is in the package impl cheers, jose El 5/14/2011 7:44 AM, Peter Neubauer escribió: Hi Jose, there is documentation at http://docs.neo4j.org/chunked/snapshot/graph-algo-path-finding.html. Would that help? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Sat, May 14, 2011 at 7:40 AM, Jose Angel Inda Herrera jai...@estudiantes.uci.cu wrote: hello list, a greeting to all, I'm trying to use the class Dijkstra developed by Patrik Larsson and was wondering if anyone had some example of how it works. thanks beforehand ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Neo4j spatial
Craig et al, I was wondering if anyone has used neo4j spatial to model traffic and operational patterns in a theme park. These patterns could include real time traffic updates, ride closures, wait time management and more. I'd be interested in looking and building some pieces into neo4j spatial to address this. Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] REST results pagination
I'd like to propose that we put this functionality into the plugin (https://github.com/skanjila/gremlin-translation-plugin) that Peter and I are currently working on, thoughts? From: j...@neotechnology.com Date: Tue, 19 Apr 2011 15:25:20 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] REST results pagination Hi Javier, I've just checked and that's in our list of stuff we really should do because it annoys us that it's not there. No promises, but we do intend to work through at least some of that list for the 1.4 releases. Jim ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Seattle neo4j meetup proposed
Ummm graph beers, nothing better than that :), I know Bradford because he organizes the high scalability meetings in this area. Sent from my iPhone On Apr 16, 2011, at 7:49 AM, Jim Webber j...@neotechnology.com wrote: Hi Saikat, Savas Parastatidis and Bradford Stephens had a bit of a twitter exchange about this. And Emil visits Seattle reasonably often too. Seems there's at least the four of you that could get some graph-beers on. Jim ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Seattle neo4j meetup proposed
Hi Emil,When you come up to Seattle next time how about Chris Walters, you and Savas and I get together? Let us know when you're coming and we can have some good grbeers (graph-beers) and conversation? If anyone else is interested please ping me. Regards CC: user@lists.neo4j.org From: sxk1...@hotmail.com Date: Sat, 16 Apr 2011 08:12:41 -0700 To: user@lists.neo4j.org Subject: Re: [Neo4j] Seattle neo4j meetup proposed Ummm graph beers, nothing better than that :), I know Bradford because he organizes the high scalability meetings in this area. Sent from my iPhone On Apr 16, 2011, at 7:49 AM, Jim Webber j...@neotechnology.com wrote: Hi Saikat, Savas Parastatidis and Bradford Stephens had a bit of a twitter exchange about this. And Emil visits Seattle reasonably often too. Seems there's at least the four of you that could get some graph-beers on. Jim ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] CNFE in Neo4j Server
Thanks Tobias, I dont believe I have this on my runtime classpath, I'll include it now. From: tobias.ivars...@neotechnology.com Date: Thu, 7 Apr 2011 08:06:51 +0200 To: user@lists.neo4j.org Subject: Re: [Neo4j] CNFE in Neo4j Server The simplest explanation is probably the correct one: it is not on the classpath. This class is to be found in the jersey-server-1.3.jar is that jar on the classpath? (or in jersey-client-1.3.jar, either will do) The simplest way one might be fooled into not including it in the classpath is due to there not being a compile-time dependency on it. the JAX-RS API does not require an implementation for compiling, but at runtime you must have a valid JAX-RS implementation available on the classpath. The default implementation is the one defined by com.sun.ws.rs.ext.RuntimeDelegateImpl, a class that jersey provides, being the reference implementation. -tobias On Thu, Apr 7, 2011 at 7:19 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, trying to execute https://github.com/peterneubauer/neo4j-gremlin-plugin/blob/master/src/test/org/neo4j/server/plugin/gremlin/GremlinPluginTest.java as a JUnit test on Eclipse/Mac with default JDK, Saikat is getting the following: java.lang.ExceptionInInitializerError at org.neo4j.server.rest.repr.formats.JsonFormat.init(JsonFormat.java:43) at org.neo4j.server.plugin.gremlin.GremlinPluginTest.setUpBeforeClass(GremlinPluginTest.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:122) at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:91) at javax.ws.rs.core.MediaType.clinit(MediaType.java:44) ... 17 more Caused by: java.lang.ClassNotFoundException: com.sun.ws.rs.ext.RuntimeDelegateImpl at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at javax.ws.rs.ext.FactoryFinder.newInstance(FactoryFinder.java:62) at javax.ws.rs.ext.FactoryFinder.find(FactoryFinder.java:155) at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:105) ... 19 more Any clues on why there is a class missing? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org
[Neo4j] Cron job inside embedded neo4j
Folks, I was wondering if there's a way to simulate the notion of a cron job inside embedded neo4j, I nerd to have a way to periodically update a certain property of each and every node in my graph by calling into a remote service . Regards Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cron job inside embedded neo4j
Yes to be clear what I need is some hook in neo4j connected to a utility that does update of global data using quartz, in my case I would need this to update a specific property of all nodes. Date: Thu, 24 Mar 2011 15:56:37 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Cron job inside embedded neo4j Hit there, there is a nice write-up at http://onjava.com/pub/a/onjava/2005/09/28/what-is-quartz.html?page=1 on quartz. I have used Quartz before - it's VERY convenient, and does handle threads etc nicely. I am not certain what use a wrapper or utility would provide in itself since Quartz already is nicely packaged. However, I think think of something connected to a utility that does some specific work like imports data etc? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Thu, Mar 24, 2011 at 3:48 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: This seems like a useful little utility to have inside an embedded db, any thoughts on creating a utility like this using a background thread and management thread for the future. Sent from my iPhone On Mar 24, 2011, at 7:12 AM, Andreas Kollegger andreas.kolleg...@neotechnology.com wrote: Hi Saikat, The embedded graph database does not have such a facility. You'd have to manage a timer thread yourself or use perhaps Quartz[1] for sophisticated job scheduling. Cheers, Andreas [1] http://www.quartz-scheduler.org/ On Mar 24, 2011, at 3:08 PM, Saikat Kanjilal wrote: Folks, I was wondering if there's a way to simulate the notion of a cron job inside embedded neo4j, I nerd to have a way to periodically update a certain property of each and every node in my graph by calling into a remote service . Regards Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Starting a Gremlin plugin for Neo4j Server
Thanks Peter, I'll be heavily beefing up the methods soon, I have been looking at Marko's list of basic methods to enter into the service seen in the link below: https://github.com/tinkerpop/rexster/wiki/Using-Gremlin Peter I'll send you some more code soon. Date: Tue, 22 Mar 2011 23:43:42 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: [Neo4j] Starting a Gremlin plugin for Neo4j Server Hi Folks, Saikat and me have been setting up a first embryo of a Gremlin plugin, which later maybe can server for other scripting languages. Take a look at https://github.com/peterneubauer/neo4j-gremlin-plugin/blob/master/src/main/java/org/neo4j/server/plugin/gremlin/GremlinPlugin.java and feel free to fork and contribute - it's just a mini-stub right now and not effective. It basically does curl -d 'script=results.add(start)' http://localhost:7474/db/data/ext/GremlinPlugin/node/0/execute_from_node { self : vertex: v[0] } But it's a start. Any comments are welcome! Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] FW: Neo4j spatial
Sorry forwarding to the list, accidentally only sent to Peter. From: sxk1...@hotmail.com To: peter.neuba...@neotechnology.com Subject: RE: [Neo4j] Neo4j spatial Date: Fri, 18 Mar 2011 08:54:51 -0700 Peter/Craig,Want to continue this thread, so I need to: 1) Load a lot of data initially about a nodes in paths inside a park2) I need to query this to calculate shortest paths, run complex traversals based on various properties of each node 3) I need to be able to update the graph (perform CRUD operations on the fly)4) I need to be periodically able to flush the contents of the graph and reload If I stay with my approach of using a background thread in java to perform operations 1,4 what are the tradeoffs between doing 2 and 3 in java versus using the REST server. I would presumably be using gremlin and pipes in both approaches. Any thoughts on this.Regards Date: Thu, 17 Mar 2011 07:19:16 +0100 Subject: Re: [Neo4j] Neo4j spatial From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org CC: sxk1...@hotmail.com Saikat, which approach to use - atomic REST calls or a server plugin to work in the background - depends on the load of things. If you are importing stuff in the beginning, I would not use REST. If you are thinking about normal operations with moderate load, I think REST will be fine. Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Thu, Mar 17, 2011 at 1:11 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: I've written a Quasi-mashup which loads points from google maps using a background thread in Spring to initially load points into neo4j, what I'm trying to evaluate with the goal of simplifying the architecture is the following: 1) Should I rejigger the tomcat service code to have a webservice call to add points which would be called through the steps you describe below from google or bing maps given that I already have service API calls that do traversals with pipes and shortest path calculations 2) Take the rexster and http approach to upload the points through some automated process from my maps and stick with the http approach when doing traversals through gremlin and shortest path calculations. Also I am trying to play with neo4j-spatial and trying to figure out how to leverage it moving forward That was a mouthful :) Sent from my iPhone On Mar 16, 2011, at 4:49 PM, Craig Taverner cr...@amanzi.com wrote: Hi Saikat, There are a few places you can look for code samples. One of the best places is the set of test cases included in neo4j spatial. You can find them at https://github.com/neo4j/neo4j-spatial/tree/master/src/test/java/org/neo4j/gis/spatial. In particular, since you are interested mostly in point data, take a look at TestSimplePointLayer.javahttps://github.com/neo4j/neo4j-spatial/blob/master/src/test/java/org/neo4j/gis/spatial/TestSimplePointLayer.javaand LayersTest.javahttps://github.com/neo4j/neo4j-spatial/blob/master/src/test/java/org/neo4j/gis/spatial/LayersTest.java . What you will find in those classes is Java code for adding points to the database, similar, but more extensive than the code in the blog. Regarding your specific case, if you are working with a normal google map or bing map, and want to port the points into a local database, you would need to export them, and write a simple importer. If you have written a mashup between google or bing maps and your own neo4j-based web application, you should be able to use some client side coding to automate this, accessing the map, and posting the points directly into your own server (where of course you would have some code adding the points to the database). Does this answer your question? Regards, Craig On Thu, Mar 17, 2011 at 12:32 AM, Saikat Kanjilal sxk1...@hotmail.comwrote: Hi Folks, I was reading through the docs on neo4j spatial and was wondering about a few things: 1) If I have a google or bing map and I manually plot some points can I use neo4j spatial to automate the loading of those points into my neo4j db? 2) Are there code samples for neo4j-spatial or implementations I can look at for a deeper look at the API's etc? Best Regards Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] FW: Neo4j spatial
I would like to work on a generic gremlin plugin approach, will let you and Marko know of progress through the git repository.Regards Date: Fri, 18 Mar 2011 21:10:01 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: Re: [Neo4j] FW: Neo4j spatial Saikat, the best way to do 2) and 3) depends on the frequency of things. For heavy operations, server side Java or sending Gremlin scripts over would probably be the best option. For relatively standard traversals, you could use the built-in REST endpoints for the graph algos. Depending on the number of different queries you want to support, a couple of hard coded Server Plugins executing either straight pipes or hard coded Gremlin scripts might be an option, reducing the complexity on the client. Otherwise, a generic Gremlin- payload script Plugin could be a more ad-hoc way. Let Marko and me know if you are starting on a Gremlin plugin, so we can support you as there is more demand for it anyway. Would love to get at least some initial Scripting support into 1.3! /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Fri, Mar 18, 2011 at 5:23 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Sorry forwarding to the list, accidentally only sent to Peter. From: sxk1...@hotmail.com To: peter.neuba...@neotechnology.com Subject: RE: [Neo4j] Neo4j spatial Date: Fri, 18 Mar 2011 08:54:51 -0700 Peter/Craig,Want to continue this thread, so I need to: 1) Load a lot of data initially about a nodes in paths inside a park2) I need to query this to calculate shortest paths, run complex traversals based on various properties of each node 3) I need to be able to update the graph (perform CRUD operations on the fly)4) I need to be periodically able to flush the contents of the graph and reload If I stay with my approach of using a background thread in java to perform operations 1,4 what are the tradeoffs between doing 2 and 3 in java versus using the REST server. I would presumably be using gremlin and pipes in both approaches. Any thoughts on this.Regards Date: Thu, 17 Mar 2011 07:19:16 +0100 Subject: Re: [Neo4j] Neo4j spatial From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org CC: sxk1...@hotmail.com Saikat, which approach to use - atomic REST calls or a server plugin to work in the background - depends on the load of things. If you are importing stuff in the beginning, I would not use REST. If you are thinking about normal operations with moderate load, I think REST will be fine. Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/- Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Thu, Mar 17, 2011 at 1:11 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: I've written a Quasi-mashup which loads points from google maps using a background thread in Spring to initially load points into neo4j, what I'm trying to evaluate with the goal of simplifying the architecture is the following: 1) Should I rejigger the tomcat service code to have a webservice call to add points which would be called through the steps you describe below from google or bing maps given that I already have service API calls that do traversals with pipes and shortest path calculations 2) Take the rexster and http approach to upload the points through some automated process from my maps and stick with the http approach when doing traversals through gremlin and shortest path calculations. Also I am trying to play with neo4j-spatial and trying to figure out how to leverage it moving forward That was a mouthful :) Sent from my iPhone On Mar 16, 2011, at 4:49 PM, Craig Taverner cr...@amanzi.com wrote: Hi Saikat, There are a few places you can look for code samples. One of the best places is the set of test cases included in neo4j spatial. You can find them at https://github.com/neo4j/neo4j-spatial/tree/master/src/test/java/org/neo4j/gis/spatial. In particular, since you are interested mostly in point data, take a look at TestSimplePointLayer.javahttps://github.com/neo4j/neo4j-spatial/blob/master/src/test/java/org/neo4j/gis/spatial
[Neo4j] Neo4j spatial
Hi Folks, I was reading through the docs on neo4j spatial and was wondering about a few things: 1) If I have a google or bing map and I manually plot some points can I use neo4j spatial to automate the loading of those points into my neo4j db? 2) Are there code samples for neo4j-spatial or implementations I can look at for a deeper look at the API's etc? Best Regards Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j spatial
I've written a Quasi-mashup which loads points from google maps using a background thread in Spring to initially load points into neo4j, what I'm trying to evaluate with the goal of simplifying the architecture is the following: 1) Should I rejigger the tomcat service code to have a webservice call to add points which would be called through the steps you describe below from google or bing maps given that I already have service API calls that do traversals with pipes and shortest path calculations 2) Take the rexster and http approach to upload the points through some automated process from my maps and stick with the http approach when doing traversals through gremlin and shortest path calculations. Also I am trying to play with neo4j-spatial and trying to figure out how to leverage it moving forward That was a mouthful :) Sent from my iPhone On Mar 16, 2011, at 4:49 PM, Craig Taverner cr...@amanzi.com wrote: Hi Saikat, There are a few places you can look for code samples. One of the best places is the set of test cases included in neo4j spatial. You can find them at https://github.com/neo4j/neo4j-spatial/tree/master/src/test/java/org/neo4j/gis/spatial. In particular, since you are interested mostly in point data, take a look at TestSimplePointLayer.javahttps://github.com/neo4j/neo4j-spatial/blob/master/src/test/java/org/neo4j/gis/spatial/TestSimplePointLayer.javaand LayersTest.javahttps://github.com/neo4j/neo4j-spatial/blob/master/src/test/java/org/neo4j/gis/spatial/LayersTest.java . What you will find in those classes is Java code for adding points to the database, similar, but more extensive than the code in the blog. Regarding your specific case, if you are working with a normal google map or bing map, and want to port the points into a local database, you would need to export them, and write a simple importer. If you have written a mashup between google or bing maps and your own neo4j-based web application, you should be able to use some client side coding to automate this, accessing the map, and posting the points directly into your own server (where of course you would have some code adding the points to the database). Does this answer your question? Regards, Craig On Thu, Mar 17, 2011 at 12:32 AM, Saikat Kanjilal sxk1...@hotmail.comwrote: Hi Folks, I was reading through the docs on neo4j spatial and was wondering about a few things: 1) If I have a google or bing map and I manually plot some points can I use neo4j spatial to automate the loading of those points into my neo4j db? 2) Are there code samples for neo4j-spatial or implementations I can look at for a deeper look at the API's etc? Best Regards Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Gremlin and rest server
Marco et al,I was wondering if its possible to embed gremlin queries inside http requests that get sent to the REST server. This would be hugely beneficial to me, I've been trying to simplify our architecture to use the REST Server and http as opposed to using java and pipes programmatically to do traversals. RegardsSaikat ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Gremlin and rest server
Based on all the responses I wil be:1) Using rexster in the immediate to evolve the architecture towards just using http.2) Work on a server plugin for REST structured returns Will be working with Peter on number 2. From: okramma...@gmail.com Date: Tue, 15 Mar 2011 14:24:28 -0600 To: jonah.har...@myyearbook.com CC: user@lists.neo4j.org Subject: Re: [Neo4j] Gremlin and rest server Hi, I just forwarded your comment to Stephen Mallette (the primary developer of Rexster). I don't believe it blocks for these reasons: 1. Tomcat (or Grizzly) doesn't block. 2. Neo4j doesn't block. 3. There is a new Gremlin script engine for each query. However, I'm not confident --- I will forward whatever Stephen says. Thanks, Marko. http://markorodriguez.com On Mar 15, 2011, at 2:17 PM, Jonah H. Harris wrote: On Tue, Mar 15, 2011 at 3:55 PM, Marko Rodriguez okramma...@gmail.com wrote: You can embed the Gremlin traversal in the URI or you can POST a JSON representation. I don't know about Saikat, but Rexster appears to have the functionality I was looking for. Though, its web server implementation blocks while performing large, multi-millisecond graph operations, correct? I believe the plugin' model of Neo4j REST server makes this relatively trivial to do? Yes, it would be fairly easy. -- Jonah H. Harris, VP of Database Administration myYearbook.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Extracting paths from a subgraph
Marko,Thanks for the help. I've had a chance to play with the gremlin shell a bit with my graph created by neo4j, very cool and powerful indeed, I had some additional questions: 1) I tried a more complicated version of the query below and it worked fine, my question here is does this return a list of WeightedPath objects in the neo4j world, if not how do I convert the list of paths from the gremlin world to the neo4j world, if I have to convert is this trivial and are there examples? 2) I watched your screencast, it was awfully fast :) and enlightening, have you uploaded some more involved code examples (in java and potentially groovy) of graph searching like the query below, that would be priceless. 3) Are there javadoc equivalents to learn and use Gremlin, I didnt see anything and figured that it only has a few reserved words needed to query and extract data from graphs 4) Have you done any load testing running these kinds of DSL based expression queries on large graphs and if so what are the results of some of these tests? Thanks again for all your help.Regards From: okramma...@gmail.com Date: Wed, 16 Feb 2011 14:38:24 -0700 To: user@lists.neo4j.org Subject: Re: [Neo4j] Extracting paths from a subgraph Hi, If you use Groovy, then your Gremlin/Groovy/Java code seamlessly interact: https://github.com/tinkerpop/gremlin/wiki/Using-Gremlin-through-Groovy If you don't want to use Groovy, then with Java you can talk to Gremlin via JSR 223: https://github.com/tinkerpop/gremlin/wiki/Using-Gremlin-through-Java If you are just playing around and want to test out algorithms, then you use the Gremlin REPL: saikat$ ./gremlin.sh I recommend the first way for larger projects. See slide #22 here: http://www.slideshare.net/slidarko/the-gremlin-in-the-graph Hope that helps, Marko. http://markorodriguez.com On Feb 16, 2011, at 2:32 PM, Saikat Kanjilal wrote: Hi Marko,Thanks for the response, since I am using neo4j in embedded mode is there a Java API to execute the Gremlin statement below in the current neo4j release, my actual expression is a lot more complicated but feeds off the one I showed below. It would be a pain to have to do this from outside of the java code. Thanks in advance From: okramma...@gmail.com Date: Wed, 16 Feb 2011 14:27:54 -0700 To: user@lists.neo4j.org Subject: Re: [Neo4j] Extracting paths from a subgraph Hi, You might want to try Gremlin for that. See http://gremlin.tinkerpop.com ... Off the cuff, this is the Gremlin expression to accomplish your goal: g.V[[nodeType:'A']].outE.inV[[nodeType:'B']].outE.inV[[nodeType:'C']].paths Thats the depth-first version. You can do breadth-first as well. If you are interested, bring it up on the Gremlin-users mailing list and we can help you there. http://groups.google.com/group/gremlin-users Hope that helps, Marko. http://markorodriguez.com On Feb 16, 2011, at 2:09 PM, Saikat Kanjilal wrote: Hi Folks,I've spent the last few days reading documentation around several aspects of neo4j surrounding extracting a subgraph. However I still dont see any articles or code examples pertaining to the extraction of a set of paths from the complete list of paths based on some prearranged criteria. I read the documentation on the Traverser API as well as graph matching API but it seems to be that this is related to node traversal (as opposed to path extraction) based on pattern matching. What I would like to know/understand is whether there is an API to extract a set of paths based on some criteria surrounding ordering of a subset of nodes in those paths, example is shown below: Data Set: million nodes:Query: Give me all the paths where the firstNode is of property with nodetype A and the secondNode is of property with nodetype B and the third node is of property with ndoetype CResult: I am looking to get back a subset of all the paths 2 questions:1) Can I even do the above with the current neo4j API or do I need to resort to using the graph matching API and stick to traversing nodes with pattern matching a subset of those nodes?2) If I cant do this are there any ramifications in performance when performing a DFS or a BFS with the Traverser API with a million nodes where I have a query like the one above I would love some insight and or pointers to links or resources to help with this. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing
Re: [Neo4j] Extracting paths from a subgraph
Marko,Thanks for the additional insights, a WeightedPath in the neo4j world is a path that contains weights between nodes, in the realm of calculating the shortest path using for example the Dijkstra Algorithm the path weights (in this case the distances) are all summed up and the path with the minimum total weight is the one returned. Here's an example using the weightedpath in the neo4j world (http://components.neo4j.org/neo4j-graph-algo/). In my graph all paths have weights corresponding to length, that being said how do I then convert the data returned by Gremlin to a datastructure that represents a list of WeightedPath objects. I need this datastructure to be returned through json back to the client. Thanks for the other links, I'll look through them soon and look forward to your blog. Regards From: okramma...@gmail.com Date: Thu, 17 Feb 2011 15:53:48 -0700 To: user@lists.neo4j.org Subject: Re: [Neo4j] Extracting paths from a subgraph Hi, 1) I tried a more complicated version of the query below and it worked fine, my question here is does this return a list of WeightedPath objects in the neo4j world, if not how do I convert the list of paths from the gremlin world to the neo4j world, if I have to convert is this trivial and are there examples? I don't know what WeightedPaths are in Neo4j. Is that the sum of the weights on edges of a path? Can you give me some more information? 2) I watched your screencast, it was awfully fast :) and enlightening, have you uploaded some more involved code examples (in java and potentially groovy) of graph searching like the query below, that would be priceless. There are lots of places to find snippets: https://github.com/tinkerpop/gremlin/wiki (Gremlin documentation has lots of examples throughout) http://markorodriguez.com/category/blog/ (my blog) https://github.com/tinkerpop/gremlin/wiki/Gremlin-Cookbook (user provided recipes) If you have particular examples you would like to see in the Cookbook, I can always add them. The play graph we use in the Gremlin documentation is defined here https://github.com/tinkerpop/gremlin/wiki/Defining-a-More-Complex-Property-Graph .. If you tell me a traversal problem for that domain model, I will happily solve it and provide it as a recipe. 3) Are there javadoc equivalents to learn and use Gremlin, I didnt see anything and figured that it only has a few reserved words needed to query and extract data from graphs Here are the Cheat Sheets: https://github.com/tinkerpop/gremlin/wiki/Gremlin-Steps https://github.com/tinkerpop/gremlin/wiki/Gremlin-Methods 4) Have you done any load testing running these kinds of DSL based expression queries on large graphs and if so what are the results of some of these tests? Gremlin is a lazy graph traversal framework that works over various GraphDBs (Neo4j, OrientDB, various Sail, soon InfiniteGraph, and less soon DEX). The largest Neo4j graph that I personally have used Gremlin over was 10 million edges (?? vertices). An empirical proof that Blueprints (http://blueprints.tinkerpop.com) is nearly identical in speed to raw Neo4j is here (Blueprints is what Gremlin talks too): http://groups.google.com/group/gremlin-users/msg/c94dfef8352f68d3 I'm currently working on new blog post that shows how such performance characteristics for the GraphDBs currently supported by Blueprints. That should be out next week with a new round of releases for the TinkerPop stack. Thanks again for all your help.Regards No problem. Enjoy Gremlin!, Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Extracting paths from a subgraph
Hi Folks,I've spent the last few days reading documentation around several aspects of neo4j surrounding extracting a subgraph. However I still dont see any articles or code examples pertaining to the extraction of a set of paths from the complete list of paths based on some prearranged criteria. I read the documentation on the Traverser API as well as graph matching API but it seems to be that this is related to node traversal (as opposed to path extraction) based on pattern matching. What I would like to know/understand is whether there is an API to extract a set of paths based on some criteria surrounding ordering of a subset of nodes in those paths, example is shown below: Data Set: million nodes:Query: Give me all the paths where the firstNode is of property with nodetype A and the secondNode is of property with nodetype B and the third node is of property with ndoetype CResult: I am looking to get back a subset of all the paths 2 questions:1) Can I even do the above with the current neo4j API or do I need to resort to using the graph matching API and stick to traversing nodes with pattern matching a subset of those nodes?2) If I cant do this are there any ramifications in performance when performing a DFS or a BFS with the Traverser API with a million nodes where I have a query like the one above I would love some insight and or pointers to links or resources to help with this. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Extracting paths from a subgraph
Hi Marko,Thanks for the response, since I am using neo4j in embedded mode is there a Java API to execute the Gremlin statement below in the current neo4j release, my actual expression is a lot more complicated but feeds off the one I showed below. It would be a pain to have to do this from outside of the java code. Thanks in advance From: okramma...@gmail.com Date: Wed, 16 Feb 2011 14:27:54 -0700 To: user@lists.neo4j.org Subject: Re: [Neo4j] Extracting paths from a subgraph Hi, You might want to try Gremlin for that. See http://gremlin.tinkerpop.com ... Off the cuff, this is the Gremlin expression to accomplish your goal: g.V[[nodeType:'A']].outE.inV[[nodeType:'B']].outE.inV[[nodeType:'C']].paths Thats the depth-first version. You can do breadth-first as well. If you are interested, bring it up on the Gremlin-users mailing list and we can help you there. http://groups.google.com/group/gremlin-users Hope that helps, Marko. http://markorodriguez.com On Feb 16, 2011, at 2:09 PM, Saikat Kanjilal wrote: Hi Folks,I've spent the last few days reading documentation around several aspects of neo4j surrounding extracting a subgraph. However I still dont see any articles or code examples pertaining to the extraction of a set of paths from the complete list of paths based on some prearranged criteria. I read the documentation on the Traverser API as well as graph matching API but it seems to be that this is related to node traversal (as opposed to path extraction) based on pattern matching. What I would like to know/understand is whether there is an API to extract a set of paths based on some criteria surrounding ordering of a subset of nodes in those paths, example is shown below: Data Set: million nodes:Query: Give me all the paths where the firstNode is of property with nodetype A and the secondNode is of property with nodetype B and the third node is of property with ndoetype CResult: I am looking to get back a subset of all the paths 2 questions:1) Can I even do the above with the current neo4j API or do I need to resort to using the graph matching API and stick to traversing nodes with pattern matching a subset of those nodes?2) If I cant do this are there any ramifications in performance when performing a DFS or a BFS with the Traverser API with a million nodes where I have a query like the one above I would love some insight and or pointers to links or resources to help with this. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Graph pattern matching component
Hi Everyone,I am reading up on email threads and documentation pertaining to the pattern matching component and am considering using it to advance the next set of features for the code. I was wondering if someone has some examples that they can put on github or document on the wiki for this component. I am trying to perform some complex pattern matching operations and it would help a lot to see the different API's in use. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Graph pattern matching component
Hi Andreas,I've seen the code in the source repository, however I'm not sure (at least yet) that its going to be helpful for my use case. What I am looking to do is that I have a set of nodes that occur with certain ordering and contain relationships based on some transportation metadata (trainpath/walkingpath etc). I would like to do some pattern matching by selecting these nodes with their orderings (i.e. a potential subgraph) out of my data set which can be millions of nodes. Is there a way to do this without using loops or using the Traverser API. I was wondering if sparql and RDF could help with this. See example below: DataSet: Million nodes with a property called nodetype of trainstop,foodstop,pointofinterest,attractionQuery: Find all paths with a nodetype of trainstop occuring before a nodetype of pointofinterest occuring before a nodetype of attractionData Returned: A set of paths Some insight into this would be much appreciated.Best Regards From: andreas.kolleg...@neotechnology.com Date: Mon, 14 Feb 2011 15:28:57 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Graph pattern matching component Hey Saikat, The component site has some example code: http://components.neo4j.org/neo4j-graph-matching/ Is there something specific you have in mind? -Andreas On Feb 11, 2011, at 6:48 PM, Saikat Kanjilal wrote: Hi Everyone,I am reading up on email threads and documentation pertaining to the pattern matching component and am considering using it to advance the next set of features for the code. I was wondering if someone has some examples that they can put on github or document on the wiki for this component. I am trying to perform some complex pattern matching operations and it would help a lot to see the different API's in use. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Questions
Hi Folks, I was wondering about the following: 1) Are there plans to build a compact version of neo4j for native mobile apps 2) Is there an example of sharding and the lessons learned and issues that may come up when going through this. Didn't see anything on the wiki but maybe was not looking in the right place. Thanks in advance. Sent from my iPhone ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Calculating shortest paths in a large graph
Hi Tobias, I've actually made quite a bit of significant progress on this, I've gone back to the drawing board a bit, moved some code around that loads up how the graph is structured and am now getting the expected results without any performance issues. Also I am able to plug in train routes thanks to Paddy's relationship expander ideas. I am now going to start playing with the graph matching API to do some more advanced extractions. I was also wondering whether there is any detailed documentation on sharding neo4j as I plan to add lots and lots of data moving forward to scale this up and would like to learn more about this. Thanks again for all your help.Regards From: tobias.ivars...@neotechnology.com Date: Tue, 8 Feb 2011 10:59:13 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph I've done a thorough analysis of this issue now. It turns out that the OOME was in fact related to the duplication of relationships in the graph. The fact that the relationships are duplicated means that for each node we will have multiple relationships that reach it with the exact same cost. When doing this a few steps we will get an exponential growth in the candidate paths that the algorithm considers. Each path will thus be considered a number of times that is exponential to the length of the path. This leads to the OOME you observed for obvious reasons. Considering each path (with optimal cost) to each node separately was a conscious designs decision, since we want the algorithm to be able to find all paths. It is usually not a problem, since most real world graphs don't have the kind of duplication seen in your graph. Cheers, Tobias On Wed, Feb 2, 2011 at 2:36 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias,I've done some further analysis on the code that's creating the relationships and have printed out all the contents of each of the relationship objects being created. From the outset it doesnt seem like there are any duplicates, yet whenever i go to print out all the relationship objects for each node, I do indeed see duplicates. I will be troubleshooting this further tonight, let me know if you see anything glaring as to why this duplication is happening. Regards From: michael.hun...@neotechnology.com Date: Wed, 2 Feb 2011 01:31:45 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Yes as you can see in the visualization there are 4 equal relationship between the nodes, where only one would yield the same information. Michael Am 02.02.2011 um 01:19 schrieb Saikat Kanjilal: Hi Tobias,Thanks for the help, hugely appreciated, you can pick any two nodes on opposite ends of the graph to replicate this problem, for example RM1 and RM99 would do the trick. As for the duplicate relationships can you elaborate further, are you saying that there are relationship objects created between the same set of nodes? Regards From: tobias.ivars...@neotechnology.com Date: Wed, 2 Feb 2011 00:49:27 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Hi, I'm sorry that I haven't been able to look into this sooner. Here is what I've got so far: * Your graph isn't very big, so this is most likely a problem in the Dijkstra algorithm. * The heap dump shows that a lot of paths are created containing only a very few nodes (200k Node references to only 22 loaded nodes). * The algorithm is stuck in a loop, going around and around on only three nodes. * Your data contains duplicate relationships (quadruplicate to be specific). I'm attaching a visualization of your graph (hope it doesn't get filtered). Thank you for sending the heap dump! That was in fact VERY helpful! I'll continue with an analysis of the Dijkstra implementation. To help me reproduce this, which nodes were you using as starting points when this occurred? Thank you for your patience. Cheers, Tobias On Tue, Feb 1, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias,Any updates on this? I think my zip file containing the spring config stuff didnt come across correctly. Let me know if you still need this.Regards From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:44:28 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Much better, I'll have a look at this tonight. -tobias On Mon, Jan 31, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias,I apologize, I am creating the zips on the command line and they appear to be flaky, I am attaching the database zip file again, can you take a look and let me know
Re: [Neo4j] Finding All Available Paths
Peter/Mattias, Thanks for your help, a few items to further clarify: 1) When I use findAllPaths with the Dijkstra algorithm and lets say only one path exists between two nodes and I proceed to print out all the paths using an iterator the iterator prints the same path many number of times and then crashes (essentially runs out of heap space) 2) Before I dive into the javadocs I want to kind of step back and explain what I'm trying to accomplish, I have a graph of which I have computed the shortest path successfully between any two nodes based on a weighted cost which is in this case is the length of the path, however what i want is the shortest path and any paths that have nodes that fall on a train line, in my case I have defined a property for each node identifying whether its on a train route or a bus route or a regular walking route. I am wondering whether I should be using findAllPaths at all to do this, what I am thinking is maybe to use a nodeFilter and do pattern matching on the graph to extract all paths that have train route nodes in it. Given that I'd like some insight as to whether a nodeFilter is appropriate for this or whether I use findAllPaths and then search for paths containing nodes on a train route and extract the paths that way. I will actually upload my whole project (test cases and source code) to github once I get some direction on point number 2. Best Regards Date: Fri, 4 Feb 2011 09:39:00 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Finding All Available Paths Saikat, do you have some failing test case that should pass? You having these problems might mean that there is a bug somewhere in the Dijkstra, so if you feel that something is crashing or wrong, could you recreate the failure in a testcase and put it on GIThub GIST or send it to the list so we can take a look at it? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Fri, Feb 4, 2011 at 3:53 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Hi Folks,I'm slowly but surely climbing the learning path in the neo4j world. I'm using Dijkstra's algorithm for the shortest path calculation between two nodes which now seems to be working fine after some code rearranging, however I'd also like to get the list of available paths between two nodes regardless of the path length. I tried to use the findAllPaths function for the dijkstraFinder but I noticed that if there is only one available path between two nodes it returns this same path multiple times and then crashes (this only happens when there is only 1 path between 2 nodes). I was wondering whether I should be using some other finder like the finders that dont use weighted paths to get this information. If not some help would be much appreciated here, is findAllPaths supposed to return the same path multiple times. Thanks in advance ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Finding All Available Paths
Hi Paddy,I've downloaded your work with the bus transit project from github and am keenly looking through it, very interesting, I like your idea about the relationship expander, I'll experiment with that, however it seems so far from my tests that there may be a bug in findAllPaths for the edge case where there is only one path between two nodes for the Dijkstra path finder. Peter I am assuming that you guys have unit tested this method (as well as load tested it), is that correct? I looked in your repository and didn't see any load tests that targeted this method specifically. Also I am trying to understand the tradeoffs between taking the nodefilter approach versus using the relationship expander that Paddy outlined, it seems at first glance that the relationship expander is an easier win. Regards Date: Fri, 4 Feb 2011 22:17:35 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Finding All Available Paths Maybe there is a lack of examples? Paddy, if you can want, fork https://github.com/neo4j/examples and add some example code in there, I can merge it back, or just make a GIST that I can pull in to document this better for Saikat? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Fri, Feb 4, 2011 at 10:13 PM, Paddy paddyf...@gmail.com wrote: Hi Saikat, I have come across this problem too. If its possible to define the relationships between the nodes as a Train, Bus or Walking relationship. You could use a RelationshipExpander to define which relationship types you wish to Traverse when using the findAllPaths. Regards, Paddy On Fri, Feb 4, 2011 at 8:17 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Peter/Mattias, Thanks for your help, a few items to further clarify: 1) When I use findAllPaths with the Dijkstra algorithm and lets say only one path exists between two nodes and I proceed to print out all the paths using an iterator the iterator prints the same path many number of times and then crashes (essentially runs out of heap space) 2) Before I dive into the javadocs I want to kind of step back and explain what I'm trying to accomplish, I have a graph of which I have computed the shortest path successfully between any two nodes based on a weighted cost which is in this case is the length of the path, however what i want is the shortest path and any paths that have nodes that fall on a train line, in my case I have defined a property for each node identifying whether its on a train route or a bus route or a regular walking route. I am wondering whether I should be using findAllPaths at all to do this, what I am thinking is maybe to use a nodeFilter and do pattern matching on the graph to extract all paths that have train route nodes in it. Given that I'd like some insight as to whether a nodeFilter is appropriate for this or whether I use findAllPaths and then search for paths containing nodes on a train route and extract the paths that way. I will actually upload my whole project (test cases and source code) to github once I get some direction on point number 2. Best Regards Date: Fri, 4 Feb 2011 09:39:00 +0100 From: peter.neuba...@neotechnology.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Finding All Available Paths Saikat, do you have some failing test case that should pass? You having these problems might mean that there is a bug somewhere in the Dijkstra, so if you feel that something is crashing or wrong, could you recreate the failure in a testcase and put it on GIThub GIST or send it to the list so we can take a look at it? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Fri, Feb 4, 2011 at 3:53 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Hi Folks,I'm slowly but surely climbing the learning path in the neo4j world. I'm using Dijkstra's algorithm for the shortest path calculation between two nodes which now seems to be working fine after some code rearranging, however I'd also like to get the list of available paths between two nodes regardless of the path length. I tried to use the findAllPaths function for the dijkstraFinder but I noticed that if there is only one available path between two nodes it returns
[Neo4j] Finding All Available Paths
Hi Folks,I'm slowly but surely climbing the learning path in the neo4j world. I'm using Dijkstra's algorithm for the shortest path calculation between two nodes which now seems to be working fine after some code rearranging, however I'd also like to get the list of available paths between two nodes regardless of the path length. I tried to use the findAllPaths function for the dijkstraFinder but I noticed that if there is only one available path between two nodes it returns this same path multiple times and then crashes (this only happens when there is only 1 path between 2 nodes). I was wondering whether I should be using some other finder like the finders that dont use weighted paths to get this information. If not some help would be much appreciated here, is findAllPaths supposed to return the same path multiple times. Thanks in advance ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Calculating shortest paths in a large graph
Tobias,Any updates on this? I think my zip file containing the spring config stuff didnt come across correctly. Let me know if you still need this.Regards From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:44:28 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Much better, I'll have a look at this tonight. -tobias On Mon, Jan 31, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: Tobias,I apologize, I am creating the zips on the command line and they appear to be flaky, I am attaching the database zip file again, can you take a look and let me know if this is ok. I will see if I can put the heap file on dropbox and send it across.Thanks in advance From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:26:33 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Since you have not sent a heap dump file (what you have sent is a stack trace, and they aren't very useful on OOME), what I would need to do is to recreate your database from your xml-file (the database zip you sent was empty), and rerun your code on that to reproduce the problem. I have not had time to do that yet. If you could send the actual *.hprof-file that is written to the working directory of the java process when the OutOfMemoryError occurs (if you've started the jvm with -XX:+HeapDumpOnOutOfMemoryError) then I could analyze this quicker. If the file is too large to send as an e-mail attachment perhaps you could upload it to dropbox or similar. Otherwise I'll let you know when I've had time to recreate your database and analyze the problem. -tobias On Mon, Jan 31, 2011 at 4:13 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias/Michael et al,I was wondering if you guys had a chance to do some more analysis on this heap space issue, I have sent you the zipped up contents of part of the heap dump file problem report, the graph directory and parts of the code. Additionally I am also sending the spring configuration files and the web services code zipped up in this email. Yesterday I increased the heap size to be really large and the process ran for about 10 minutes to calculate the shortest path without arriving at the answer. Let me know if I am missing something obvious.Regards From: michael.hun...@neotechnology.com Date: Sun, 30 Jan 2011 17:19:46 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph You can also zip the graph database directory and send it to me or tobias. Do you run the algorithm just after the insertion of the data or in a separate run? Thanks Michael Am 30.01.2011 um 16:44 schrieb Saikat Kanjilal: Looks like the heap dump file didn't come across in my post, so here's the heap dump: java.lang.OutOfMemoryError: Java heap space at org.neo4j.kernel.impl.util.ArrayMap.put(ArrayMap.java:75) at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.relGetProperties(ReadTransaction.java:157) at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.relLoadProperties(NioNeoDbPersistenceSource.java:255) at org.neo4j.kernel.impl.persistence.PersistenceManager.loadRelProperties(PersistenceManager.java:113) at org.neo4j.kernel.impl.core.NodeManager.loadProperties(NodeManager.java:638) at org.neo4j.kernel.impl.core.RelationshipImpl.loadProperties(RelationshipImpl.java:88) at org.neo4j.kernel.impl.core.Primitive.ensureFullProperties(Primitive.java:574) at org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:141) at org.neo4j.kernel.impl.core.RelationshipProxy.getProperty(RelationshipProxy.java:91) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:39) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:27) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:101) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:89) at org.neo4j.graphalgo.impl.util.BestFirstSelectorFactory$BestFirstSelector.next(BestFirstSelectorFactory.java:67) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:128) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:95) at org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:56
Re: [Neo4j] Calculating shortest paths in a large graph
Hi Tobias,Thanks for the help, hugely appreciated, you can pick any two nodes on opposite ends of the graph to replicate this problem, for example RM1 and RM99 would do the trick. As for the duplicate relationships can you elaborate further, are you saying that there are relationship objects created between the same set of nodes? Regards From: tobias.ivars...@neotechnology.com Date: Wed, 2 Feb 2011 00:49:27 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Hi, I'm sorry that I haven't been able to look into this sooner. Here is what I've got so far: * Your graph isn't very big, so this is most likely a problem in the Dijkstra algorithm. * The heap dump shows that a lot of paths are created containing only a very few nodes (200k Node references to only 22 loaded nodes). * The algorithm is stuck in a loop, going around and around on only three nodes. * Your data contains duplicate relationships (quadruplicate to be specific). I'm attaching a visualization of your graph (hope it doesn't get filtered). Thank you for sending the heap dump! That was in fact VERY helpful! I'll continue with an analysis of the Dijkstra implementation. To help me reproduce this, which nodes were you using as starting points when this occurred? Thank you for your patience. Cheers, Tobias On Tue, Feb 1, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias,Any updates on this? I think my zip file containing the spring config stuff didnt come across correctly. Let me know if you still need this.Regards From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:44:28 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Much better, I'll have a look at this tonight. -tobias On Mon, Jan 31, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias,I apologize, I am creating the zips on the command line and they appear to be flaky, I am attaching the database zip file again, can you take a look and let me know if this is ok. I will see if I can put the heap file on dropbox and send it across.Thanks in advance From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:26:33 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Since you have not sent a heap dump file (what you have sent is a stack trace, and they aren't very useful on OOME), what I would need to do is to recreate your database from your xml-file (the database zip you sent was empty), and rerun your code on that to reproduce the problem. I have not had time to do that yet. If you could send the actual *.hprof-file that is written to the working directory of the java process when the OutOfMemoryError occurs (if you've started the jvm with -XX:+HeapDumpOnOutOfMemoryError) then I could analyze this quicker. If the file is too large to send as an e-mail attachment perhaps you could upload it to dropbox or similar. Otherwise I'll let you know when I've had time to recreate your database and analyze the problem. -tobias On Mon, Jan 31, 2011 at 4:13 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias/Michael et al,I was wondering if you guys had a chance to do some more analysis on this heap space issue, I have sent you the zipped up contents of part of the heap dump file problem report, the graph directory and parts of the code. Additionally I am also sending the spring configuration files and the web services code zipped up in this email. Yesterday I increased the heap size to be really large and the process ran for about 10 minutes to calculate the shortest path without arriving at the answer. Let me know if I am missing something obvious.Regards From: michael.hun...@neotechnology.com Date: Sun, 30 Jan 2011 17:19:46 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph You can also zip the graph database directory and send it to me or tobias. Do you run the algorithm just after the insertion of the data or in a separate run? Thanks Michael Am 30.01.2011 um 16:44 schrieb Saikat Kanjilal: Looks like the heap dump file didn't come across in my post, so here's the heap dump: java.lang.OutOfMemoryError: Java heap space at org.neo4j.kernel.impl.util.ArrayMap.put(ArrayMap.java:75) at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.relGetProperties(ReadTransaction.java:157) at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.relLoadProperties
Re: [Neo4j] Calculating shortest paths in a large graph
Thanks and btw here's a public link to my dropbox heap dump file. http://dl.dropbox.com/u/20014383/java_pid590.hprof Hope this helps.Regards From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:44:28 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Much better, I'll have a look at this tonight. -tobias On Mon, Jan 31, 2011 at 4:35 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: Tobias,I apologize, I am creating the zips on the command line and they appear to be flaky, I am attaching the database zip file again, can you take a look and let me know if this is ok. I will see if I can put the heap file on dropbox and send it across.Thanks in advance From: tobias.ivars...@neotechnology.com Date: Mon, 31 Jan 2011 16:26:33 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Since you have not sent a heap dump file (what you have sent is a stack trace, and they aren't very useful on OOME), what I would need to do is to recreate your database from your xml-file (the database zip you sent was empty), and rerun your code on that to reproduce the problem. I have not had time to do that yet. If you could send the actual *.hprof-file that is written to the working directory of the java process when the OutOfMemoryError occurs (if you've started the jvm with -XX:+HeapDumpOnOutOfMemoryError) then I could analyze this quicker. If the file is too large to send as an e-mail attachment perhaps you could upload it to dropbox or similar. Otherwise I'll let you know when I've had time to recreate your database and analyze the problem. -tobias On Mon, Jan 31, 2011 at 4:13 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Tobias/Michael et al,I was wondering if you guys had a chance to do some more analysis on this heap space issue, I have sent you the zipped up contents of part of the heap dump file problem report, the graph directory and parts of the code. Additionally I am also sending the spring configuration files and the web services code zipped up in this email. Yesterday I increased the heap size to be really large and the process ran for about 10 minutes to calculate the shortest path without arriving at the answer. Let me know if I am missing something obvious.Regards From: michael.hun...@neotechnology.com Date: Sun, 30 Jan 2011 17:19:46 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph You can also zip the graph database directory and send it to me or tobias. Do you run the algorithm just after the insertion of the data or in a separate run? Thanks Michael Am 30.01.2011 um 16:44 schrieb Saikat Kanjilal: Looks like the heap dump file didn't come across in my post, so here's the heap dump: java.lang.OutOfMemoryError: Java heap space at org.neo4j.kernel.impl.util.ArrayMap.put(ArrayMap.java:75) at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.relGetProperties(ReadTransaction.java:157) at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.relLoadProperties(NioNeoDbPersistenceSource.java:255) at org.neo4j.kernel.impl.persistence.PersistenceManager.loadRelProperties(PersistenceManager.java:113) at org.neo4j.kernel.impl.core.NodeManager.loadProperties(NodeManager.java:638) at org.neo4j.kernel.impl.core.RelationshipImpl.loadProperties(RelationshipImpl.java:88) at org.neo4j.kernel.impl.core.Primitive.ensureFullProperties(Primitive.java:574) at org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:141) at org.neo4j.kernel.impl.core.RelationshipProxy.getProperty(RelationshipProxy.java:91) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:39) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:27) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:101) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:89) at org.neo4j.graphalgo.impl.util.BestFirstSelectorFactory$BestFirstSelector.next(BestFirstSelectorFactory.java:67) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:128) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:95) at org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:56
Re: [Neo4j] Calculating shortest paths in a large graph
Hello Tobias,Thanks very much for your help, to be clear I want to find the path that has the least cost, in this case length is the determinator for doing this. The total number of nodes are roughly around a 100 but not much more. I am attaching my heap dump,my code for parsing the google earth data as well as the actual xml file I use to parse and load the data, managing the Graph and the relationships. My project does the following:1) Create a physical graph based on google earth with a set of nodes and paths2) Load the contents of the google earth file into neo4j using regular expressions to parse the xml3) Run the dijkstra algorithm on this graph Your help is much appreciated, let me know if there's anything else I can provide.Regards From: tobias.ivars...@neotechnology.com Date: Sun, 30 Jan 2011 16:22:42 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph Hi Saikat, This was a strange one. Are you sure you only have 100 nodes? That is really tiny, and your title said large graph. How many relationships? I really cant see a way this could run into heap space issues, what does your heap configuration look like? 1) Batch insertion will not help you, since you aren't inserting, you are reading from the graph. 2) Granted, Dijkstra isn't the best algorithm for finding the cheapest path (that's what it finds, not shortest path), but with a small graph it should still terminate quickly. 3) Unless you are running this on a machine with only 8MB of RAM (or something equally silly), hardware should not be your problem. If the specifications you've specified are in fact correct, and your graph only contains 100 nodes, then could you please provide me with a heap dump so that I can analyze where heap is being wasted, because OOM on such a small graph would be a bug. To get a heap dump when the program throws OOME, provide the following startup parameter to the JVM: -XX:+HeapDumpOnOutOfMemoryError You can send the resulting .hprof-file to me directly, the mailing list is a bit restrictive about attachments. If the graph is larger, and the 100 nodes part was a typo, then switching algorithm might be a good solution, Dijkstra is not optimal for large graphs. I'd love to help, but I need some more details, because this seems strange to me. Cheers, Tobias On Sun, Jan 30, 2011 at 3:19 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: Hi Folks,I'm working on a little route planning spring based neo4j service where I initially load up all my data into neo4j and have about a 100 nodes, however it seems that I am running into heap space issues when running the Dijkstra Algorithm for any traversals that are relatively far apart (i.e. opposite ends of the graph). I have tried to increase the heap space but that didn't seem to make a difference. Note that I am not currently using batch insertion and am using neo4j's transaction manager with spring with the @Transactional annotation to perform all transactions. I was wondering what the areas are that I can look at to get past this. The things that are coming to mind include: 1) Adding batch insertion2) Trying the other algorithms like AStar3) Running this on more powerful hardware Number 3 seems unlikely based on all I've read on neo4j and its performance characteristics. I can attach my code if needed but being a newbie to neo4j I wanted to understand what I'm missing conceptually that could be causing these issues. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user package com.hbc.locationservices.graph; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.neo4j.graphalgo.GraphAlgoFactory; import org.neo4j.graphalgo.PathFinder; import org.neo4j.graphalgo.WeightedPath; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.DynamicRelationshipType; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Path; import org.neo4j.graphdb.PropertyContainer; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.neo4j.index.lucene.LuceneIndexService; import org.neo4j.kernel.EmbeddedGraphDatabase; import org.neo4j.kernel.Traversal; import org.springframework.transaction.annotation.Transactional
Re: [Neo4j] Calculating shortest paths in a large graph
for finding the cheapest path (that's what it finds, not shortest path), but with a small graph it should still terminate quickly. 3) Unless you are running this on a machine with only 8MB of RAM (or something equally silly), hardware should not be your problem. If the specifications you've specified are in fact correct, and your graph only contains 100 nodes, then could you please provide me with a heap dump so that I can analyze where heap is being wasted, because OOM on such a small graph would be a bug. To get a heap dump when the program throws OOME, provide the following startup parameter to the JVM: -XX:+HeapDumpOnOutOfMemoryError You can send the resulting .hprof-file to me directly, the mailing list is a bit restrictive about attachments. If the graph is larger, and the 100 nodes part was a typo, then switching algorithm might be a good solution, Dijkstra is not optimal for large graphs. I'd love to help, but I need some more details, because this seems strange to me. Cheers, Tobias On Sun, Jan 30, 2011 at 3:19 PM, Saikat Kanjilal sxk1...@hotmail.comwrote: Hi Folks,I'm working on a little route planning spring based neo4j service where I initially load up all my data into neo4j and have about a 100 nodes, however it seems that I am running into heap space issues when running the Dijkstra Algorithm for any traversals that are relatively far apart (i.e. opposite ends of the graph). I have tried to increase the heap space but that didn't seem to make a difference. Note that I am not currently using batch insertion and am using neo4j's transaction manager with spring with the @Transactional annotation to perform all transactions. I was wondering what the areas are that I can look at to get past this. The things that are coming to mind include: 1) Adding batch insertion2) Trying the other algorithms like AStar3) Running this on more powerful hardware Number 3 seems unlikely based on all I've read on neo4j and its performance characteristics. I can attach my code if needed but being a newbie to neo4j I wanted to understand what I'm missing conceptually that could be causing these issues. Best Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Tobias Ivarsson tobias.ivars...@neotechnology.com Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Calculating shortest paths in a large graph
I am attaching a tar file containing the db directory as well as the xml file used to load the initial data. Also since this runs as a webservice the data is loading first when the app starts up and then the algorithm runs each time a webservice call is made to calculate the shortest path. Also I am using 64 bit jdk 1.6 on the mac with heap setting of -Xmx4096. I appreciate your help in troubleshooting this further.Regards From: michael.hun...@neotechnology.com Date: Sun, 30 Jan 2011 17:19:46 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Calculating shortest paths in a large graph You can also zip the graph database directory and send it to me or tobias. Do you run the algorithm just after the insertion of the data or in a separate run? Thanks Michael Am 30.01.2011 um 16:44 schrieb Saikat Kanjilal: Looks like the heap dump file didn't come across in my post, so here's the heap dump: java.lang.OutOfMemoryError: Java heap space at org.neo4j.kernel.impl.util.ArrayMap.put(ArrayMap.java:75) at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.relGetProperties(ReadTransaction.java:157) at org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.relLoadProperties(NioNeoDbPersistenceSource.java:255) at org.neo4j.kernel.impl.persistence.PersistenceManager.loadRelProperties(PersistenceManager.java:113) at org.neo4j.kernel.impl.core.NodeManager.loadProperties(NodeManager.java:638) at org.neo4j.kernel.impl.core.RelationshipImpl.loadProperties(RelationshipImpl.java:88) at org.neo4j.kernel.impl.core.Primitive.ensureFullProperties(Primitive.java:574) at org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:141) at org.neo4j.kernel.impl.core.RelationshipProxy.getProperty(RelationshipProxy.java:91) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:39) at org.neo4j.graphalgo.impl.util.DoubleEvaluator.getCost(DoubleEvaluator.java:27) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:101) at org.neo4j.graphalgo.impl.path.Dijkstra$SelectorFactory.calculateValue(Dijkstra.java:89) at org.neo4j.graphalgo.impl.util.BestFirstSelectorFactory$BestFirstSelector.next(BestFirstSelectorFactory.java:67) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:128) at org.neo4j.kernel.impl.traversal.TraverserImpl$TraverserIterator.fetchNextOrNull(TraverserImpl.java:95) at org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:56) at org.neo4j.graphalgo.impl.util.StopAfterWeightIterator.fetchNextOrNull(StopAfterWeightIterator.java:46) at org.neo4j.graphalgo.impl.util.StopAfterWeightIterator.fetchNextOrNull(StopAfterWeightIterator.java:30) at org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:56) at org.neo4j.graphalgo.impl.path.Dijkstra.findSinglePath(Dijkstra.java:86) at org.neo4j.graphalgo.impl.path.Dijkstra.findSinglePath(Dijkstra.java:46) at com.hbc.locationservices.graph.GraphManager.findCheapestPathWithDijkstra(GraphManager.java:339) at com.hbc.locationservices.graph.GraphManager.getNodesInCheapestPath(GraphManager.java:413) at com.hbc.locationservices.graph.GraphManager$$FastClassByCGLIB$$167175c8.invoke(generated) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) at com.hbc.locationservices.graph.GraphManager$$EnhancerByCGLIB$$64354524.getNodesInCheapestPath(generated) Regards From: sxk1...@hotmail.com To: user@lists.neo4j.org Date: Sun, 30 Jan 2011 07:41:00 -0800 Subject: Re: [Neo4j] Calculating shortest paths in a large graph Hello Tobias,Thanks very much for your help, to be clear I want to find the path that has the least cost, in this case length is the determinator for doing this. The total number of nodes are roughly around a 100 but not much more. I am attaching my heap dump,my code for parsing the google earth data as well as the actual xml file I use to parse and load the data, managing the Graph and the relationships. My project does the following:1) Create a physical