On Tue, Jan 12, 2010 at 6:41 AM, Ryan Levering <[email protected]> wrote: > > 1. User.getName() > > I want a property off the node. I assume I encapsulate the single > internal getProperty call in a transaction? My accessor code has just > quadrupled in size, even if I am ok with this silly, time-consuming > transaction. Leaving it out means every piece of code in my system > has to understand to start a neo4j transaction just to get the user's > name. > > 2: for (User user : getUsers()) > > I want to do something to all the users in the system. There are A > LOT of them and they are all linked to a UserFactory or whatever. I > can't create an internal list, because they won't all fit in memory. > So I wrap the Iterable<Relationship/Node> in an Iterable that wraps > the nodes in POJOs. Only there is no way to do this without enclosing > that loop in a transaction.
Ha ! Thank you for explaining my problem and POV in a much more readable english than me :) > Do people just create giant transactions that wrap their entire > programs since they don't work with large graphs/models? Or is your > code entirely littered with transaction = service.beginTx(); > transaction.success(); transaction.finish()? When i can, i have short transaction everywhere. When i have a very big traverser to do ... well... i have a top-level transaction. Another workaround i use is to fill an array with the traverser, and i work on the array. That why i switched to 8GB on my desktop PC -_-' > I've looked around on the wiki and site and I can't find good answers > to these questions. The IMDB example transactionalizes things at a > very high level. In a sense, wrapping the entire program (web > request) in a single transaction. I guess that's fine if you have > small operations and use Spring injection, but what if you don't? You do it the Oracle(tm) way : buy more ram :) -- Laurent "ker2x" Laborde Sysadmin & DBA at http://www.over-blog.com/ _______________________________________________ Neo mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

