Re: [Neo4j] Fwd: Lucene Custom Sort in Neo4j
As a parameter to the index GET perhaps? GET .../index/node/myindex?query=name:*sort=GivenNameorder=desc 2011/11/22 Peter Neubauer peter.neuba...@neotechnology.com I agree. Sending arbitrary Groovy is not what you want a database to execute. Do you see any good index - neutral way to expose this? It's even very relevant to Cypher... /peter Sent from my phone, please excuse typos and autocorrection. On Nov 22, 2011 4:46 AM, Tatham Oddie tat...@oddie.com.au wrote: -- Tatham Oddie Tiny keyboard = tiny message Begin forwarded message: From: Tatham Oddie tatham.od...@readify.onmicrosoft.commailto: tatham.od...@readify.onmicrosoft.com Date: 22 November 2011 14:43:00 AEDT To: tat...@oddie.com.aumailto:tat...@oddie.com.au tat...@oddie.com.au mailto:tat...@oddie.com.au Subject: FW: Lucene Custom Sort in Neo4j From: Tatham Oddie [mailto:tatham.od...@readify.onmicrosoft.com] Sent: Tuesday, 22 November 2011 2:42 PM To: Romiko Derbynew; user@lists.neo4j.orgmailto:user@lists.neo4j.org Cc: mystory-develop...@barnardos.org.aumailto: mystory-develop...@barnardos.org.au; Tatham Oddie Subject: RE: Lucene Custom Sort in Neo4j http://docs.neo4j.org/chunked/snapshot/gremlin-plugin.html#rest-api-send-an-arbitrary-groovy-script---lucene-sorting Send something like this via /ext/GremlinPlugin/graphdb/execute_script: import org.neo4j.graphdb.index.* import org.neo4j.index.lucene.* import org.apache.lucene.search.* neo4j = g.getRawGraph() idxManager = neo4j.index() clientIndex = idxManager.forNodes('agency123-clients') query = new QueryContext( 'FamilyName:Smith' ).sort( new Sort(new SortField( 'GivenName',SortField.STRING, true ) ) ) results = clientIndex.query( query ) Pros: · It’ll work Cons: · You’d might as well stop calling it the “REST” API · It’s fragile to changes in either the “REST” API or the Java API – twice the chance of getting bitten · It requires us to string concatenate snippets of Java code together within our C# If you go down this route, please bury it very very deep in Neo4jClient and expose a nicer API signature on top. :) -- Tatham From: Romiko Derbynew [mailto:romiko.derby...@readify.onmicrosoft.com ]mailto:[mailto:romiko.derby...@readify.onmicrosoft.com] Sent: Tuesday, 22 November 2011 2:36 PM To: user@lists.neo4j.orgmailto:user@lists.neo4j.org Cc: mystory-develop...@barnardos.org.aumailto: mystory-develop...@barnardos.org.au; Tatham Oddie Subject: Lucene Custom Sort in Neo4j Hi Guys, What is the easiest way for me to build a custom full text sort for lucene in Neo4j, the thing is, we use the REST API to query the index, and I would like to apply a custom sort e.g. I want to change sorting to: Sort by Relevance (Booster) then by IndexKey1 then by indexKey2. Currently, we have the default sort via the query parser api, but it is not powerful enough( http://lucene.apache.org/java/3_1_0/queryparsersyntax.html). Any ideas, how we could do this, and still leverage the REST API for index queries? Cheers ___ 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] some questions
Hey Andrew, like Peter hints at, webadmin itself does not currently support that kind of customization as a proper feature. Howerver, again like Peter points out, it is all on Github, and you are free to create your own personalized version of it :) Just keep in mind that you will have to keep your fork or branch up to date with later neo4j versions manually, and create your own releases. Cheers! /jake On Mon, Nov 21, 2011 at 8:00 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Let us know if it works out for you. /peter Sent from my phone, please excuse typos and autocorrection. On Nov 21, 2011 7:58 PM, andrew ton andrewt...@yahoo.com wrote: Thanks Peter Cheers, From: Peter Neubauer peter.neuba...@neotechnology.com To: Neo4j user discussions user@lists.neo4j.org Sent: Monday, November 21, 2011 4:41 AM Subject: Re: [Neo4j] some questions Andrew, I think you could set up the Webadmin over your embedded project like http://docs.neo4j.org/chunked/snapshot/server-embedded.html maybe as part of a unit test, and then start modifying the layout using the coffeescript and template infrastructure under https://github.com/neo4j/community/tree/master/server/src/main/resources/webadmin-html and https://github.com/neo4j/community/tree/master/server/src/main/coffeescript Look at https://github.com/neo4j/community/tree/master/server README for how to run the coffeescript compilation. I guess Jake might have more pointers. 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 - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Fri, Oct 28, 2011 at 5:30 PM, andrew ton andrewt...@yahoo.com wrote: Hi Peter, I think I go to the direction of implementing a REST endpoint in Java. How about my first question about customizing the Admin page? Thanks, Andrew From: Peter Neubauer peter.neuba...@neotechnology.com To: Neo4j user discussions user@lists.neo4j.org Sent: Friday, October 28, 2011 8:05 AM Subject: Re: [Neo4j] some questions Andrew, that sounds like a traversal you need to do to find exactly the nodes you need and remove them. As Marko mentioned - either script it in Gremlin/Groovy, or implement a REST endpoint in Java, giving you full static powaah: http://docs.neo4j.org/chunked/snapshot/server-plugins.html Does that work? 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 - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Fri, Oct 28, 2011 at 3:02 PM, andrew ton andrewt...@yahoo.com wrote: Yes, that's what I have been doing :) However what if I have 2 graphs under a root node and I just want to remove 1 graph and leave the other alone. Any suggestions? Thanks, From: Linan Wang tali.w...@gmail.com To: Neo4j user discussions user@lists.neo4j.org Sent: Friday, October 28, 2011 7:59 AM Subject: Re: [Neo4j] some questions to clear the full db, stop the server and delete the files in data folder :) On Fri, Oct 28, 2011 at 3:57 PM, Marko Rodriguez okramma...@gmail.com wrote: Hi, 2. Assume I have a big graph in the REST server, what is the best way to remove the whole graph? Of course deleting each node and its relationships and its index is not convenient. Via Gremlin Plugin, you can call g.clear(). HTH, Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user -- Best wishes, Linan Wang Architect, Programmer, PhD ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org
Re: [Neo4j] OSMImporter: Is there a way to do incremental imports?
Gregory, incremental loads (and thus, restarts of OSM imports) are a feature we want to add later on, but it's not in there yet. This would also mean we could stitch in other areas on demand, and support submitting changesets back to OSM or at least capture them, so you as an OSM based app can contribute to OSM automagically. I know it's much to ask, but help here would be greatly appreciated. I hope to lab with Michael Hunger on import of data into OSM (and others) this Friday and hope to get somewhere :) 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 7:15 AM, grimace macegh...@gmail.com wrote: I've been playing with OSMImporter; tried batch and native java. I've had mixed success trying to import the planet, but since it's of considerable size, the job usually blows up or grinds to a halt about half way. I think the most I've made it to is 651M nodes and that's not even the ways or relations. I just don't know enough about it and thought I would ask before I try to dive in to it, but what would I have to do to so that I could restart the job ( where it left off ) when it blows? -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/OSMImporter-Is-there-a-way-to-do-incremental-imports-tp3526941p3526941.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] Fwd: Lucene Custom Sort in Neo4j
Maybe, but that means that every index needs to have the notion of sorting and ordering? 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 9:13 AM, Mattias Persson matt...@neotechnology.com wrote: As a parameter to the index GET perhaps? GET .../index/node/myindex?query=name:*sort=GivenNameorder=desc 2011/11/22 Peter Neubauer peter.neuba...@neotechnology.com I agree. Sending arbitrary Groovy is not what you want a database to execute. Do you see any good index - neutral way to expose this? It's even very relevant to Cypher... /peter Sent from my phone, please excuse typos and autocorrection. On Nov 22, 2011 4:46 AM, Tatham Oddie tat...@oddie.com.au wrote: -- Tatham Oddie Tiny keyboard = tiny message Begin forwarded message: From: Tatham Oddie tatham.od...@readify.onmicrosoft.commailto: tatham.od...@readify.onmicrosoft.com Date: 22 November 2011 14:43:00 AEDT To: tat...@oddie.com.aumailto:tat...@oddie.com.au tat...@oddie.com.au mailto:tat...@oddie.com.au Subject: FW: Lucene Custom Sort in Neo4j From: Tatham Oddie [mailto:tatham.od...@readify.onmicrosoft.com] Sent: Tuesday, 22 November 2011 2:42 PM To: Romiko Derbynew; user@lists.neo4j.orgmailto:user@lists.neo4j.org Cc: mystory-develop...@barnardos.org.aumailto: mystory-develop...@barnardos.org.au; Tatham Oddie Subject: RE: Lucene Custom Sort in Neo4j http://docs.neo4j.org/chunked/snapshot/gremlin-plugin.html#rest-api-send-an-arbitrary-groovy-script---lucene-sorting Send something like this via /ext/GremlinPlugin/graphdb/execute_script: import org.neo4j.graphdb.index.* import org.neo4j.index.lucene.* import org.apache.lucene.search.* neo4j = g.getRawGraph() idxManager = neo4j.index() clientIndex = idxManager.forNodes('agency123-clients') query = new QueryContext( 'FamilyName:Smith' ).sort( new Sort(new SortField( 'GivenName',SortField.STRING, true ) ) ) results = clientIndex.query( query ) Pros: · It’ll work Cons: · You’d might as well stop calling it the “REST” API · It’s fragile to changes in either the “REST” API or the Java API – twice the chance of getting bitten · It requires us to string concatenate snippets of Java code together within our C# If you go down this route, please bury it very very deep in Neo4jClient and expose a nicer API signature on top. :) -- Tatham From: Romiko Derbynew [mailto:romiko.derby...@readify.onmicrosoft.com ]mailto:[mailto:romiko.derby...@readify.onmicrosoft.com] Sent: Tuesday, 22 November 2011 2:36 PM To: user@lists.neo4j.orgmailto:user@lists.neo4j.org Cc: mystory-develop...@barnardos.org.aumailto: mystory-develop...@barnardos.org.au; Tatham Oddie Subject: Lucene Custom Sort in Neo4j Hi Guys, What is the easiest way for me to build a custom full text sort for lucene in Neo4j, the thing is, we use the REST API to query the index, and I would like to apply a custom sort e.g. I want to change sorting to: Sort by Relevance (Booster) then by IndexKey1 then by indexKey2. Currently, we have the default sort via the query parser api, but it is not powerful enough( http://lucene.apache.org/java/3_1_0/queryparsersyntax.html). Any ideas, how we could do this, and still leverage the REST API for index queries? Cheers ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] the social graph is neither (blog post)
what do you think of this post ? http://blog.pinboard.in/2011/11/the_social_graph_is_neither/ -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/the-social-graph-is-neither-blog-post-tp3527242p3527242.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] Fwd: Lucene Custom Sort in Neo4j
On Tue, Nov 22, 2011 at 10:20 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Maybe, but that means that every index needs to have the notion of sorting and ordering? I would be nice if we can introspect and see if the indexes available support ordering. Andrés ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j Spatial build / run problems
Daniel, true, we should upgrade this to 1.5. Michael, can we do it? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 12:26 AM, danielb danielbercht...@gmail.com wrote: Tried Eclipse Java Edition and it seems that everything is working as it should. I could at least start an OSMImport to an embedded database and nodes were copied. I will have a detailed look tomorrow. I still have a few problems with the Neo4j server itself. When I try to batchinsert I get the message that the database was not shutdown in a clean way. I start / stop the server as a service, can I somehow correct this state? How can I delete all the nodes of the database in an easy way? I tried https://github.com/jexp/neo4j-clean-remote-db-addon, but the jar is for version 1.4 and when I execute the rest call no nodes are deleted from the database. Thanks in advance, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3526379.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] the social graph is neither (blog post)
On Tue, Nov 22, 2011 at 10:46 AM, serge s.fedoro...@gmail.com wrote: what do you think of this post ? http://blog.pinboard.in/2011/11/the_social_graph_is_neither/ His first point, that modeling the social graph accurately is impossible is of course true. It is impossible to model reality exactly like it is, because we are already using all the matter in the universe to model reality in the first place. And the social act aspect of declaring a relationship to someone is very true as well. I think he is correct in saying that the we're gonna accurately model all social relationships on the planet plan is bound to fail. Relationships on facebook and twitter and so on don't actually *model* social relationships, but rather *are* social relationships. We as users define the meaning of them, we say things like don't know him really, but I think I'm Facebook friends with him. Facebook friend is not the same thing as being friends, it is a social relationship of its own, which we have collectively defined. The social graph does not accurately model the intricacies of our social life, in fact, it increases the complexity of it. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/the-social-graph-is-neither-blog-post-tp3527242p3527242.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 -- Jacob Hansson Phone: +46 (0) 763503395 Twitter: @jakewins ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] OSMImporter: Is there a way to do incremental imports?
I did some initial work on incremental imports back in 2010, but stopped due to some complications: - We needed to mix lucene reads and writes during the import (read to check if the node already exists, so we don't import twice) and this performs very badly in the batch inserter. We decided to first code a non-batch insert mode before re-starting the incremental import work. Now Peter and I did code a non-batch importer in early 2011, but never went back to complete the incremental import. - We wanted to support both the case of importing multiple OSM files that could be stitched together by resolving overlaps, as well as the case of applying changesets to the existing OSM model. This increased the complexity of the work just enough to ensure it got dropped. In early 2011 we also added support to changesets in the model (but only as a data structure, not in terms of importing changesets). So we are one step closer to this also. Since we now have non-batch importing, and changeset data structures, the opportunity to re-start the incremental import and importing changesets is there. It should not be too hard. For incremental imports, stitching osm files together, we re-activate the old code that tests the lucene index before adding nodes and relations. There might be some subtle edge cases to consider, but a set of tests with overlapping and non-overlapping osm files should flush them out. For applying changesets, more thinking is still required. Do we want to support history in the model, or only the latest version? Should we verify that only newer changesets are applied and in the right order, or rely on the user to get it right? I can say that we did some thinking this summer on the data structures required to support a complete change history. This relies on the fact that we already support multiple possible ways on the same nodes, so we can also, in principle, support multiple possible 'versions' of ways on the same nodes. More thinking is required, but I have a suspicion that we should actually go ahead and do this properly will full history, because that might be the only way to make sure the user never messes things up by importing in the wrong order. On Tue, Nov 22, 2011 at 9:58 AM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Gregory, incremental loads (and thus, restarts of OSM imports) are a feature we want to add later on, but it's not in there yet. This would also mean we could stitch in other areas on demand, and support submitting changesets back to OSM or at least capture them, so you as an OSM based app can contribute to OSM automagically. I know it's much to ask, but help here would be greatly appreciated. I hope to lab with Michael Hunger on import of data into OSM (and others) this Friday and hope to get somewhere :) 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 - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 7:15 AM, grimace macegh...@gmail.com wrote: I've been playing with OSMImporter; tried batch and native java. I've had mixed success trying to import the planet, but since it's of considerable size, the job usually blows up or grinds to a halt about half way. I think the most I've made it to is 651M nodes and that's not even the ways or relations. I just don't know enough about it and thought I would ask before I try to dive in to it, but what would I have to do to so that I could restart the job ( where it left off ) when it blows? -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/OSMImporter-Is-there-a-way-to-do-incremental-imports-tp3526941p3526941.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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] REST api get list of all relationship properties (unique)
Jure, for this, I think there is no explicit support in Neo4j. I guess you will have to iterate and build up an in-memory list of the unique RelTypes as you go. Anyone having a better idea? 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Mon, Nov 21, 2011 at 7:39 PM, Jure Zakotnik j...@gmx.de wrote: Hi, it's the question, how to get the unique set of relationship properties in the graph, without querying/traversing all of the properties. Since I can only index nodes/relationships, the index API does not seem to be an option. Example: 1M relationships, each of them having one of 10 properties (..but I don't know the 10 properties in advance). I'm happy if there's a simple query or solution that I just haven't found yet :-) Regards, Jure -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/REST-api-get-list-of-all-relationship-properties-unique-tp3458852p3525603.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] Batch uploading to REST server
Hi there, On Tue, Nov 15, 2011 at 6:50 PM, vistorve ayuskaus...@compete.com wrote: I setup visualvm with a jmx connection to the server running neo4j I wasn't able to CPU profiling working, it had an error message saying getThreadCpuTime was expecting long but got something else. I do have thread and heap dumps though if those would be useful. Would like to see the error here, might be a bug? When I was running the batch upload I saw that the CPU usage never went over one core ~15% total cpu usage. Also I noticed that when I did a batch job of 1.5k nodes, 3k relationships the network usage would spike and be consistent and then fall for the upload and then spike and fall again for the read back from the server. However when I did 15k nodes and 30k relationships the network would spike, fall and then have short regular spike of only a couple KB/s. Is there some internal paging going on with the REST server, why doesn't it transfer the file all at once and then process it? I think there might be something happening internally, maybe a GC, before continuing to read the input stream from the socket. However, can't see that in the code, it's probably best to get a testcase from you on this? The 1.5k job took about 25 seconds, the 15k job took 1220 seconds. Below is the configuration I have for the server, the machine itself has 32GB of ram and 8 64bit cores: -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseNUMA -Xss1024m -Xms2048m -Xmx4056m Neo4j properties: neostore.nodestore.db.mapped_memory=300M neostore.relationshipstore.db.mapped_memory=600M neostore.propertystore.db.mapped_memory=600M neostore.propertystore.db.strings.mapped_memory=1024M neostore.propertystore.db.arrays.mapped_memory=1024M cache_type=strong use_memory_mapped_buffers=false -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Batch-uploading-to-REST-server-tp340p3510431.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] Batch uploading to REST server
I think the main overhead comes from parsing the JSON (it's not streamed parsing imho). That's why I suggest you try to split your big file into smaller ones (e.g. your 1.5k ones or half the size). And then execute multiple requests in parallel to the neo4j server to import the data. With your 8cores you should be able to run at least 16 parallel requests (probably even 32). Otherwise I agree with Peter and would love to see your file (you can also send it off-list to either of us). Cheers Michael Am 22.11.2011 um 14:19 schrieb Peter Neubauer: Hi there, On Tue, Nov 15, 2011 at 6:50 PM, vistorve ayuskaus...@compete.com wrote: I setup visualvm with a jmx connection to the server running neo4j I wasn't able to CPU profiling working, it had an error message saying getThreadCpuTime was expecting long but got something else. I do have thread and heap dumps though if those would be useful. Would like to see the error here, might be a bug? When I was running the batch upload I saw that the CPU usage never went over one core ~15% total cpu usage. Also I noticed that when I did a batch job of 1.5k nodes, 3k relationships the network usage would spike and be consistent and then fall for the upload and then spike and fall again for the read back from the server. However when I did 15k nodes and 30k relationships the network would spike, fall and then have short regular spike of only a couple KB/s. Is there some internal paging going on with the REST server, why doesn't it transfer the file all at once and then process it? I think there might be something happening internally, maybe a GC, before continuing to read the input stream from the socket. However, can't see that in the code, it's probably best to get a testcase from you on this? The 1.5k job took about 25 seconds, the 15k job took 1220 seconds. Below is the configuration I have for the server, the machine itself has 32GB of ram and 8 64bit cores: -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseNUMA -Xss1024m -Xms2048m -Xmx4056m Neo4j properties: neostore.nodestore.db.mapped_memory=300M neostore.relationshipstore.db.mapped_memory=600M neostore.propertystore.db.mapped_memory=600M neostore.propertystore.db.strings.mapped_memory=1024M neostore.propertystore.db.arrays.mapped_memory=1024M cache_type=strong use_memory_mapped_buffers=false -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Batch-uploading-to-REST-server-tp340p3510431.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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j Spatial build / run problems
Hi together, That would be cool. Atm I am deleting the data folder, that works too for my testing purpose. I have played around with cypher and encounter some problems. I have OSM nodes in the database and I 'guess' they have a spatial index on the geometry (lat, lon). The view on the server administration page also shows Rtree indices. The indexmanager only shows me some sort of lucene indices (can I get a more detailed overview of the used indices by query?). I tried the 'node' index with the following command: cypher start n=node:node('bbox:[10.0061535, 10.0061535, 48.4125871, 48.4125871]') cypher match (n) -[r] - (x) cypher return n cypher == Error: RuntimeException - org.apache.lucene.queryParser.ParseException: Cannot parse 'bbox:[10.0061535, 10.0061535, 48.4125871, 48.4125871]': Encountered RANGEIN_GOOP 48.4125871, at line 1, column 30. == Was expecting: == ] ... == I was expecting to get the node with this coordinates. Can I query bbox for point geometry at all? I may have typos in the command, so please help me, these are my first steps with Neo4j :) After playing around with the server console I will go deeper into the java code. When I am executing the IndexProviderTest I get an error: http://dl.dropbox.com/u/18693700/IndexProviderTest.txt I appreciate your help again, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3527810.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 Spatial build / run problems
Daniel, you need to make sure to load the spatial index first witha custom config, otherwise lucene is the default index provider and will shadow the lazily created and loaded index. See https://github.com/neo4j/spatial/blob/master/features/start-and-stop.feature#L16 for the example. Start with a new db, I guess the current wrong Lucene index spatial is saved over sessions. Does that work better? /peter On Tue, Nov 22, 2011 at 3:16 PM, danielb danielbercht...@gmail.com wrote: Hi together, That would be cool. Atm I am deleting the data folder, that works too for my testing purpose. I have played around with cypher and encounter some problems. I have OSM nodes in the database and I 'guess' they have a spatial index on the geometry (lat, lon). The view on the server administration page also shows Rtree indices. The indexmanager only shows me some sort of lucene indices (can I get a more detailed overview of the used indices by query?). I tried the 'node' index with the following command: cypher start n=node:node('bbox:[10.0061535, 10.0061535, 48.4125871, 48.4125871]') cypher match (n) -[r] - (x) cypher return n cypher == Error: RuntimeException - org.apache.lucene.queryParser.ParseException: Cannot parse 'bbox:[10.0061535, 10.0061535, 48.4125871, 48.4125871]': Encountered RANGEIN_GOOP 48.4125871, at line 1, column 30. == Was expecting: == ] ... == I was expecting to get the node with this coordinates. Can I query bbox for point geometry at all? I may have typos in the command, so please help me, these are my first steps with Neo4j :) After playing around with the server console I will go deeper into the java code. When I am executing the IndexProviderTest I get an error: http://dl.dropbox.com/u/18693700/IndexProviderTest.txt I appreciate your help again, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3527810.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] Creating and managing external index
Avi, we are in the process to get out a nicer base framework for transactional index creation, and an index provider for redis. Meanwhile, if you want, you could look into the BerkelyDB index that I tried to cook together (no guarantees there), https://github.com/peterneubauer/bdb-index and see if that is something to contemplate? 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Mon, Nov 21, 2011 at 2:40 AM, Avi Shai unicornrainbowche...@gmail.com wrote: What is the best way to create an external index but only for certain nodes? Really I want something like the in-graph data structures, but instead it will be stored in another database(s). I am in essence indexing only a sub-graph or a straight list of nodes. I then want to use these indexes as entry points in some cases rather than traversing. I understand that there is already Lucene, but I have data that is better suited to other indexes. I still want to use Lucene for full-text, just not for anything else. I am currently taking a stab at implementing the blueprint index interfaces (manual, automatic), but for another purpose. If I am always updating these indexes, but only for certain vertex types, what is the best integration point? In my data service classes/lower level neo4j stuff, or in a server event handler to plug-in the transaction? What about for all vertices? I guess I understand how to write the index classes but not about the best way of consuming them, and not if they apply well for lots of partial, smaller indexes. For instance, I want to store data as temporal values, with the most recent data first for a group of nodes. I'm not doing Twitter or a blog, but either is a good enough analogy. If I post something with a given tag, I want to index all the nodes that have been tagged by that tag (tag edge) in temporal order for example to create a recently tagged feed or a recently seen users feed that contains the users that have recently tagged using that tag. I could store this data in Redis exactly how I want and have a hot set in memory that can then be used either directly in some pages in my app, or as an entry point into neo4j for more complex queries. These indexes probably require lots of writes and I wanted to also avoid locking related nodes on any updates. Currently part of the reason I'm doing this is I have lots of super nodes in my design. I've patched this some by keeping counts in node properties and adding proxy nodes as mini-partions to reduce the number of relationships. I've also looked at things like combining common nodes together as junctions, but there are too many permutations to scale probably. Anyway, if I use in-graph indexes, I have to update my indexes every insertion or update. I'm going to try out indexed relationships, and I think it will help, but with respect, I don't think it will scale well or fit my use cases, especially for indexes where data drops out because the size is fixed (like a fixed list). I feel that creating index structures in the graph is nice, but it will severely balloon the graph. Moreover, I want to save resources on the servers running neo for graph traversals and other graph activities and I would rather use other clustered servers to store huge amounts of index data in memory. One other idea is to use another neo4j instance as an index to itself, but I think the characteristics of what I am doing are better suited in some cases for Redis (temporal lists) or Mongo (hierarchical metrics) depending the use-case. Example: pulling down linear lists of time-data by page and sorting front to back or back to front. I know that's a lot, but I wanted to at least give some detail beyond what I've already read here in all the old posts I've dug through this week. Any feedback? Thanks. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Creating-and-managing-external-index-tp3523613p3523613.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] Creating and managing external index
Peter, A redis index provider sounds great. Blue Redis (Redis Blueprints) has some ideas in it, but I think they can be improved on and adapted to neo4j. Transactional indexes creation sounds like what I need. I have also thought about if I am doing something like tagging a resource, there are several points of interest involved including the event, the resource, the event source, and the user. I would want a temporal index updated for each of those perhaps, but I often think making the user wait on the index updates is not the behavior I want. Instead, my idea was to do the insert of the core data (tag event), and then fire something into an index update queue. Items could be taken often immediately most of the time, but it would avoid forcing the user to wait until all the indexes were updated after creating or updating a node. I suppose also what I could do is have some sort of retry system just in case updating the indexes for anything involved fails. The tough part is the temporal indexes and ensuring they are sorted right without actually scanning them much or at all. Other kinds of indexes such as b-tree inserts are a bit more friendly to this sort of system. My worry with inserting into an index in a normal transaction is not only wait, but constantly locking the same nodes if using any in-graph indexes on a hot spot. An example might be if I am constantly updating and indexing a discussion. I don't want replies to have to contend for the same index node. That said, most of the time it is probably a non-issue since the index writes happen so fast anyway. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Creating-and-managing-external-index-tp3523613p3527899.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 upcoming features importance poll
Uservoice seems great. If rapportive uses it, http://feedback.rapportive.com/forums/42557-general then it is good in my book. I think we should try it if we can integrate this with GIThub issues. Pablo, impressive feedback on http://www.doodle.com/wg8k77vwq6b654bv ! I think Mattias will be delighted that the supernode support is on top ;) 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Sat, Nov 19, 2011 at 9:29 PM, Peter Bell li...@pbell.com wrote: Uservoice might be a good fit. I used it for feature voting on as OSS project and it worked out pretty well... Sent from my iPhone On Nov 19, 2011, at 2:11 PM, Nigel Small ni...@nigelsmall.name wrote: Actually sounds like we may have finally found a use for Google Wave! :-P On 19 Nov 2011 13:09, Pablo Pareja ppar...@era7.com wrote: Yeah it'd be great having something more wiki-like that everyone could edit. I have no idea though about how could this be done Any ideas? Pablo On Sat, Nov 19, 2011 at 7:54 PM, Nigel Small ni...@nigelsmall.name wrote: How about something like Wufoo? http://www.wufoo.com/ http://www.wufoo.com/ *Nigel Small* Phone: +44 7814 638 246 Blog: http://nigelsmall.name/ GTalk: ni...@nigelsmall.name MSN: nasm...@live.co.uk Skype: technige Twitter: @technige https://twitter.com/#!/technige LinkedIn: http://uk.linkedin.com/in/nigelsmall On 19 November 2011 18:45, Peter Neubauer peter.neuba...@neotechnology.comwrote: I really like this. Is there any other transparent public method you poll, like a Google form that everyone can edit? On Nov 19, 2011 7:19 PM, Pablo Pareja ppar...@era7.com wrote: I just added a link for every possible upcoming feature and created an issue for those which didn't have one so far. Sorry for those who voted already but since the options changed, their vote was lost, could you please vote again? From now on every time we add a new feature to the poll we should create its respective issue before adding it. At least, whenever a new option is added, the votes for the rest of options are conserved, so we should be able update our votes just adding our vote (or not) to the new ones. Sorry for the inconvenience! Pablo On Sat, Nov 19, 2011 at 5:21 PM, Pablo Pareja ppar...@era7.com wrote: Ok, I just did that for the first one; the bad thing about this is that every time I edit one of the options, all the votes cast for it get lost and you have to edit your vote again... So maybe from now on I'd be better adding new features to the poll only once their respective issues has been risen in github. What do you think? Pablo On Sat, Nov 19, 2011 at 5:16 PM, Pablo Pareja ppar...@era7.com wrote: Yeah that'd be cool, if you give me the links I can put them as part of the options themselves (with bit.ly or something like that). Cheers, Pablo On Sat, Nov 19, 2011 at 1:30 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Guys, This is great! Could you raise issues for these and we mitigate missing voting on Github with this, linking back to github for discussion? On Nov 19, 2011 1:09 PM, Pablo Pareja ppar...@era7.com wrote: @Linan get_or_create feature added ;) @Mattias I mean being required to specify a node type at creation time, (as how things are right now with relationships) On Sat, Nov 19, 2011 at 1:01 PM, Mattias Persson matt...@neotechnology.comwrote: hat exactly does mandatory node types mean? 2011/11/19 Pablo Pareja ppar...@era7.com Hi all, I was thinking it'd be cool to create a sort of a poll in order to know which features (that are missing right now...) are the most important ones for the community. I just did a quick google search for free online poll creation platforms and found doodle site, (btw do you know a better site to do this?). The address for the poll is: http://www.doodle.com/wg8k77vwq6b654bv So far I just added three features that came to my mind while I was creating it, so please say which features you're missing and I'll add them so that we can all vote for them or not. What do you think about all this? Cheers, Pablo -- Pablo Pareja Tobes My site http://about.me/pablopareja LinkedIn http://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja Creator of Bio4j -- http://www.bio4j.com http://www.ohnosequences.com ___ 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
Re: [Neo4j] OSMImporter: Is there a way to do incremental imports?
thanks for the response(s)! The hardware I'm testing on is not the best and only 4G of ram so I'm limited, but this seems the best opportunity for me to learn this...that being said... For incremental imports, stitching osm files together, we re-activate the old code that tests the lucene index before adding nodes and relations. There might be some subtle edge cases to consider, but a set of tests with overlapping and non-overlapping osm files should flush them out. I'd love to play with this. Is the old code there for me to re-enable in testing? Or can you point me to where this might be put in? Thx, Greg -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/OSMImporter-Is-there-a-way-to-do-incremental-imports-tp3526941p3527995.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] Time Series Data with complex domain model
Hey Peter, thanks for the hint. I currently chose another way to store time series. I'll try to use versioned edges like so: node_a --- edge_a (t1) -- node_b If there is an update operation on node b at time t2, a copy of b will be created and referenced like so: node_a -- edge_a(t1) -- node_b node_a -- edge_a (t2) -- node b_new I will test this model with some benchmarks because there are obviously some drawbacks. Maybe you can tell me the best way to handle the edges via Spring Neo4J. Is there any possiblity to index the edges in Spring or define a sort order (maybe by timestamp)? I'd like to select the edge_a with latest timestamp at an instance of Node_A. Is something like ... @RelatedToVia SortedMaplong, Edge_A ... possible? Currently the implementation would look like this way: @NodeEntity class Node_A { @RelatedToVia CollectionEdge_A relations; // ... } @RelationshipEntity class Edge_A { @StartNode Node_A from; @EndNode Node_B to; long timestamp; // ... } @NodeEntity class Node_B { // no need for backward edges } Thanks for your help. Greetings, Martin Am 21.11.2011 14:19, schrieb Peter Neubauer: Martin, for storing times, you could try the timeline index in graph collections if things are not too long linked, see https://github.com/neo4j/graph-collections/blob/master/src/test/java/org/neo4j/collections/timeline/TestTimeline.java or some of the other indexes in that component. Would that help? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Tue, Nov 15, 2011 at 11:15 AM, s1ckmartin.jungha...@gmx.net wrote: Hey, I have a very complex domain model which can be perfectly mapped into the neo4j database. OR Mapping is much too complex for the model... The data itself is time series data from multiple sensors which needs to be stored and retrieved (at given timestamps or in given ranges). Are there any good explanations, articles or something else on how to handle this kind of data? The second question is: What's the best way to model a domain in neo4j? I currently use the aproach described in the http://docs.neo4j.org/chunked/milestone/tutorials-java-embedded-entities.html documentation and will also try out the spring graph. Best regards, Martin -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Time-Series-Data-with-complex-domain-model-tp3509252p3509252.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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j upcoming features importance poll
Thank you all for participating and give your votes to the options you feel are more important. For sure it'd be great to have another platform to do this that could be somehow integrated with GitHub, ( I just created the poll with doodle because it was the one I found after a quick google search which could fit the needs at some level...) @Peter yeah I think he'll be :D Cheers, Pablo On Tue, Nov 22, 2011 at 3:51 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Uservoice seems great. If rapportive uses it, http://feedback.rapportive.com/forums/42557-general then it is good in my book. I think we should try it if we can integrate this with GIThub issues. Pablo, impressive feedback on http://www.doodle.com/wg8k77vwq6b654bv ! I think Mattias will be delighted that the supernode support is on top ;) 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 - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Sat, Nov 19, 2011 at 9:29 PM, Peter Bell li...@pbell.com wrote: Uservoice might be a good fit. I used it for feature voting on as OSS project and it worked out pretty well... Sent from my iPhone On Nov 19, 2011, at 2:11 PM, Nigel Small ni...@nigelsmall.name wrote: Actually sounds like we may have finally found a use for Google Wave! :-P On 19 Nov 2011 13:09, Pablo Pareja ppar...@era7.com wrote: Yeah it'd be great having something more wiki-like that everyone could edit. I have no idea though about how could this be done Any ideas? Pablo On Sat, Nov 19, 2011 at 7:54 PM, Nigel Small ni...@nigelsmall.name wrote: How about something like Wufoo? http://www.wufoo.com/ http://www.wufoo.com/ *Nigel Small* Phone: +44 7814 638 246 Blog: http://nigelsmall.name/ GTalk: ni...@nigelsmall.name MSN: nasm...@live.co.uk Skype: technige Twitter: @technige https://twitter.com/#!/technige LinkedIn: http://uk.linkedin.com/in/nigelsmall On 19 November 2011 18:45, Peter Neubauer peter.neuba...@neotechnology.comwrote: I really like this. Is there any other transparent public method you poll, like a Google form that everyone can edit? On Nov 19, 2011 7:19 PM, Pablo Pareja ppar...@era7.com wrote: I just added a link for every possible upcoming feature and created an issue for those which didn't have one so far. Sorry for those who voted already but since the options changed, their vote was lost, could you please vote again? From now on every time we add a new feature to the poll we should create its respective issue before adding it. At least, whenever a new option is added, the votes for the rest of options are conserved, so we should be able update our votes just adding our vote (or not) to the new ones. Sorry for the inconvenience! Pablo On Sat, Nov 19, 2011 at 5:21 PM, Pablo Pareja ppar...@era7.com wrote: Ok, I just did that for the first one; the bad thing about this is that every time I edit one of the options, all the votes cast for it get lost and you have to edit your vote again... So maybe from now on I'd be better adding new features to the poll only once their respective issues has been risen in github. What do you think? Pablo On Sat, Nov 19, 2011 at 5:16 PM, Pablo Pareja ppar...@era7.com wrote: Yeah that'd be cool, if you give me the links I can put them as part of the options themselves (with bit.ly or something like that). Cheers, Pablo On Sat, Nov 19, 2011 at 1:30 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Guys, This is great! Could you raise issues for these and we mitigate missing voting on Github with this, linking back to github for discussion? On Nov 19, 2011 1:09 PM, Pablo Pareja ppar...@era7.com wrote: @Linan get_or_create feature added ;) @Mattias I mean being required to specify a node type at creation time, (as how things are right now with relationships) On Sat, Nov 19, 2011 at 1:01 PM, Mattias Persson matt...@neotechnology.comwrote: hat exactly does mandatory node types mean? 2011/11/19 Pablo Pareja ppar...@era7.com Hi all, I was thinking it'd be cool to create a sort of a poll in order to know which features (that are missing right now...) are the most important ones for the community. I just did a quick google search for free online poll creation platforms and found doodle site, (btw do you know a better site to do this?). The address for the poll is: http://www.doodle.com/wg8k77vwq6b654bv So far I just added three features that came to my mind while I was creating it, so please say which features you're missing and I'll add them so
Re: [Neo4j] Neo4j Spatial build / run problems
Hi Peter, How do I add the Spatial plugin? I only have Cypher and Gremlin as server extensions installed. I unzip Neo4j spatial into the plugins folder and then send the JSON via curl to the database. But he can't find any of the needed classes. Which files do I need from the spatial project and where are they copied to the server exactly? Regards, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3528052.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 Spatial build / run problems
Daniel, just updated the installation instruction in https://github.com/neo4j/spatial, look under Using the Neo4j Spatial Server plugin. Does that help? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 4:35 PM, danielb danielbercht...@gmail.com wrote: Hi Peter, How do I add the Spatial plugin? I only have Cypher and Gremlin as server extensions installed. I unzip Neo4j spatial into the plugins folder and then send the JSON via curl to the database. But he can't find any of the needed classes. Which files do I need from the spatial project and where are they copied to the server exactly? Regards, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3528052.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
[Neo4j] Cypher query question
Hi there, really beginner query, almost ashamed :) Is it possible to filter the results to skip the start node? For example, using the koans dataset, find the enemy of my enemy (should be my friends :) ) START n=node(1) MATCH (n)-[:ENEMY_OF]-(x)-[:ENEMY_OF]-(z) return distinct z I understand that The doctor node 1, should appear as it is indeed an enemy of one of his enemies, but is it possible to filter? Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cypher query question
Is it possible to filter the results to skip the start node? For example, using the koans dataset, find the enemy of my enemy (should be my friends :) ) START n=node(1) MATCH (n)-[:ENEMY_OF]-(x)-[:ENEMY_OF]-(z) return distinct z I understand that The doctor node 1, should appear as it is indeed an enemy of one of his enemies, but is it possible to filter? This may or may not be the best way to do this, but I have this sort of stuff in some of my queries for the same purpose: ... WHERE ID(n) != ID(z) ... -TPP ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cypher query question
That works nice :) Tks On Tue, Nov 22, 2011 at 4:21 PM, Tero Paananen tpp.paana...@gmail.comwrote: Is it possible to filter the results to skip the start node? For example, using the koans dataset, find the enemy of my enemy (should be my friends :) ) START n=node(1) MATCH (n)-[:ENEMY_OF]-(x)-[:ENEMY_OF]-(z) return distinct z I understand that The doctor node 1, should appear as it is indeed an enemy of one of his enemies, but is it possible to filter? This may or may not be the best way to do this, but I have this sort of stuff in some of my queries for the same purpose: ... WHERE ID(n) != ID(z) ... -TPP ___ 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 upcoming features importance poll
I noticed work on supernodes being committed to GitHub. Looking forward seeing this and in 1.6-SNAPSHOT. I would like to test this sooner rather than later. The node#getDegree methods are a great addition. Niels From: peter.neuba...@neotechnology.com Date: Tue, 22 Nov 2011 15:51:15 +0100 To: user@lists.neo4j.org Subject: Re: [Neo4j] Neo4j upcoming features importance poll Uservoice seems great. If rapportive uses it, http://feedback.rapportive.com/forums/42557-general then it is good in my book. I think we should try it if we can integrate this with GIThub issues. Pablo, impressive feedback on http://www.doodle.com/wg8k77vwq6b654bv ! I think Mattias will be delighted that the supernode support is on top ;) 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 - NOSQL for the Enterprise. http://startupbootcamp.org/- Öresund - Innovation happens HERE. On Sat, Nov 19, 2011 at 9:29 PM, Peter Bell li...@pbell.com wrote: Uservoice might be a good fit. I used it for feature voting on as OSS project and it worked out pretty well... Sent from my iPhone On Nov 19, 2011, at 2:11 PM, Nigel Small ni...@nigelsmall.name wrote: Actually sounds like we may have finally found a use for Google Wave! :-P On 19 Nov 2011 13:09, Pablo Pareja ppar...@era7.com wrote: Yeah it'd be great having something more wiki-like that everyone could edit. I have no idea though about how could this be done Any ideas? Pablo On Sat, Nov 19, 2011 at 7:54 PM, Nigel Small ni...@nigelsmall.name wrote: How about something like Wufoo? http://www.wufoo.com/ http://www.wufoo.com/ *Nigel Small* Phone: +44 7814 638 246 Blog: http://nigelsmall.name/ GTalk: ni...@nigelsmall.name MSN: nasm...@live.co.uk Skype: technige Twitter: @technige https://twitter.com/#!/technige LinkedIn: http://uk.linkedin.com/in/nigelsmall On 19 November 2011 18:45, Peter Neubauer peter.neuba...@neotechnology.comwrote: I really like this. Is there any other transparent public method you poll, like a Google form that everyone can edit? On Nov 19, 2011 7:19 PM, Pablo Pareja ppar...@era7.com wrote: I just added a link for every possible upcoming feature and created an issue for those which didn't have one so far. Sorry for those who voted already but since the options changed, their vote was lost, could you please vote again? From now on every time we add a new feature to the poll we should create its respective issue before adding it. At least, whenever a new option is added, the votes for the rest of options are conserved, so we should be able update our votes just adding our vote (or not) to the new ones. Sorry for the inconvenience! Pablo On Sat, Nov 19, 2011 at 5:21 PM, Pablo Pareja ppar...@era7.com wrote: Ok, I just did that for the first one; the bad thing about this is that every time I edit one of the options, all the votes cast for it get lost and you have to edit your vote again... So maybe from now on I'd be better adding new features to the poll only once their respective issues has been risen in github. What do you think? Pablo On Sat, Nov 19, 2011 at 5:16 PM, Pablo Pareja ppar...@era7.com wrote: Yeah that'd be cool, if you give me the links I can put them as part of the options themselves (with bit.ly or something like that). Cheers, Pablo On Sat, Nov 19, 2011 at 1:30 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Guys, This is great! Could you raise issues for these and we mitigate missing voting on Github with this, linking back to github for discussion? On Nov 19, 2011 1:09 PM, Pablo Pareja ppar...@era7.com wrote: @Linan get_or_create feature added ;) @Mattias I mean being required to specify a node type at creation time, (as how things are right now with relationships) On Sat, Nov 19, 2011 at 1:01 PM, Mattias Persson matt...@neotechnology.comwrote: hat exactly does mandatory node types mean? 2011/11/19 Pablo Pareja ppar...@era7.com Hi all, I was thinking it'd be cool to create a sort of a poll in order to know which features (that are missing right now...) are the most important ones for the community. I just did a quick google search for free online poll creation platforms and found doodle site, (btw do you know a better site to do this?). The address for the poll is: http://www.doodle.com/wg8k77vwq6b654bv So far I just added three features that came to my mind while I was creating it, so please say which features you're missing and I'll add them so that we can all vote for them or not. What do you think about all this? Cheers,
Re: [Neo4j] Neo4j Spatial build / run problems
Hi Peter, I could now register the spatial index 'geom' to my database (I was missing the zip file) - thanks so far. cypher start n=node:geom('bbox:[10.0020654, 10.0020654, 48.4126496, 48.4126496]') cypher return n cypher == +---+ == | n | == +---+ == +---+ == 0 rows, 24 ms So zero results for this query. Maybe that node is not indexed by 'geom'? How can I check to which nodes the spatial index has been applied? Regards, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3528225.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 Spatial build / run problems
Could you get me the full curl script to recreate? /peter Sent from my phone, please excuse typos and autocorrection. On Nov 22, 2011 5:35 PM, danielb danielbercht...@gmail.com wrote: Hi Peter, I could now register the spatial index 'geom' to my database (I was missing the zip file) - thanks so far. cypher start n=node:geom('bbox:[10.0020654, 10.0020654, 48.4126496, 48.4126496]') cypher return n cypher == +---+ == | n | == +---+ == +---+ == 0 rows, 24 ms So zero results for this query. Maybe that node is not indexed by 'geom'? How can I check to which nodes the spatial index has been applied? Regards, Daniel -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Spatial-build-run-problems-tp3515519p3528225.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] Cypher query question
Mmh, if you have two different bound variables n and z, shouldn't n automagically be different from z? Got a test case for this where n=z? 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 5:16 PM, Vinicius Carvalho java.vinic...@gmail.com wrote: Hi there, really beginner query, almost ashamed :) Is it possible to filter the results to skip the start node? For example, using the koans dataset, find the enemy of my enemy (should be my friends :) ) START n=node(1) MATCH (n)-[:ENEMY_OF]-(x)-[:ENEMY_OF]-(z) return distinct z I understand that The doctor node 1, should appear as it is indeed an enemy of one of his enemies, but is it possible to filter? Regards ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cypher query question
On Tue, Nov 22, 2011 at 6:21 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Mmh, if you have two different bound variables n and z, shouldn't n automagically be different from z? Got a test case for this where n=z? Yeah, you're right. I wouldn't expect to have the same node in two identifiers - the pattern matcher excludes patterns like that. If it really is in two identifiers, you've found a bug. Andrés ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Cypher identifier uniqueness
A recent thread prompted me to think about this again. Today, Cypher guarantees that no two points in the matching pattern will contain the same node or relationship. Given the pattern (a)--(b), in no matched subgraph will a and b contain the same node. The only exception to this is for variable length paths. Given the path p = (a)-[*1..6]-(b)--c, the node that is in c *might* also be one of the nodes between a and b. I don't think there was an explicit decision to have it like this, and now I questioning this behavior. Does anyone have any opinions on the matter? Maybe the best solution is to be able to specify which uniqueness to use? WDYT? Andrés ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cypher identifier uniqueness
+1 on some uniqueness indication. However, I am not sure how to handle UNIQUENESS_NONE and the potential cycles that will arise ... 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 - NOSQL for the Enterprise. http://startupbootcamp.org/ - Öresund - Innovation happens HERE. On Tue, Nov 22, 2011 at 7:05 PM, Andres Taylor andres.tay...@neotechnology.com wrote: A recent thread prompted me to think about this again. Today, Cypher guarantees that no two points in the matching pattern will contain the same node or relationship. Given the pattern (a)--(b), in no matched subgraph will a and b contain the same node. The only exception to this is for variable length paths. Given the path p = (a)-[*1..6]-(b)--c, the node that is in c *might* also be one of the nodes between a and b. I don't think there was an explicit decision to have it like this, and now I questioning this behavior. Does anyone have any opinions on the matter? Maybe the best solution is to be able to specify which uniqueness to use? WDYT? Andrés ___ 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] py2neo - GEOFF enhancements
Hi all I have just completed a set of GEOFF enhancements within py2neo (as yet only available from GitHub). Named parameters (hooks) and composite descriptors are now supported, please see the following sample file for an illustration of the new capabilites: https://github.com/nigelsmall/py2neo/blob/master/src/py2neo-examples/geoff/node-hooks.geoff In addition, a change has been made for index entries to use |foo| syntax instead of {foo} syntax as previously (although the old syntax will still work for now). Finally, there is a new wiki page detailing the current format in full: https://github.com/nigelsmall/py2neo/wiki/GEOFF I will now start planning the set of work required for the neo4j-geoff project to bring that up to the same level. Cheers Nige *Nigel Small* Phone: +44 7814 638 246 Blog: http://nigelsmall.name/ GTalk: ni...@nigelsmall.name MSN: nasm...@live.co.uk Skype: technige Twitter: @technige https://twitter.com/#!/technige LinkedIn: http://uk.linkedin.com/in/nigelsmall ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user