Re: [Neo4j] Size on disk, and number of properties
Hi Assem The logical log file is where all changes to be performed to the store are written out before they are actually applied - also referred to as the Write Ahead Log. The file that hosts this is bound to a specific size above which a rotation happens: a new file is created to host the WAL, all pending transactions are moved over, the store files are flushed and the old file marked as unused. Setting the configuration option keep_logical_logs to false deletes the old log files instead of keeping them around when that size limit is hit and a rotation is triggered. Hope that clear things up. cheers, CG On Wed, Sep 7, 2011 at 8:58 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Thanks Johan! Configuring Neo4j with keep_logical_logs=false the logs will automatically be deleted upon rotation. What does upon rotation mean here? Aseem On Wed, Sep 7, 2011 at 5:56 AM, Johan Svensson jo...@neotechnology.comwrote: Removing the log files ending with .vversion number at runtime is perfectly safe to do but will turn off the ability to do incremental backups. You can however still perform live full backups. Configuring Neo4j with keep_logical_logs=false the logs will automatically be deleted upon rotation. -Johan On Sat, Sep 3, 2011 at 1:49 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Thanks for the insights Johan! Regarding the existing disk space then, by far the bulk of it is from the logs. Is there a way to prune or garbage collect them? Is simply deleting the files safe? Should the db be off if I do that? Etc. Thanks much! Aseem On Tue, Aug 30, 2011 at 2:47 AM, Johan Svensson jo...@neotechnology.com wrote: Hi Aseem, This is actually expected behavior when performing file copy of running db and starting up with default configuration. If you remove the files ending with .id in the db directory on the local snapshot and start up setting rebuild_idgenerators_fast=false you should see the accurate amount of nodes, relationships and properties. Regarding the amount of properties not matching this could be due to a non clean shutdown on the production system. We are planing on improving this in the near future by allowing for more aggressive reuse of ids for properties. This will specifically improve things for workloads that perform a lot of property updates. -Johan On Tue, Aug 30, 2011 at 10:05 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Hey guys, We do offline backups of our db on a semi-regular basis (every few days), where we (1) stop the running db, (2) copy its data directory and (3) restart the db. A few times early on, we did running backups -- but not the proper online way -- where we simply copied the data directory while the db was still running. (We did this during times where we were confident no requests were hitting the db.) We noticed that every time we did the running backup, the number of properties the web admin reported -- and the space on disk of the db -- would jump up quite a bit. We stopped doing that recently. But even now, both these numbers have gotten quite a bit higher than we expect to, and strangely, they seem to differ highly between the running db and the copies. What could be causing all of this? Here are our current numbers: *Production* - 2,338 nodes - 4,473 rels - 114,231 props (higher than we would expect it to be, but not by an order of magnitude) - *1.39 GB!* -- this is way unexpected, particularly since our db used to be in the ~10 KB ballpark, and we certainly haven't experienced hockey stick growth yet ;) The logical log only takes up 57 KB (0%) btw. *Local snapshot* - 2,338 nodes - 4,473 rels - *2,607,892 props!!!* -- ??? - *1.37 GB!* -- equally surprisingly high, but also interesting that it's less than the production db's size. 0 KB logical logs. I looked around the wiki and searched this mailing list but didn't find much clues here. But as requested on another thread, here's the output of `ls -lh data/graph.db/`: total 1474520 -rw-r--r-- 1 aseemk staff 11B Aug 30 00:46 active_tx_log drwxr-xr-x 52 aseemk staff 1.7K Aug 30 00:46 index/ -rw-r--r-- 1 aseemk staff 343B Aug 30 00:46 index.db -rw-r--r-- 1 aseemk staff 854K Aug 30 00:46 messages.log -rw-r--r-- 1 aseemk staff 36B Aug 30 00:46 neostore -rw-r--r-- 1 aseemk staff 9B Aug 30 00:46 neostore.id -rw-r--r-- 1 aseemk staff 26K Aug 30 00:46 neostore.nodestore.db -rw-r--r-- 1 aseemk staff 9B Aug 30 00:46 neostore.nodestore.db.id -rw-r--r-- 1 aseemk staff 62M Aug 30 00:46 neostore.propertystore.db -rw-r--r-- 1 aseemk staff 133B Aug 30 00:46 neostore.propertystore.db.arrays -rw-r--r-- 1 aseemk staff 9B Aug 30 00:46 neostore.propertystore.db.arrays.id
Re: [Neo4j] how Neo4j work for sorting chinese character?
Thanks Yuanlong, we will look at it as soon as we got some time! 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, Sep 8, 2011 at 2:38 AM, iamyuanlong yuanlong1...@gmail.com wrote: I added here : https://github.com/neo4j/community/issues/14 -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-how-Neo4j-work-for-sorting-chinese-character-tp3309754p3318317.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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] possible to query spatial indexes from gremlin?
Boris, you are seeing the expected results through REST but not through the Webadmin with this query? That sounds like a bug then. 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 Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, still no joy, I run the following query: g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159, -71.091167203206, 42.375030765981]').count() but get no results, when I run the same query through the rest plugin I get the expected results. I see the index is registered as spatial in the index view. I'm, not sure what else to try. Any help would be appreciated! On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, here is finally a working example of a Gremlin index search in Neo4j Spatial, see https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132 Let us know if this helps! 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 Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, the name of the index is the name of the corresponding Layer you want to work with, so you should do something like http POST /db/data/index/node/ {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}} in order to get one of your existing layers. otherwise, a new layer will be created for you, which is not what you want right? I don't know which layers have data in them ... let me know if that works. 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, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, I'm finally trying this query out, but not getting any results. Do I need to rebuild neo4j-spatial? I sent the index command successfully: - http POST /db/data/index/node/ {name:UsersWorld, config:{provider:spatial}} - == 201 Created - == { - == template : http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value} , - == provider : spatial - == } But when I query, I get nothing (same query from the plugin produces results): g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]') Thanks! On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: You are to surf and have fun. pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]') 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 Tue, Aug 9, 2011 at 12:36 AM, Marko Rodriguez okramma...@gmail.com wrote: Hey, :). You can do: g.idx('test')[['bbox','[15.0, 16.0, 56.0, 61.0]']] See ya, Marko. http://markorodriguez.com On Aug 8, 2011, at 4:27 PM, Peter Neubauer wrote: Boris, I extended the functional tests to do what you are asking for, https://github.com/neo4j/neo4j-spatial/blob/master/features/start-and-stop.feature Basically: Create a Spatial Layer Add nodes Load the index with provider=spatial configuration Query it using Cypher Query it using Gremlin Query it using the REST index interface Thus, you can now query the (trivial) point layer index using any of your favorite
Re: [Neo4j] Aggregate queries
Hi, Thanks James. Here is how I would do it -- groupCount is not needed. g.idx(index_name)[[key:value]].both.loop(1){it.loops depth}.count() Note: Be wary of this query. Make sure the branch factor of your graph is sufficiently small or the depth to which you are exploring is sufficiently small. With a large branch and depth, you can easily touch everything in your graph if your graph has natural statistics. ( http://en.wikipedia.org/wiki/Scale-free_network ) Also, if you want to get fancy, what I like to do, is unroll my loops to increase performance. Given that the while construct of your loop step is simply depth, you can append an appropriate number of .both steps. traversal = g.idx(index_name)[[key:value]]; for(i in 0..depth) { traversal = traversal.both; } traversal.count(); Finally, 'both' is for undirected traversals. Use 'out' for outgoing traversals (follow the direction of the arrows) and 'in' for incoming traversals. https://github.com/tinkerpop/gremlin/wiki/Gremlin-Steps HTH, Marko. http://markorodriguez.com Xavier Shay wrote: For all nodes in a particular index, how many other nodes are they connected to at depth X? Marko will be able to improve upon this, but try something like this (this is untested)... m = [:] depth = 10 index_name = vertices index_key = name index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER + *). index_nodes._().both.groupCount(m).loop(2){it.loops depth} m.size() - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Aggregate-queries-tp3317720p3317876.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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] Querying a full text index
Remember that the default match is 0.5 e.g director~0.5 hence why it matches up to two letter differences e.g ditectof, directors etc Sent from my iPhone On 08/09/2011, at 5:10 AM, Yaniv Ben Yosef yani...@gmail.com wrote: Hi Axel, I've read the syntax, which is why I was surprised. There are wildcard options in the syntax, e.g.: test* and test? and even te*st. So I would expect that [director*] should return director and directory. [director], if I understand the syntax correctly, should return just director. But actually, it also returns director and directory in my code. This means that [director] is equivalent to [director*], which I find a bit strange. In your example - the query [director] also returns both director and directory. The only thing that works is [+director]. Thing is, I don't want to force my users to remember advanced syntax and append a + to each word. And I also don't want to start parsing queries. I imagine that the syntax in the Lucene documentation should work (i.e., [director] *should not* be equivalent to [director*]. It's either a bug somewhere, or I'm not configuring/using something correctly. Anyone has an idea? Thanks again, --- Yaniv On Wed, Sep 7, 2011 at 8:31 PM, Axel Morgner a...@morgner.de wrote: Hi Yaniv, didn't try your case, just read the code. If I remember correctly, it may help to expand your search term director john into a Lucene query, e.g. something like \director\ OR \john\. The complete Lucene query syntax see [1]. Greetings Axel [1] http://lucene.apache.org/java/3_1_0/queryparsersyntax.html Am 07.09.2011 um 12:16 schrieb Yaniv Ben Yosef: Hi, This question may be Lucene related, but since I'm using it via Neo4J I'm asking here first. I'm using Neo4J 1.4 M06. I have a graph representing people, with a few properties about each person (e.g., their name and job title). Now I'd like to create a search form that will allow the user to enter either the person's first name, last name, title, or any combination. For example, the query [john director] should result with all the people whose name or title contain both john and director. To play with that, I created this little psvm: public class FullTextIndexTest { public static void main(String[] args) { GraphDatabaseService graphDb = GraphDatabaseServiceFactory.createGraphDatabase(target/var/db); Transaction t = graphDb.beginTx(); Node n1 = graphDb.createNode(); n1.setProperty(name, John Smith); n1.setProperty(title, Directory Manager); Node n2 = graphDb.createNode(); n2.setProperty(name, Johnny Malkovich); n2.setProperty(title, Director of RD); Node n3 = graphDb.createNode(); n3.setProperty(name, John Horovich); n3.setProperty(title, Sr. Director); IndexManager index = graphDb.index(); IndexNode fulltextPerson = index.forNodes(person-fulltext, MapUtil.stringMap(IndexManager.PROVIDER, lucene, type, fulltext)); fulltextPerson.add(n1, combined, n1.getProperty(name) + + n1.getProperty(title)); fulltextPerson.add(n2, combined, n2.getProperty(name) + + n2.getProperty(title)); fulltextPerson.add(n3, combined, n3.getProperty(name) + + n3.getProperty(title)); t.success(); t.finish(); // search in the fulltext index IndexHitsNode hits = fulltextPerson.query(combined, director john); System.out.printf(Found %d results:\n, hits.size()); for (Node node : hits) { System.out.println(node.getProperty(name) + , + node.getProperty(title)); } } } I expected this program to return 1 result: John Horovich, Sr. Director Instead, I'm getting 3: John Horovich, Sr. Director John Smith, Directory Manager Johnny Malkovich, Director of RD It seems that Lucene will accept terms that contain a query term (e.g, Directory and Johnny) even if I'm not using any wildcards in my query. How do I turn this behavior off? I'd like the results to contain only people whose name or title *contain* the word john, but not johnny. Thanks! --- Yaniv ___ 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] Issues with IndexedRelationship
Excellent... I did a code review and think this is a huge improvement over what we had. Peter, can you pull these changes, I no longer have the privs to do so. Niels Date: Thu, 8 Sep 2011 17:24:44 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship I have made the changes in regards to SortedTree in regards to relationships vs nodes, and have got all the tests passing. The changes are pushed up to my github account (and pull request has been raised). The changes can be seen here: https://github.com/brycenz/graph-collections On Thu, Sep 8, 2011 at 3:41 PM, Bryce bryc...@gmail.com wrote: Another thought if there is going to be a larger refactor of the code is whether the indexing mechanism should be broken out as a strategy for the IndexedRelationship. At present it is tied to SortedTree, but if an interface was extracted out that had addNode, removeNode, iterator, and isUniqueIndex then other indexing implementations could be used in certain cases. The particular other implementation I am currently thinking of that could be of use to me would be a paged linked list. So that would have a linked list of pages, each with min x max KEY_VALUE (or equivalent) relationships. I think that could work quite well for the situation where the index is descending date ordered, and generally just appended at the most recent end, and results are retrieved in a paged manner generally from near the most recent. But more to the point there could be any number of implementations that would be good for given different situations. That does bring up a question though, there was some discussion a while ago about some functionality along the lines of IndexedRelationship being pulled into the core, so is that overkill for now if there is going to be another core offering later? On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen pd_aficion...@hotmail.com wrote: I think we don't have to worry about backwards compatibility much yet. There has not been a formal release of the component, so if there are people using the software, they will accept that they are bleeding edgers. Indeed addNode should return the KEY_VALUE relationship and I think we should change the signature of SortedTree to turn it into IterableRelationship. No need to maintain a Node iterator, the node is always one getEndNode away. Niels Date: Thu, 8 Sep 2011 14:17:59 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Will have to experiment with changing my id's to be stored as longs, it does make perfect sense really that it would be better. Thanks for the hint. In regards to SortedTree returning the KEY_VALUE relationship instead of the end Node, I had thought of that too, and it would definitely help. Could end up being a significant change to SortedTree though, e.g.: sortedTree.addNode( node ); Would need to return the KEY_VALUE relationship instead of a boolean. Which not knowing where else SortedTree is used could be a large change? Maybe SortedTree would have two iterator's available a key_value relationship iterator, and a node iterator. Having a quick look at it now it seems that it could work ok that way without introducing much code duplication. On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen pd_aficion...@hotmail.comwrote: Two longs is certainly cheaper than a string. Two longs take 128 bit and are stored in the main record of the PropertyContainer, while a String would require a 64 bit pointer in the main record of the PropertyContainer, and an additional read in the String store where the string representation will take up 256 bits. So both memory-wise, as perfomance wise, it is better to store a UUID as two long values. The main issue is something that needs a deeper fix than adding ID's. SortedTree now returns Nodes when traversing the tree. We should however return the KEY_VALUE Relationship to the indexed Node. Then IndexedRelationship.DirectRelationship can be created with that relationship as an argument. We get the Direction and the RelationshipType for free. Niels Date: Thu, 8 Sep 2011 11:36:11 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Hi Niels, Sorry I didn't quite write the bit about (1) clearly enough. The problem is that it presently throws an Exception where it shouldn't. This stems from IndexedRelationship.DirectRelationship: this.endRelationship = endNode.getSingleRelationship( SortedTree.RelTypes.KEY_VALUE, Direction.INCOMING ); So if the end node has more than one incoming KEY_VALUE relationship a more
Re: [Neo4j] Issues with IndexedRelationship
I like this idea Date: Thu, 8 Sep 2011 15:41:52 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Another thought if there is going to be a larger refactor of the code is whether the indexing mechanism should be broken out as a strategy for the IndexedRelationship. At present it is tied to SortedTree, but if an interface was extracted out that had addNode, removeNode, iterator, and isUniqueIndex then other indexing implementations could be used in certain cases. The particular other implementation I am currently thinking of that could be of use to me would be a paged linked list. So that would have a linked list of pages, each with min x max KEY_VALUE (or equivalent) relationships. I think that could work quite well for the situation where the index is descending date ordered, and generally just appended at the most recent end, and results are retrieved in a paged manner generally from near the most recent. But more to the point there could be any number of implementations that would be good for given different situations. That does bring up a question though, there was some discussion a while ago about some functionality along the lines of IndexedRelationship being pulled into the core, so is that overkill for now if there is going to be another core offering later? On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen pd_aficion...@hotmail.comwrote: I think we don't have to worry about backwards compatibility much yet. There has not been a formal release of the component, so if there are people using the software, they will accept that they are bleeding edgers. Indeed addNode should return the KEY_VALUE relationship and I think we should change the signature of SortedTree to turn it into IterableRelationship. No need to maintain a Node iterator, the node is always one getEndNode away. Niels Date: Thu, 8 Sep 2011 14:17:59 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Will have to experiment with changing my id's to be stored as longs, it does make perfect sense really that it would be better. Thanks for the hint. In regards to SortedTree returning the KEY_VALUE relationship instead of the end Node, I had thought of that too, and it would definitely help. Could end up being a significant change to SortedTree though, e.g.: sortedTree.addNode( node ); Would need to return the KEY_VALUE relationship instead of a boolean. Which not knowing where else SortedTree is used could be a large change? Maybe SortedTree would have two iterator's available a key_value relationship iterator, and a node iterator. Having a quick look at it now it seems that it could work ok that way without introducing much code duplication. On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen pd_aficion...@hotmail.comwrote: Two longs is certainly cheaper than a string. Two longs take 128 bit and are stored in the main record of the PropertyContainer, while a String would require a 64 bit pointer in the main record of the PropertyContainer, and an additional read in the String store where the string representation will take up 256 bits. So both memory-wise, as perfomance wise, it is better to store a UUID as two long values. The main issue is something that needs a deeper fix than adding ID's. SortedTree now returns Nodes when traversing the tree. We should however return the KEY_VALUE Relationship to the indexed Node. Then IndexedRelationship.DirectRelationship can be created with that relationship as an argument. We get the Direction and the RelationshipType for free. Niels Date: Thu, 8 Sep 2011 11:36:11 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Hi Niels, Sorry I didn't quite write the bit about (1) clearly enough. The problem is that it presently throws an Exception where it shouldn't. This stems from IndexedRelationship.DirectRelationship: this.endRelationship = endNode.getSingleRelationship( SortedTree.RelTypes.KEY_VALUE, Direction.INCOMING ); So if the end node has more than one incoming KEY_VALUE relationship a more than one relationship exception is thrown. Instead of the getSingleRelationship I was planning on iterating over the relationships and matching the UUID stored at the root end of the IR with one of the KEY_VALUE relationships (which is why using a unique id is necessary rather than the relationship type). Note: there will actually still be an issue if the same IR has multiple relationships to the same leaf node - still thinking about that might need . Is storing the UUID as two
[Neo4j] Blocking access to the Neo4j web admin interface
I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Blocking access to the Neo4j web admin interface
Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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] possible to query spatial indexes from gremlin?
correct, but through the spatial plugin via rest not gremlin. On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, you are seeing the expected results through REST but not through the Webadmin with this query? That sounds like a bug then. 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 Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, still no joy, I run the following query: g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159, -71.091167203206, 42.375030765981]').count() but get no results, when I run the same query through the rest plugin I get the expected results. I see the index is registered as spatial in the index view. I'm, not sure what else to try. Any help would be appreciated! On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, here is finally a working example of a Gremlin index search in Neo4j Spatial, see https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132 Let us know if this helps! 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 Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, the name of the index is the name of the corresponding Layer you want to work with, so you should do something like http POST /db/data/index/node/ {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}} in order to get one of your existing layers. otherwise, a new layer will be created for you, which is not what you want right? I don't know which layers have data in them ... let me know if that works. 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, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, I'm finally trying this query out, but not getting any results. Do I need to rebuild neo4j-spatial? I sent the index command successfully: - http POST /db/data/index/node/ {name:UsersWorld, config:{provider:spatial}} - == 201 Created - == { - == template : http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value} , - == provider : spatial - == } But when I query, I get nothing (same query from the plugin produces results): g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]') Thanks! On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: You are to surf and have fun. pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]') 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 Tue, Aug 9, 2011 at 12:36 AM, Marko Rodriguez okramma...@gmail.com wrote: Hey, :). You can do: g.idx('test')[['bbox','[15.0, 16.0, 56.0, 61.0]']] See ya, Marko. http://markorodriguez.com On Aug 8, 2011, at 4:27 PM, Peter Neubauer wrote: Boris, I extended the functional tests to do what you are asking for,
Re: [Neo4j] possible to query spatial indexes from gremlin?
Boris, could you please raise an issue in Neo4j Spatial so I can start investigating this? https://github.com/neo4j/spatial/issues?sort=createddirection=descstate=open so we can track it down. Please provide REST calls that work and that don't, will add it to the integration testing :) 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, Sep 8, 2011 at 3:20 PM, Boris Kizelshteyn bo...@popcha.com wrote: correct, but through the spatial plugin via rest not gremlin. On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, you are seeing the expected results through REST but not through the Webadmin with this query? That sounds like a bug then. 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 Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, still no joy, I run the following query: g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159, -71.091167203206, 42.375030765981]').count() but get no results, when I run the same query through the rest plugin I get the expected results. I see the index is registered as spatial in the index view. I'm, not sure what else to try. Any help would be appreciated! On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, here is finally a working example of a Gremlin index search in Neo4j Spatial, see https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132 Let us know if this helps! 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 Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, the name of the index is the name of the corresponding Layer you want to work with, so you should do something like http POST /db/data/index/node/ {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}} in order to get one of your existing layers. otherwise, a new layer will be created for you, which is not what you want right? I don't know which layers have data in them ... let me know if that works. 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, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, I'm finally trying this query out, but not getting any results. Do I need to rebuild neo4j-spatial? I sent the index command successfully: - http POST /db/data/index/node/ {name:UsersWorld, config:{provider:spatial}} - == 201 Created - == { - == template : http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value} , - == provider : spatial - == } But when I query, I get nothing (same query from the plugin produces results): g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]') Thanks! On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: You are to surf and have fun. pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]') Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer
Re: [Neo4j] Blocking access to the Neo4j web admin interface
since neo4j just uses jetty, i think the simple solution would be add option in neo4j shell script: -Djetty.host=127.0.0.1 to make it only listen to local request. then use ssh tunnel to expose service to designated machines. On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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 -- Best regards Linan Wang ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Issues with IndexedRelationship
Niels, Bryce, great! Gave you access to the repo, please merge :) /peter On Thu, Sep 8, 2011 at 2:32 PM, Niels Hoogeveen pd_aficion...@hotmail.com wrote: Excellent... I did a code review and think this is a huge improvement over what we had. Peter, can you pull these changes, I no longer have the privs to do so. Niels Date: Thu, 8 Sep 2011 17:24:44 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship I have made the changes in regards to SortedTree in regards to relationships vs nodes, and have got all the tests passing. The changes are pushed up to my github account (and pull request has been raised). The changes can be seen here: https://github.com/brycenz/graph-collections On Thu, Sep 8, 2011 at 3:41 PM, Bryce bryc...@gmail.com wrote: Another thought if there is going to be a larger refactor of the code is whether the indexing mechanism should be broken out as a strategy for the IndexedRelationship. At present it is tied to SortedTree, but if an interface was extracted out that had addNode, removeNode, iterator, and isUniqueIndex then other indexing implementations could be used in certain cases. The particular other implementation I am currently thinking of that could be of use to me would be a paged linked list. So that would have a linked list of pages, each with min x max KEY_VALUE (or equivalent) relationships. I think that could work quite well for the situation where the index is descending date ordered, and generally just appended at the most recent end, and results are retrieved in a paged manner generally from near the most recent. But more to the point there could be any number of implementations that would be good for given different situations. That does bring up a question though, there was some discussion a while ago about some functionality along the lines of IndexedRelationship being pulled into the core, so is that overkill for now if there is going to be another core offering later? On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen pd_aficion...@hotmail.com wrote: I think we don't have to worry about backwards compatibility much yet. There has not been a formal release of the component, so if there are people using the software, they will accept that they are bleeding edgers. Indeed addNode should return the KEY_VALUE relationship and I think we should change the signature of SortedTree to turn it into IterableRelationship. No need to maintain a Node iterator, the node is always one getEndNode away. Niels Date: Thu, 8 Sep 2011 14:17:59 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Will have to experiment with changing my id's to be stored as longs, it does make perfect sense really that it would be better. Thanks for the hint. In regards to SortedTree returning the KEY_VALUE relationship instead of the end Node, I had thought of that too, and it would definitely help. Could end up being a significant change to SortedTree though, e.g.: sortedTree.addNode( node ); Would need to return the KEY_VALUE relationship instead of a boolean. Which not knowing where else SortedTree is used could be a large change? Maybe SortedTree would have two iterator's available a key_value relationship iterator, and a node iterator. Having a quick look at it now it seems that it could work ok that way without introducing much code duplication. On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen pd_aficion...@hotmail.comwrote: Two longs is certainly cheaper than a string. Two longs take 128 bit and are stored in the main record of the PropertyContainer, while a String would require a 64 bit pointer in the main record of the PropertyContainer, and an additional read in the String store where the string representation will take up 256 bits. So both memory-wise, as perfomance wise, it is better to store a UUID as two long values. The main issue is something that needs a deeper fix than adding ID's. SortedTree now returns Nodes when traversing the tree. We should however return the KEY_VALUE Relationship to the indexed Node. Then IndexedRelationship.DirectRelationship can be created with that relationship as an argument. We get the Direction and the RelationshipType for free. Niels Date: Thu, 8 Sep 2011 11:36:11 +1200 From: bryc...@gmail.com To: user@lists.neo4j.org Subject: Re: [Neo4j] Issues with IndexedRelationship Hi Niels, Sorry I didn't quite write the bit about (1) clearly enough. The problem is that it presently throws an Exception where it shouldn't. This stems from IndexedRelationship.DirectRelationship: this.endRelationship = endNode.getSingleRelationship(
Re: [Neo4j] Aggregate queries
Marko Rodriguez-2 wrote: For all nodes in a particular index, how many other nodes are they connected to at depth X? Here is how I would do it -- groupCount is not needed. g.idx(index_name)[[key:value]].both.loop(1){it.loops depth}.count() Thanks Marko. A couple questions... Won't this count dupes more than once? Xavier's requirements of how many other nodes are they connected sounds like you should only count uniques, and that's why I am checking the size of groupCount map instead of using count(). Instead of a map you could use a Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop fix yet. Also Xavier said, For all nodes in a particular index. I took that to mean all nodes in an index, not all nodes for a particular value in an index, hence the wildcard query: index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER + *) However, I am not sure/can't remember if you can do a wildcard query without at least one leading character. - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Aggregate-queries-tp3317720p3319768.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Blocking access to the Neo4j web admin interface
That sounds good. Could you try it and report back? Would love to add it to the manual and as a setting. 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, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote: since neo4j just uses jetty, i think the simple solution would be add option in neo4j shell script: -Djetty.host=127.0.0.1 to make it only listen to local request. then use ssh tunnel to expose service to designated machines. On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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 -- Best regards Linan Wang ___ 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] Aggregate queries
Hey, Won't this count dupes more than once? Xavier's requirements of how many other nodes are they connected sounds like you should only count uniques, and that's why I am checking the size of groupCount map instead of using count(). Instead of a map you could use a Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop fix yet. Then add a uniqueObject to the pipeline. g.idx(index_name)[[key:value]].both.loop(1){it.loops depth}.uniqueObject.count() Also Xavier said, For all nodes in a particular index. I took that to mean all nodes in an index, not all nodes for a particular value in an index, hence the wildcard query: index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER + *) However, I am not sure/can't remember if you can do a wildcard query without at least one leading character. Oh then yea, the %query% header can be used. Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] possible to query spatial indexes from gremlin?
posted On Thu, Sep 8, 2011 at 9:29 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, could you please raise an issue in Neo4j Spatial so I can start investigating this? https://github.com/neo4j/spatial/issues?sort=createddirection=descstate=open so we can track it down. Please provide REST calls that work and that don't, will add it to the integration testing :) 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, Sep 8, 2011 at 3:20 PM, Boris Kizelshteyn bo...@popcha.com wrote: correct, but through the spatial plugin via rest not gremlin. On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, you are seeing the expected results through REST but not through the Webadmin with this query? That sounds like a bug then. 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 Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, still no joy, I run the following query: g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159, -71.091167203206, 42.375030765981]').count() but get no results, when I run the same query through the rest plugin I get the expected results. I see the index is registered as spatial in the index view. I'm, not sure what else to try. Any help would be appreciated! On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, here is finally a working example of a Gremlin index search in Neo4j Spatial, see https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132 Let us know if this helps! 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 Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Boris, the name of the index is the name of the corresponding Layer you want to work with, so you should do something like http POST /db/data/index/node/ {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}} in order to get one of your existing layers. otherwise, a new layer will be created for you, which is not what you want right? I don't know which layers have data in them ... let me know if that works. 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, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com wrote: Hi Peter, I'm finally trying this query out, but not getting any results. Do I need to rebuild neo4j-spatial? I sent the index command successfully: - http POST /db/data/index/node/ {name:UsersWorld, config:{provider:spatial}} - == 201 Created - == { - == template : http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value} , - == provider : spatial - == } But when I query, I get nothing (same query from the plugin produces results): g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]') Thanks! On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: You
Re: [Neo4j] Aggregate queries
Thanks everyone, this gives me plenty to work with. Will report back. On Thu, Sep 8, 2011 at 7:03 AM, Marko Rodriguez okramma...@gmail.comwrote: Hey, Won't this count dupes more than once? Xavier's requirements of how many other nodes are they connected sounds like you should only count uniques, and that's why I am checking the size of groupCount map instead of using count(). Instead of a map you could use a Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop fix yet. Then add a uniqueObject to the pipeline. g.idx(index_name)[[key:value]].both.loop(1){it.loops depth}.uniqueObject.count() Also Xavier said, For all nodes in a particular index. I took that to mean all nodes in an index, not all nodes for a particular value in an index, hence the wildcard query: index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER + *) However, I am not sure/can't remember if you can do a wildcard query without at least one leading character. Oh then yea, the %query% header can be used. 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
Re: [Neo4j] Blocking access to the Neo4j web admin interface
tested the idea, it doesn't work. so i made simple changes to the server code and diff is attached. to change the binding ip of the webserver: add following line to conf/neo4j-server.properties: org.neo4j.server.webserver.address=127.0.0.1 On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: That sounds good. Could you try it and report back? Would love to add it to the manual and as a setting. 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, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote: since neo4j just uses jetty, i think the simple solution would be add option in neo4j shell script: -Djetty.host=127.0.0.1 to make it only listen to local request. then use ssh tunnel to expose service to designated machines. On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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 -- Best regards Linan Wang ___ 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 -- Best regards Linan Wang ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Size on disk, and number of properties
That is awesomely helpful info. Thank you very much! Aseem On Thu, Sep 8, 2011 at 12:55 AM, Chris Gioran chris.gio...@neotechnology.com wrote: Hi Assem The logical log file is where all changes to be performed to the store are written out before they are actually applied - also referred to as the Write Ahead Log. The file that hosts this is bound to a specific size above which a rotation happens: a new file is created to host the WAL, all pending transactions are moved over, the store files are flushed and the old file marked as unused. Setting the configuration option keep_logical_logs to false deletes the old log files instead of keeping them around when that size limit is hit and a rotation is triggered. Hope that clear things up. cheers, CG On Wed, Sep 7, 2011 at 8:58 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Thanks Johan! Configuring Neo4j with keep_logical_logs=false the logs will automatically be deleted upon rotation. What does upon rotation mean here? Aseem On Wed, Sep 7, 2011 at 5:56 AM, Johan Svensson jo...@neotechnology.com wrote: Removing the log files ending with .vversion number at runtime is perfectly safe to do but will turn off the ability to do incremental backups. You can however still perform live full backups. Configuring Neo4j with keep_logical_logs=false the logs will automatically be deleted upon rotation. -Johan On Sat, Sep 3, 2011 at 1:49 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Thanks for the insights Johan! Regarding the existing disk space then, by far the bulk of it is from the logs. Is there a way to prune or garbage collect them? Is simply deleting the files safe? Should the db be off if I do that? Etc. Thanks much! Aseem On Tue, Aug 30, 2011 at 2:47 AM, Johan Svensson jo...@neotechnology.com wrote: Hi Aseem, This is actually expected behavior when performing file copy of running db and starting up with default configuration. If you remove the files ending with .id in the db directory on the local snapshot and start up setting rebuild_idgenerators_fast=false you should see the accurate amount of nodes, relationships and properties. Regarding the amount of properties not matching this could be due to a non clean shutdown on the production system. We are planing on improving this in the near future by allowing for more aggressive reuse of ids for properties. This will specifically improve things for workloads that perform a lot of property updates. -Johan On Tue, Aug 30, 2011 at 10:05 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Hey guys, We do offline backups of our db on a semi-regular basis (every few days), where we (1) stop the running db, (2) copy its data directory and (3) restart the db. A few times early on, we did running backups -- but not the proper online way -- where we simply copied the data directory while the db was still running. (We did this during times where we were confident no requests were hitting the db.) We noticed that every time we did the running backup, the number of properties the web admin reported -- and the space on disk of the db -- would jump up quite a bit. We stopped doing that recently. But even now, both these numbers have gotten quite a bit higher than we expect to, and strangely, they seem to differ highly between the running db and the copies. What could be causing all of this? Here are our current numbers: *Production* - 2,338 nodes - 4,473 rels - 114,231 props (higher than we would expect it to be, but not by an order of magnitude) - *1.39 GB!* -- this is way unexpected, particularly since our db used to be in the ~10 KB ballpark, and we certainly haven't experienced hockey stick growth yet ;) The logical log only takes up 57 KB (0%) btw. *Local snapshot* - 2,338 nodes - 4,473 rels - *2,607,892 props!!!* -- ??? - *1.37 GB!* -- equally surprisingly high, but also interesting that it's less than the production db's size. 0 KB logical logs. I looked around the wiki and searched this mailing list but didn't find much clues here. But as requested on another thread, here's the output of `ls -lh data/graph.db/`: total 1474520 -rw-r--r-- 1 aseemk staff11B Aug 30 00:46 active_tx_log drwxr-xr-x 52 aseemk staff 1.7K Aug 30 00:46 index/ -rw-r--r-- 1 aseemk staff 343B Aug 30 00:46 index.db -rw-r--r-- 1 aseemk staff 854K Aug 30 00:46 messages.log -rw-r--r-- 1 aseemk staff36B Aug 30 00:46 neostore -rw-r--r-- 1 aseemk staff 9B Aug 30 00:46 neostore.id -rw-r--r-- 1 aseemk staff26K Aug 30 00:46 neostore.nodestore.db -rw-r--r-- 1 aseemk staff 9B Aug 30
[Neo4j] Recommended way to index and lookup paired properties
Hey guys, quick question on indexing. We track Amazon products in our db, and the way Amazon identifies its products is with an Amazon Standard Identification Number (ASIN). The only catch is that ASINs are only unique within a particular locale, and Amazon has a few different locales (e.g. us, uk, de, jp, etc.). Because of this, when we index and lookup Amazon products, we need to index and lookup with *both* properties together. E.g. we really want to index the pair. As such -- and because we use Neo4j's auto-indexing -- we created a shadow locale+asin property that sits alongside the regular locale and asin properties, and it's a concatenation of the two values, e.g. us+A123456789. We thus index and perform lookups via this shadow property. Recently, though, I saw that you can query even exact indexes with complex Lucene syntax, so in theory, we could ditch the shadow property and query something like (locale:us AND asin:A123456789). Will this be slower though, if there many items w/ the same locale? Generalizing, then, which of these two routes is the recommended way of indexing paired properties? (Or is there a third way?) Thanks! Aseem ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] getProperty() on deleted Node in TransactionEventHandler.beforeCommit()
We have an implementation of TransactionEventHandlerNeo4JTransaction in the method beforeCommit() I would like to use getProperty(nodeType) .. so I can take proper action. Now in the case of a deletion event, it won't let me call it and throws an exception. I'm surprised by this exception has this is beforeCommit() and the node is not delete YET. public Neo4JTransaction beforeCommit(TransactionData data) throws Exception { for (Node deletedNode : data.deletedNodes()) { boolean b = deletedNode.hasproperty(type) // Fails with Exception } } Caused by: java.lang.IllegalStateException: Node[9] has been deleted in this tx at org.neo4j.kernel.impl.core.LockReleaser.getCowPropertyRemoveMap(LockReleaser.java:450) at org.neo4j.kernel.impl.core.NodeManager.getCowPropertyRemoveMap(NodeManager.java:991) at org.neo4j.kernel.impl.core.Primitive.hasProperty(Primitive.java:278) at org.neo4j.kernel.impl.core.NodeProxy.hasProperty(NodeProxy.java:150) Is this expected / a bug ? Any alternatives ? Thanks. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/getProperty-on-deleted-Node-in-TransactionEventHandler-beforeCommit-tp3320791p3320791.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] maximum number of nodes
Do you believe that neo4j will be able to store between 20 - 30 billion nodes ? I am talking about genomics data. Akhil ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] maximum number of nodes
Akhil, i theory, this should be possible, see http://docs.neo4j.org/chunked/snapshot/capabilities-capacity.html . However, with that number of nodes etc, you need probably very specialized hardware to run any form of performant traversal over this data. If you want to do this, I suggest you put up a project to seriously look at importing times, hardware and graph algos to be performed. Do you have more info on the type of research you want to do? 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, Sep 8, 2011 at 9:43 PM, Akhil azk...@cse.psu.edu wrote: Do you believe that neo4j will be able to store between 20 - 30 billion nodes ? I am talking about genomics data. Akhil ___ 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] regarding supernode
On Wed, Sep 7, 2011 at 5:21 PM, Linan Wang tali.w...@gmail.com wrote: hi, I don't quite understand RelationshipIndex and RelationshipExpander. say I have a supernode city (beijing), it has 10 m users links to through relationship LIVES_IN. so how should I index? should be something like: RelationshipIndex idx = db.index().forRelationships(CITY_LIVES_IN); idx.add(rel, LIVES_IN, Beijing); if so, what's the advantage over this? IndexNode idx = db.index().forNodes(CITY_LIVES_IN); idx.add(user, LIVES_IN, beijing); (I read source code of LuceneIndex.java, found out that the implementation of the add method is shared between Indexnode and RelationshipIndex.) ok, i answer my own question: RelationshipIndex has the function query which takes startNode and endNode as extra parameters. so if traverse only depth 1, it could be faster than using Traverser. am i right here? (please say yes!) then the question is how to take advantage of it for more than 1? about RelationshipExpander. i don't see how RelationshipIndex could help combining with RelationshipExpander, when use GraphAlgoFactory.shortestPath(RelationshipExpander expander, int maxDepth)? thanks for help! -- Best regards Linan Wang -- Best regards Linan Wang ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Blocking access to the Neo4j web admin interface
Linan, your diff didn't make it could you just issue an pull request for that. And Peter should get you sign a CLA btw. Cheers Michael Am 08.09.2011 um 18:33 schrieb Linan Wang: tested the idea, it doesn't work. so i made simple changes to the server code and diff is attached. to change the binding ip of the webserver: add following line to conf/neo4j-server.properties: org.neo4j.server.webserver.address=127.0.0.1 On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: That sounds good. Could you try it and report back? Would love to add it to the manual and as a setting. 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, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote: since neo4j just uses jetty, i think the simple solution would be add option in neo4j shell script: -Djetty.host=127.0.0.1 to make it only listen to local request. then use ssh tunnel to expose service to designated machines. On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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 -- Best regards Linan Wang ___ 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 -- Best regards Linan Wang ___ 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] Blocking access to the Neo4j web admin interface
done. https://github.com/neo4j/community/pull/16 On Thu, Sep 8, 2011 at 11:21 PM, Michael Hunger michael.hun...@neotechnology.com wrote: Linan, your diff didn't make it could you just issue an pull request for that. And Peter should get you sign a CLA btw. Cheers Michael Am 08.09.2011 um 18:33 schrieb Linan Wang: tested the idea, it doesn't work. so i made simple changes to the server code and diff is attached. to change the binding ip of the webserver: add following line to conf/neo4j-server.properties: org.neo4j.server.webserver.address=127.0.0.1 On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: That sounds good. Could you try it and report back? Would love to add it to the manual and as a setting. 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, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote: since neo4j just uses jetty, i think the simple solution would be add option in neo4j shell script: -Djetty.host=127.0.0.1 to make it only listen to local request. then use ssh tunnel to expose service to designated machines. On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi there, you can block access to it by blocking the access to the URL (localhost:.../webadmin) and even /db/manage. That requires probably to set up apache and mod_proxy in front of the Neo4j server, but I think that is a good idea in production scenarios anyway. http://docs.neo4j.org/chunked/snapshot/operations-security.html 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, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote: I'm making use of the Neo4j REST API to power a website and was wondering if there was any way to block access to the web admin interface. Currently the DB is in read-only mode but the web admin panel is accessibly by anyone who can stumble upon the URL. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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 -- Best regards Linan Wang ___ 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 -- Best regards Linan Wang ___ 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 -- Best regards Linan Wang ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Neo4j Write Test Compile Error
Hi Guys - I'm trying to compile and run the write test (https://svn.neo4j.org/laboratory/users/johan/write-test) from http://wiki.neo4j.org/content/Linux_Performance_Guide, and I'm getting this error: https://gist.github.com/1205327 Is there a newer version of this? Thanks. - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321729.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j Write Test Compile Error
Hi James, I initially gave this a go and it worked, but found I had cached version of the parent pom in my local maven repo. Removing this I got the same issue you had. You can get this working by replacing the parent pom reference in the pom.xml file with: parent groupIdorg.neo4j.build/groupId artifactIdparent-central/artifactId version25/version /parent Instead of the current: parent groupIdorg.neo4j/groupId artifactIdparent-pom/artifactId version6/version /parent It still wont work quite as is though. The build will fail on a license check, so do compile like: mvn -Dlicense.failIfMissing=false compile Should work. Cheers Bryce On Fri, Sep 9, 2011 at 2:12 PM, espeed ja...@jamesthornton.com wrote: Hi Guys - I'm trying to compile and run the write test (https://svn.neo4j.org/laboratory/users/johan/write-test) from http://wiki.neo4j.org/content/Linux_Performance_Guide, and I'm getting this error: https://gist.github.com/1205327 Is there a newer version of this? Thanks. - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321729.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.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] Neo4j Write Test Compile Error
Bryce Ewing wrote: You can get this working by replacing the parent pom reference in the pom.xml file with: parent groupIdorg.neo4j.build/groupId artifactIdparent-central/artifactId version25/version /parent Instead of the current: parent groupIdorg.neo4j/groupId artifactIdparent-pom/artifactId version6/version /parent It still wont work quite as is though. The build will fail on a license check, so do compile like: mvn -Dlicense.failIfMissing=false compile Sure enough. Thanks Bryce! -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321821.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Java PaaS with Neo4j (slightly off topic)
Hi all, I am using (the embedded version of) Neo4j together with a webapplication (WAR file for Tomcat). Does anyone know a PaaS provider (like CloudBees) that allow a local file storage? (This would be a simple solution beside implementing the Neo4j Server REST interface and f.e. using a Neo4j Heroku Addon) -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] getProperty() on deleted Node in TransactionEventHandler.beforeCommit()
To reply to myself: I found out that i was able to get the properties of the to be deleted node in data.removedNodeProperties() with the value being in previouslyCommitedValue() -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/getProperty-on-deleted-Node-in-TransactionEventHandler-beforeCommit-tp3320791p3321945.html Sent from the Neo4j Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user