Re: [Neo4j] Indexed relationships

2011-07-07 Thread Peter Neubauer
Andrew, I think in the long run we are moving away from the BatchInserter, and instead going to find better ways to avoid disk IO, e.g. ordered writes per transaction, so that normal mode can be sped up to match the BatchInserter, that hopefully will make it into 1.5, so I would not worry about Bat

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Peter Neubauer
Niels, that sounds fantastic, great work everyone so far! 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               - Yo

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Andrew White
I don't know if this is the right place to ask this; but does it support a batch insert mode? When I am bulk loading data I don't have Node objects to pass around, only node ids. Thanks, Andrew On 07/07/2011 06:19 PM, Niels Hoogeveen wrote: > I created a wiki page for indexed relationships in t

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread noppanit
That's such a fast reply, I'm sorry I was going to delete my previous post. I didn't read that well. I get it now. Thanks :) -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Add-relationships-dynamically-tp3149437p3150037.html Sent from the Neo4J User List mailing list

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Niels Hoogeveen
I did a write up on indexed relationships in the Git repo: https://github.com/peterneubauer/graph-collections/wiki/Indexed-relationships A performance comparison would indeed be great. Anecdotally, I have witnessed the difference when trying to load all entries of Dbpedia. With 2.5 G heap space

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Michael Hunger
Thanks Michael Am 08.07.2011 um 01:19 schrieb Niels Hoogeveen: > > I created a wiki page for indexed relationships in the Git repo, see: > https://github.com/peterneubauer/graph-collections/wiki/Indexed-relationships > >> From: michael.hun...@neotechnology.com >> Date: Thu, 7 Jul 2011 22:53:0

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread Michael Hunger
RelationshipType is just an interface with the "name()" method. RelationshipType knows = DynamicRelationshipType.withName("knows"); node.createRelationshipTo(node2,knows); Michael P.S. You can also imagine other programmatic ways of implementing that interface. Am 08.07.2011 um 01:13 schrieb

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
I created a wiki page for indexed relationships in the Git repo, see: https://github.com/peterneubauer/graph-collections/wiki/Indexed-relationships > From: michael.hun...@neotechnology.com > Date: Thu, 7 Jul 2011 22:53:05 +0200 > To: user@lists.neo4j.org > Subject: Re: [Neo4j] Indexed relationsh

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread noppanit
But I can have an enum class and implements RelationshipType but doesn't that mean that I have to define each Relationship before hand. For example, If I have a text, "I know john", and "know" relationship doesn't exist in MyRelationshipType (which implements RelationshipType already). How could I

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread noppanit
Thanks a lot. :) -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Add-relationships-dynamically-tp3149437p3149791.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j

Re: [Neo4j] REST batch support - transaction support for java rest client?

