Re: [Neo4j] Finding orphaned nodes...
If you need more high performant variants of that, you can partition the node-id-space, read them in multiple threads and collect them in a concurrent queue for deletion, using a thread pool with a suitable transaction size for the parallel deletion. I think it is also possible to read the store format (see Chris Gioran's blog series on http://digitalstain.blogspot.com/) to find nodes w/o relationships in the node-store and then delete them transactionally (deletion will fail anyway if a node got a new relationship in the meantime). Cheers Michael Am 12.04.2011 um 20:27 schrieb Axel Morgner: > Maybe slow, but easy and and working: > > for (Node n : graphDb.getAllNodes()) { > if (!n.hasRelationship()) { > n.delete(); > } > } > > > > > On 12.04.2011 20:19, Rick Bullotta wrote: >> Is there any recommended technique for scanning a Neo database for orphaned >> nodes (e.g. nodes with no relationships)? >> ___ >> 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] Timeline index
Hi Mattias, Thank you for your response. I am currently working with the version you pointed out. My bigger concern is the possible deprecation of this component in future releases. As I pointed out, there are use cases where the Lucene timeline is not an appropriate choice, but the graph-based B-tree Timeline is. For example, versioning of nodes in the database requires an index per node (except for the version nodes of course), also when using a quad-store with an index on recent-entries per context, a timeline index per context is necessary. These type of scenarios can potentially create millions of indices, which can easily be stored in Neo4J, but are impossible! to store in the Lucene index component. So my issue is not so much how to use the graph-based B-tree Timeline index in version 1.3, but having similar functionality in future releases. BTW... love the work you have done on the Lucene component, which is much more flexible and usable than previous incarnations. Kind regards,Niels Hoogeveen > Date: Tue, 12 Apr 2011 22:37:42 +0200 > From: matt...@neotechnology.com > To: user@lists.neo4j.org > Subject: Re: [Neo4j] Timeline index > > Hi Niels, > > I think you're right about the lucene-based timeline not being right > for millions of indices, not possible even! The old index component > isn't a part of the official release, but is supported and available > as neo4j-legacy-index from neo4j maven repository, > http://m2.neo4j.org/org/neo4j/neo4j-legacy-index/ and will have a > version synchronized with the org.neo4j:neo4j artifact. Source is > here: https://github.com/neo4j/legacy-index > > 2011/4/12 Niels Hoogeveen : > > > > I appreciate the new indexing framework available, and noticed the addition > > of a Timeline based on Lucene. I was wondering if this is seen as a > > replacement of the original graph-based B-tree Timeline. > > If that is the case, I will have serious problems with the software I am > > developing, and which uses the B-tree based Timeline in several places > > where Lucene Timeline wouldn't work. > > I have many (potentially millions) timeline indexes in my application to > > maintain sort orders. Almost every node in the graph is actually the root > > of one or more Timeline indexes. This works well when the index is graph > > based, but I fear it wouldn't work when using Lucene. I don't think > > maintaining millions of indexes is something Lucene is particularly suited > > for. > > I didn't see neo4j-index being part of the 1.3-M5 release, so I'd like to > > check-up to see if this component remains to be supported. > > Kind regards,Niels Hoogeveen > > > > ___ > > Neo4j mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > -- > Mattias Persson, [matt...@neotechnology.com] > Hacker, Neo Technology > www.neotechnology.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] Timeline index
Hi Niels, I think you're right about the lucene-based timeline not being right for millions of indices, not possible even! The old index component isn't a part of the official release, but is supported and available as neo4j-legacy-index from neo4j maven repository, http://m2.neo4j.org/org/neo4j/neo4j-legacy-index/ and will have a version synchronized with the org.neo4j:neo4j artifact. Source is here: https://github.com/neo4j/legacy-index 2011/4/12 Niels Hoogeveen : > > I appreciate the new indexing framework available, and noticed the addition > of a Timeline based on Lucene. I was wondering if this is seen as a > replacement of the original graph-based B-tree Timeline. > If that is the case, I will have serious problems with the software I am > developing, and which uses the B-tree based Timeline in several places where > Lucene Timeline wouldn't work. > I have many (potentially millions) timeline indexes in my application to > maintain sort orders. Almost every node in the graph is actually the root of > one or more Timeline indexes. This works well when the index is graph based, > but I fear it wouldn't work when using Lucene. I don't think maintaining > millions of indexes is something Lucene is particularly suited for. > I didn't see neo4j-index being part of the 1.3-M5 release, so I'd like to > check-up to see if this component remains to be supported. > Kind regards,Niels Hoogeveen > > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo Server slow on frequent requests
Hi Dario, Looking at that picture it is indeed clear that a number of threads are waiting for something. What is not shown is the more important information about *what* they are waiting for. I would love to get information like that in order to investigate the cause of the performance problem you are seeing. If you could send a thread dump instead of a screenshot that would be a lot more useful, since that would contain information about contention that I could actually analyze. The easiest way to get a thread dump is by sending the SIGQUIT signal (kill -3) to the JVM process running Neo4j. Cheers, Tobias On Tue, Apr 12, 2011 at 6:35 PM, Dario Rexin wrote: > Hi all, > > Due to huge performance issues with some of our neo queries I profiled my > calls on the neo server. The profiling shows, that up to 85% of the time the > threads are waiting for other threads. I don’t understand what’s going on > there. Hopefully someone with a deeper knowledge can help me. Am I doing > something wrong, or is it normal, that most of the time the threads are > blocking each other? Her is a screenshot, showing the results of my > profiling: http://i.imgur.com/eIfam.jpg > > > Thanks in advice, > > Dario > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Tobias Ivarsson Hacker, Neo Technology www.neotechnology.com Cellphone: +46 706 534857 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Finding orphaned nodes...
Maybe slow, but easy and and working: for (Node n : graphDb.getAllNodes()) { if (!n.hasRelationship()) { n.delete(); } } On 12.04.2011 20:19, Rick Bullotta wrote: > Is there any recommended technique for scanning a Neo database for orphaned > nodes (e.g. nodes with no relationships)? > ___ > 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] Finding orphaned nodes...
Is there any recommended technique for scanning a Neo database for orphaned nodes (e.g. nodes with no relationships)? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Timeline index
I appreciate the new indexing framework available, and noticed the addition of a Timeline based on Lucene. I was wondering if this is seen as a replacement of the original graph-based B-tree Timeline. If that is the case, I will have serious problems with the software I am developing, and which uses the B-tree based Timeline in several places where Lucene Timeline wouldn't work. I have many (potentially millions) timeline indexes in my application to maintain sort orders. Almost every node in the graph is actually the root of one or more Timeline indexes. This works well when the index is graph based, but I fear it wouldn't work when using Lucene. I don't think maintaining millions of indexes is something Lucene is particularly suited for. I didn't see neo4j-index being part of the 1.3-M5 release, so I'd like to check-up to see if this component remains to be supported. Kind regards,Niels Hoogeveen ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo Server slow on frequent requests
Hi, Dario. I suspect we might be seeing some of the same issues, in an environment where we are simultaneously writing a steady stream of data into neo while also attempting to query it back out. The very nature of our graph design requires that there be a few "mother nodes" for various collections of entities, and I have a strong suspicion that these are the source of the synchronization issues. Do you have anything similar in your graph design? A handful of "hot spot" nodes that see a lot of other nodes/relationships being attached/detached frequently? Rick -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Dario Rexin Sent: Tuesday, April 12, 2011 12:36 PM To: Neo4j user discussions Subject: [Neo4j] Neo Server slow on frequent requests Hi all, Due to huge performance issues with some of our neo queries I profiled my calls on the neo server. The profiling shows, that up to 85% of the time the threads are waiting for other threads. I don't understand what's going on there. Hopefully someone with a deeper knowledge can help me. Am I doing something wrong, or is it normal, that most of the time the threads are blocking each other? Her is a screenshot, showing the results of my profiling: http://i.imgur.com/eIfam.jpg Thanks in advice, Dario ___ 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] Neo Server slow on frequent requests
Hi all, Due to huge performance issues with some of our neo queries I profiled my calls on the neo server. The profiling shows, that up to 85% of the time the threads are waiting for other threads. I don’t understand what’s going on there. Hopefully someone with a deeper knowledge can help me. Am I doing something wrong, or is it normal, that most of the time the threads are blocking each other? Her is a screenshot, showing the results of my profiling: http://i.imgur.com/eIfam.jpg Thanks in advice, Dario ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4J Server on Windows 64-bit
Kevin, we are right now working on QA on the release. Hope to get everything through all the tests today and release ASAP after that. So, this week. Can send you a link to the build file offlist. 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, Apr 12, 2011 at 2:52 PM, Kevin Dieter wrote: > Peter, > > That sounds great. I'm happy to test it out. Send it over and I'll let you > know how it goes. > > What's the target date for 1.3 release? > > Kevin > > On Tue, Apr 12, 2011 at 1:24 AM, Peter Neubauer < > peter.neuba...@neotechnology.com> wrote: > >> Kevin, >> in the upcoming 1.3 Neo4j release, we changed the Tanuki wrapper to >> http://yajsw.sourceforge.net/, which means there are no licensing >> issues. I would love for you to test it on Windows 64 - bit once it is >> out (or even before) and report back on how it works. Let me know, can >> send you a packaging ASAP. >> >> 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, Apr 12, 2011 at 4:29 AM, Kevin Dieter >> wrote: >> > Hi, >> > >> > I have limited Java knowledge, so hopefully this question makes sense. >> > >> > I am deploying Neo4J on a Windows 64-bit server. I have successfully >> > deployed it by downloading a trial license for the Windows 64-bit version >> of >> > the Tanuki Wrapper. Everything is set up and working fine. >> > >> > My question is since I only have a trial license of the wrapper (good for >> 30 >> > days), will the neo4J server continue to run after the wrapper license >> > expires? >> > What if I need to stop and restart and/or upgrade neo4J after the 30 >> days? >> > Will I need a new trial license? >> > Or, should I just purchase a wrapper license and not have to worry about >> it? >> > >> > Thanks, >> > >> > Kevin >> > ___ >> > Neo4j mailing list >> > User@lists.neo4j.org >> > https://lists.neo4j.org/mailman/listinfo/user >> > >> > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4J Server on Windows 64-bit
Peter, That sounds great. I'm happy to test it out. Send it over and I'll let you know how it goes. What's the target date for 1.3 release? Kevin On Tue, Apr 12, 2011 at 1:24 AM, Peter Neubauer < peter.neuba...@neotechnology.com> wrote: > Kevin, > in the upcoming 1.3 Neo4j release, we changed the Tanuki wrapper to > http://yajsw.sourceforge.net/, which means there are no licensing > issues. I would love for you to test it on Windows 64 - bit once it is > out (or even before) and report back on how it works. Let me know, can > send you a packaging ASAP. > > 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, Apr 12, 2011 at 4:29 AM, Kevin Dieter > wrote: > > Hi, > > > > I have limited Java knowledge, so hopefully this question makes sense. > > > > I am deploying Neo4J on a Windows 64-bit server. I have successfully > > deployed it by downloading a trial license for the Windows 64-bit version > of > > the Tanuki Wrapper. Everything is set up and working fine. > > > > My question is since I only have a trial license of the wrapper (good for > 30 > > days), will the neo4J server continue to run after the wrapper license > > expires? > > What if I need to stop and restart and/or upgrade neo4J after the 30 > days? > > Will I need a new trial license? > > Or, should I just purchase a wrapper license and not have to worry about > it? > > > > Thanks, > > > > Kevin > > ___ > > 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] Beginnings of a Gremlin scripting plugin
Hi folks, Marko and me spent some time today improving on the Gremlin scripting plugin. Now you can at least return first results as collections of nodes and relationships nicely formatted into the Neo4j REST syntax, see https://github.com/peterneubauer/gremlin-translation-plugin . As we move forward, feel free to try it out and come with suggestions! Also, feel free to fork and improve - and add issues to it. Thanks Marko for the hacking session! Happy hacking, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How to get both nodes and relationship in one traverse?
Brendan, I think you are talking about the REST API ? I added an option some time ago (but - my fault, messed up updating the docs) - will fix that after our release. You can also specify a fullPath suffix to the url that provides you with full blown node an relationships in a path not just their URIs. Cheers Michael Am 12.04.2011 um 03:37 schrieb Brendan: > Hi, > > I had setup one traversal description but it seems to me that each time of > traverse can only get one of three outcome, nodes, relationships, or paths. > How to get more than one result traverse? Now, I sent two requests to get > both nodes and relationships. But there is a chance that between the > requests there are some changes in the database. > > Regards, > > Brendan > > Sent from my iPad > ___ > 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] How to get both nodes and relationship in one traverse?
Or traverse paths and get exactly what you want from that. nodes() is a wrapper around the paths iterator which returns Path#endNode() relationships() is a wrapper around the paths iterator which returns Path#lastRelationship() 2011/4/12 Matěj Plch : > You can traverse only relatioships and call getStartNode() getEndNode()... > > Dne 12.4.2011 03:37, Brendan napsal(a): >> Hi, >> >> I had setup one traversal description but it seems to me that each time of >> traverse can only get one of three outcome, nodes, relationships, or paths. >> How to get more than one result traverse? Now, I sent two requests to get >> both nodes and relationships. But there is a chance that between the >> requests there are some changes in the database. >> >> Regards, >> >> Brendan >> >> Sent from my iPad >> ___ >> 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 > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] about remove node
2011/4/12 Jose Angel Inda Herrera : > thanks michaels for your answer, > Mattias i have a query, if I do EmbeddedGraphDbImpl G1 = G2;, means that if I > delete information of the graph G1 is also deleted in G2, and if this is the > best way to create a temporary graph So, I think we're down on a java language level here... assigning a variable with another value won't make a copy or clone or anything like that. G1 == G2 and doing something with G1 is doing just that with G2, because they will reference the very same object (the one EmbeddedGraphDatabase you have instantiated). > - Mensaje original - > De: "Mattias Persson" > Para: "Neo4j user discussions" > Enviados: Lunes, 11 de Abril 2011 17:50:02 (GMT-0500) Auto-Detected > Asunto: Re: [Neo4j] about remove node > > Your question is very generic. The quality/correctness of answers you > will get correlates to the amount of information/context you can > supply. Michaels answer is very generic too, although maybe the > correct one for your use case :) > > 2011/4/11 Jose Angel Inda Herrera : >> hello list, >> i need to know how to remove one node specific in my graph >> thanks >> ___ >> Neo4j mailing list >> User@lists.neo4j.org >> https://lists.neo4j.org/mailman/listinfo/user >> > > > > -- > Mattias Persson, [matt...@neotechnology.com] > Hacker, Neo Technology > www.neotechnology.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 > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user