Re: [Neo4j] Any webservice based spring data graph example

2011-08-16 Thread Saikat Kanjilal
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

2011-06-29 Thread Saikat Kanjilal
) 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

2011-06-28 Thread Saikat Kanjilal

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

2011-06-09 Thread Saikat Kanjilal

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

2011-06-08 Thread Saikat Kanjilal

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

2011-06-05 Thread Saikat Kanjilal

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

2011-06-05 Thread Saikat Kanjilal

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

2011-06-05 Thread Saikat Kanjilal

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

2011-06-04 Thread Saikat Kanjilal
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

2011-05-14 Thread Saikat Kanjilal

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

2011-04-27 Thread Saikat Kanjilal
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

2011-04-19 Thread Saikat Kanjilal

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

2011-04-16 Thread Saikat Kanjilal
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

2011-04-16 Thread Saikat Kanjilal

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

2011-04-07 Thread Saikat Kanjilal

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

2011-03-24 Thread Saikat Kanjilal
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

2011-03-24 Thread Saikat Kanjilal

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

2011-03-22 Thread Saikat Kanjilal

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

2011-03-18 Thread Saikat Kanjilal

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

2011-03-18 Thread Saikat Kanjilal

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

2011-03-16 Thread Saikat Kanjilal
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

2011-03-16 Thread Saikat Kanjilal
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

2011-03-15 Thread Saikat Kanjilal

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

2011-03-15 Thread Saikat Kanjilal

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

2011-02-17 Thread Saikat Kanjilal

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

2011-02-17 Thread Saikat Kanjilal

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

2011-02-16 Thread Saikat Kanjilal

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

2011-02-16 Thread Saikat Kanjilal

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

2011-02-14 Thread Saikat Kanjilal

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

2011-02-14 Thread Saikat Kanjilal

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

2011-02-09 Thread Saikat Kanjilal
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

2011-02-08 Thread Saikat Kanjilal

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

2011-02-04 Thread Saikat Kanjilal

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

2011-02-04 Thread Saikat Kanjilal

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

2011-02-03 Thread Saikat Kanjilal

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

2011-02-01 Thread Saikat Kanjilal

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

2011-02-01 Thread 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 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

2011-01-31 Thread Saikat Kanjilal

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

2011-01-30 Thread Saikat Kanjilal

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

2011-01-30 Thread Saikat Kanjilal
 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

2011-01-30 Thread Saikat Kanjilal

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