2011-07-07 Thread Michael Hunger
Right those are some of the issues. So one way would be to specify a tx timeout upfront which automatically rolls back the tx (you can just add a kind of timer/TTL to the tx-session object) and clears it as well. Keeping state on the server is always a problem but I don't see a different solut

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Michael Hunger
Niels could you perhaps write up a blog post detailing the usage (also for your own scenario and how that solution would compare to the naive supernodes with just millions of relationships. Also I'd like to see a performance comparision of both approaches. Thanks so much for your work Michael

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Michael Hunger
Could you put these code examples into the Readme for the project or on a wiki page? Am 07.07.2011 um 22:11 schrieb Niels Hoogeveen: > > IndexedRelationship and IndexedRelationshipExpander are now in Git. See: > https://github.com/peterneubauer/graph-collections/tree/master/src/main/java/org/n

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Niels Hoogeveen
I am glad to see a solution will be provided at the core level. Today, I pushed IndexedRelationships and IndexedRelationshipExpander to Git, see: https://github.com/peterneubauer/graph-collections/tree/master/src/main/java/org/neo4j/collections/indexedrelationship This provides a solution to th

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread kriti sharma
Also take a look at DynamicRelationshipTypes if you want to instantiate relationship types at runtime. On Thu, Jul 7, 2011 at 9:16 PM, Rick Bullotta wrote: > Take a look at the RelationshipType interface. If you implement that > (which is really simple - just a name() property), you can have you

Re: [Neo4j] Add relationships dynamically

2011-07-07 Thread Rick Bullotta
Take a look at the RelationshipType interface. If you implement that (which is really simple - just a name() property), you can have your own class that can have relationships with any names you want. They do need to be unique, however. From: user-boun.

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
IndexedRelationship and IndexedRelationshipExpander are now in Git. See: https://github.com/peterneubauer/graph-collections/tree/master/src/main/java/org/neo4j/collections/indexedrelationship An example: class IdComparator implements java.util.Comparator{ public int compare(Node n1, Node n2){

[Neo4j] Add relationships dynamically

2011-07-07 Thread noppanit
Is there anyway I can add relationships on-the-fly or programmatically? Because sometime I might not know the relationships and I want to add that to the database. Cheers, -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Add-relationships-dynamically-tp3149437p3149

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Mattias Persson
2011/7/7 Agelos Pikoulas > I think its the same problem pattern that been in discussion lately with > dense nodes or supernodes (check > http://lists.neo4j.org/pipermail/user/2011-July/009832.html). > > Michael Hunger has provided a quick solution to visiting the *few* > RelationshipTypes on a no

Re: [Neo4j] typo in Expander interface

2011-07-07 Thread Mattias Persson
I've done some traversal additions, and this also in a branch... pushing soon! 2011/7/7 Adriano Henrique de Almeida > I've sent a Pull Request long time ago fixing this, but it was to the old > neo4j repository. Guess it wasn't merged. > > https://github.com/neo4j/graphdb/pull/2 > > Can send it

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
It is possible to grab an id from the id-generator, but then every call to GraphDatabaseService#getRelationshipById() will throw a NotFoundException. > From: michael.hun...@neotechnology.com > Date: Thu, 7 Jul 2011 19:09:41 +0200 > To: user@lists.neo4j.org > Subject: Re: [Neo4j] Indexed relation

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Michael Hunger
Why can't they should.n't it be possible to grab an id from the id-generator on creation and store it as property? Sent from my iBrick4 Am 07.07.2011 um 16:55 schrieb Niels Hoogeveen : > > Hi Michael,I realize that the implementation of IndexedRelationship can in > fact support returning rel

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread Aseem Kishore
I'll strongly +1 that having a concept of "unique" index values should be built into Neo4j. It's just too common of a requirement. Aseem On Thu, Jul 7, 2011 at 11:48 AM, etc3 wrote: > I'm new to this framework, is there an example that demonstrates removing a > non-existent property and how it

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread etc3
I'm new to this framework, is there an example that demonstrates removing a non-existent property and how it would be used in this context? Thanks -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Chris Gioran Sent: Thursday, July 07,

Re: [Neo4j] typo in Expander interface

2011-07-07 Thread Peter Neubauer
Yes, please do, and send the CLA mail first, see http://wiki.neo4j.org/content/About_Contributor_License_Agreement Cheers, /peter neubauer GTalk:      neubauer.peter Skype       peter.neubauer Phone       +46 704 106975 LinkedIn   http://www.linkedin.com/in/neubauer Twitter      http://twitter.c

Re: [Neo4j] typo in Expander interface

2011-07-07 Thread Adriano Henrique de Almeida
I've sent a Pull Request long time ago fixing this, but it was to the old neo4j repository. Guess it wasn't merged. https://github.com/neo4j/graphdb/pull/2 Can send it again, if the guys want. 2011/7/7 Niels Hoogeveen > > The interface of org.neo4j.graphdb.Expander contains a typo. > The metho

[Neo4j] typo in Expander interface

2011-07-07 Thread Niels Hoogeveen
The interface of org.neo4j.graphdb.Expander contains a typo. The method addRelationsipFilter(Predicate) should be called addRelationshipFilter(Predicate). Niels ___ Neo4j mailing list User@lists.neo4j.org https://lis

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread Marko Rodriguez
You can use Transactions. Marko. > How do I ensure another request is not performing the same operation on > another node in the cluster? > > > -Original Message- > From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On > Behalf Of Marko Rodriguez > Sent: Thursday,

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread Niels Hoogeveen
Marko's solution works, because you roll back the transaction once you find a duplicate entry. Another solution to this problem is to use the SortedTree index in graph-collections https://github.com/peterneubauer/graph-collections, which has a setting that makes an index unique. This component

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread Chris Gioran
Hi, the ability to acquire locks cluster-wide exists, albeit in an ad hoc fashion. Grabbing a write lock on the node you want to ensure is uniquely indexed will ensure that the operations are serialized across all cluster members. The most simple way to get that lock currently is the (somewhat hac

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
Hi Michael,I realize that the implementation of IndexedRelationship can in fact support returning relationships, and I have a preliminary version running locally now.The returned relationships can support all methods of the Relationship interface, returning the node pointing to the treeRoot as

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread etc3
How do I ensure another request is not performing the same operation on another node in the cluster? -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Marko Rodriguez Sent: Thursday, July 07, 2011 10:35 AM To: Neo4j user discussions S

Re: [Neo4j] Unique Constaint on Index

2011-07-07 Thread Marko Rodriguez
Hi, > We are testing Neo4J and need to support unique emails across all users. Is > this possible with the current API? You can add such a constraint when updating the indices: if(index.get('email', address).hasNext()) { throw new RuntimeException("There are two nodes that share the same emai

[Neo4j] Unique Constaint on Index

2011-07-07 Thread etc3
We are testing Neo4J and need to support unique emails across all users. Is this possible with the current API? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Agelos Pikoulas
I think its the same problem pattern that been in discussion lately with dense nodes or supernodes (check http://lists.neo4j.org/pipermail/user/2011-July/009832.html). Michael Hunger has provided a quick solution to visiting the *few* RelationshipTypes on a node that has *millions* of others, util

Re: [Neo4j] REST batch support - transaction support for java rest client?

2011-07-07 Thread Patrik Sundberg
good idea. i'll ponder it for a bit. but yes, we clearly need to keep state around, so for REST it'd be carried around in session. but on server side I guess you have issues with never ending transactions, how to cull them, etc. since it's a stateless req/response comm channel. on a permanent chan

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
Hi Michael, I haven't yet worked on an example. There are tests for the SortedTree implementation, but didn't add those to the IndexedRelationship class, which is simply a wrapper around SortedTree. Having a test would have caught the error that no relationship to the treeNode was created

Re: [Neo4j] Performance issue on nodes with lots of relationships

2011-07-07 Thread Andrew White
I use the shell as-is, but the messages.log is reporting... Physical mem: 3962MB, Heap size: 881MB My point is that if you ignore caching altogether, why did one run take 17x longer with only 2.4x more data? Considering this is a rather iterative algorithm, I don't see why you would even r

Re: [Neo4j] REST batch support - transaction support for java rest client?

2011-07-07 Thread Michael Hunger
But then it would be possible to write a RequestFilter for the Neo4j-Server that does start and commit/rollbacks transactions. I.e. you create a tx object and put it in the session-context if there is none and return a tx-token that the filter uses (e.g. as header-field). then later you can pull

Re: [Neo4j] REST batch support - transaction support for java rest client?

2011-07-07 Thread Patrik Sundberg
Following up on the topic of transactions for client API. What is the current plan for some sort of client side API supporting transactions? I'm playing around with some ideas here and the lack of transaction support in the client API is problematic. I know there's BATCH support in the REST API w

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Michael Hunger
Good work, do you have an example ready (and/or some tests that show how it works/is used) ? In creation, manual traversal and automatic traversal (i.e. is there a RelationshipExpander that uses it). And in the constructor if there is no relationship to the treeNode, you create a new one, but

Re: [Neo4j] Indexed relationships

2011-07-07 Thread Niels Hoogeveen
Finished the implementation of indexed relationships. The graph collections component now contains the package https://github.com/peterneubauer/graph-collections/tree/master/src/main/java/org/neo4j/collections/indexedrelationship, containing the IndexedRelationship class. This class can be used

Re: [Neo4j] Neo4j Spatial - Keep OSM imports

2011-07-07 Thread Peter Neubauer
Robin, the database is deleted after each run in Neo4jTestCase.java, @Override @After protected void tearDown() throws Exception { shutdownDatabase(true); super.tearDown(); } if you change to shutdownDatabase(false), the database will not be deleted. In this case,

Re: [Neo4j] Neo4jPHP

2011-07-07 Thread Eldad Yamin
Thanks! I'll give it a try soon. On Thu, Jul 7, 2011 at 1:50 AM, Josh Adell wrote: > Hey all, > > I've been working on another PHP client for Neo4j. I think it's ready > for some real-life testing, and I'm interested to see what you all > think. > GitHub: https://github.com/jadell/Neo4jPHP > Do