Re: [Neo4j] Neo4j Write Performance
James, we are experimenting with that feature, namely, not forcing a flush() at the end of a transaction and let the OS take care of the actual flushing. You potentially loose some last-transaction data, but the store is still going to recover and will not get corrupted. Mattias has been testing this in the ordered-writes branch at https://github.com/neo4j/community/tree/ordered-writes .This needs to be fleshed out to give access to these settings per transaction. I think it will not make it into 1.5 unless someone in the community steps up and puts in the effort to expose it. But feel free to try it out and give feedback on your findings! /peter On Fri, Sep 9, 2011 at 8:07 PM, espeed ja...@jamesthornton.com wrote: Hi Guys - I have been working on loading WordNet (http://wordnet.princeton.edu/) into Neo4j, and have been using it as an opportunity to tune write performance on Linux for a Web application I am developing. My initial idea was to load WordNet RDF (http://semanticweb.cs.vu.nl/lod/wn30/) through the Blueprints SailGraph interface, but then I decided to use NLTK (http://www.nltk.org) and load it directly from Bulbs into Rexster. Stephen recently added batch transactions to Rexster (https://github.com/tinkerpop/rexster-kibbles/tree/master/batch-kibble), but right now I am not using them because I want to see what type of write performance you can get in non-batch mode. The Neo4j performance guides were helpful: * http://wiki.neo4j.org/content/Performance_Guide * http://wiki.neo4j.org/content/Linux_Performance_Guide * http://wiki.neo4j.org/content/Configuration_Settings As are Peter and Tobias' recommendations to put Neo4j transactions in manual mode (https://groups.google.com/d/msg/gremlin-users/vl4IZO7O8H4/20Yc4rUObNcJ) so you don't have to flush to disk for each write. However, manual/batch modes are not practical for writes in a Web application. It would be cool if there was a tunable parameter where you could set Neo4j to flush to disk at some interval instead of after every create/update statement. Obviously you would have an issue if the server crashed before it was written to disk, but this could be mitigated through HA redundancy, and because it's a tunable parameter, you could dial it up or down depending on your requirements. MongoDB does something similar, and it is reported that a single server can do 20-30,000 writes per second (http://www.dbms2.com/2011/04/04/the-mongodb-story/). Here some of the things Mongo does to make writes fast: * A memory-mapped data model. * Deferred writes — a write might take a couple of seconds to actually persist. * Optimism — you don’t have to wait for an acknowledgement if you write something to the database. * “Upsert in place” – update in place without checking whether you’re doing a write or insert. What would it take for Neo4j to approach these levels? Neo4j does memory-mapped IO: http://wiki.neo4j.org/content/Configuration_Settings#Memory_mapped_I.2FO_settings There have been talks about adding optimistic locking: http://neo4j.org/forums/#nabble-td2891798 And Peter has said that deferred writes are on the drawing board (http://lists.neo4j.org/pipermail/user/2011-May/008792.html): Peter Neubauer wrote: However, we are looking into Neo4j normal mode speedups by having a mode that drops the JTA dependencies and thus can relax on the logfile flushing requirements for each transaction, by that being able to use the underlying OS for ordered (deferred) writing, adjustable on a case-by-case level (e.g. batch inserting big data). This will give Neo4j insertions in this mode comparable performance with the batchinserter, while keeping all other semantics and layers in place. I hope this can make it into 1.4, and it will speed up the RDF insertion considerably! Is support for optimistic locking and deferred writes planned for an upcoming release? Thanks. - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Performance-tp3323638p3323638.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-scala improvements
Hi! So far Neo4j and Neo4j Spatial don't share the same release cycle, so it makes sense to split the scala wrapper in two projects. /anders On 09/12/2011 06:14 AM, Christopher Schmidt wrote: Yes - thats possible. I think to have a repo would ease the usage of neo4j-scala. The next days (hope there is enough time) I will clean up and document the sources so that they are easier to understand. Next would be to update to the current versions of Neo4j, Neo4j Spatial and Scala. Actual, neo4j-scala includes the spatial wrapper as well, do you think it is necessary to split it into two projects (neo4j-scala and neo4j-spatial-scala)? On Fri, Sep 9, 2011 at 3:21 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Very cool Christopher! We are testing to pull in some of the bindings for Neo4j into the manual - would it be possible, when things stabilize, to pull in the Scala bindings to the Neo4j repo. build them and start documenting some test cases so we can put them into there, too? 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 Fri, Sep 9, 2011 at 8:10 AM, Christopher Schmidt fakod...@googlemail.com wrote: Neo4j Scala (https://github.com/FaKod/neo4j-scala) has got some improvements - Scala (non nested) Case Class de- serialization to or from a Neo4j Node (see example) - index convenience methods (see example) - create and get Relation Objects, like val relation = start -- foo -- end; It's still alpha, but worth to look at :-) case class Test(s: String, i: Int, ji: java.lang.Integer, d: Double, l: Long, b: Boolean) object DeSerializingSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider { def neo4jStoreDir = /tmp/temp-neo-test Node should { be serializable in { var o = Test(This is a String, 1, 2, 3.3, 10, true) var node: Node = null withTx { implicit neo = node = createNode(o) } var oo = deSerialize[Test](node) oo must beEqual(o) } } } object IndexTestSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider with Neo4jIndexProvider { def neo4jStoreDir = /tmp/temp-neo-index-test override def NodeIndexConfig = (MyTestIndex, Map(provider - lucene, type - fulltext)) :: Nil Neo4jIndexProvider should { use the fulltext search index in { val nodeIndex = getNodeIndex(MyTestIndex).get withSpatialTx { implicit db = val theMatrix = createNode val theMatrixReloaded = createNode // add to index nodeIndex += (theMatrix, title, The Matrix) nodeIndex += (theMatrixReloaded, title, The Matrix Reloaded) val found = nodeIndex.query(title, reloAdEd) found.size must beGreaterThanOrEqualTo(1) // remove from index nodeIndex -= theMatrix nodeIndex -= theMatrixReloaded } } } } -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ 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] Querying a full text index
Yaniv, there is an example of this in the docs, http://docs.neo4j.org/chunked/snapshot/rest-api-indexes.html#rest-api-find-node-by-query shoing the ~ operator in action. HTH! 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 9:09 PM, 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
Re: [Neo4j] 10 questions
Linan, that is actually exactly what Neo4j is doing. Indexing is done via the Index Framework, that makes external indicies like Lucene, Redas, BabuDB etc conform to transactional semantics in order to keep consistent between the Neo4j graph engine kernel and the indecies. See http://docs.neo4j.org/chunked/snapshot/indexing.html for more details on this, there are others that we have been testing like BabuDB, BerkeleyDB and Redis (soon to come out). 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, Sep 5, 2011 at 1:05 PM, Linan Wang tali.w...@gmail.com wrote: thank you very much for the detailed replied. i'm wondering if neo4j had considered the option to use redis or other key-value store for storing properties and focus upon pure graph, similar to the role Lucene plays. i assume the major problem is the performance problem due to address lookup process inside redis value reading and communication overhead. but the gain is significant in scalability. just some random thoughts. On Fri, Sep 2, 2011 at 9:50 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, see inline ... On Fri, Sep 2, 2011 at 9:01 PM, Linan Wang tali.w...@gmail.com wrote: is it https://github.com/peterneubauer/graph-collections/wiki/Indexed-relationships ? seems not included in the current stable ver. No, this is work-in-progress, we are quite strict when it come sto including things into the official release, since we need to test and document it better. So, feel free to test it, a lot of code in there is stable, and expect to fork and contribute if you find things to fix! 4, what's the best practice to do bulk insertion when running (not seed initial data)? i read post says that too many insertions within a transaction may lead to memory problem? what's the proper mount of insertion within a transaction? Yes, transaction data is kept in memory before calling commit and flushing to disk, so overly large TX might result in memory problems. OTOH small TX incur higher IO load. i'll probably do it with smaller batches (~1k operations per batch) from an external queue. does it sounds reasonable? Yes. From experience, there seems to be a lot of cases where transactions hold between 1K and 10K operations and give a good performance vs. RAM vs. persistence balance, if you can afford it for your data. 5, is there a suggested max length for string/array property? would it be better to put into sql? Well, the String store block size is adjustable (and we are working on even better layouts there), but for big strings like documents, a fiel system or Key/Value store might be better, and just keeping the reference to the location makes more sense. ok, i'll use redis for strings. Probably a sensible choice. There might even be an Neo4j index coming out for Redis, making it transactional with the graph like Lucene. 6, say a facebook user may likes thousands of things, and these things are sparsly connected. in this case, things should be modeled as nodes or array property? Nodes. Sparse connections are one of the places where Neo4j shines - a fairly balanced graph where supernodes are seldom. could you give a bottom number qualifies supernode? say 1k connections within a graph of 1m nodes? with the current store layout, probably 1K is a good number. We are working with store changes that require less reads, but don't explicitly take care of supernodes. The is in plan, in which case this number will change upwards with good performance :) 7, where can i find an example to use domain models with serverplugin? i want to put my data in a standalone server and just use the serverplugin, unmanaged extension. should i just put the domain models into the same serverplugin jar? Yes, I would do that. However, if you are not expecting to return Nodes, Relationships or Properties, an unmanaged extension will give you the full API of REST services. One extension that way is for instance the scripting extension, see https://github.com/neo4j/script-extension thanks. seems i really should look into github instead of neo4j.org ;) Well, it's hard to list everything, we are right now trying to put as much as possible into the manual which can be generated, tested and curated, and serve as a reference. Sorry for the delay, hope this helps. Let us know if you have more questions! many thanks! i understand documentation is probably not your top priority at this point, but since we are all programmers, we can read codes. i feel samples on wiki and
[Neo4j] Returning Paths from traversals
Hi folks, have updated the docs with an example for returning paths from a traversal. The same format will be returning from Cypher and Gremlin queries once we put in path returns there. Enjoy! http://docs.neo4j.org/chunked/snapshot/rest-api-traverse.html#rest-api-return-paths-from-a-traversal 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. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] TransactionFailureException
Hi, Did you get any error that caused the shutdown hook to run? Is there a tm_tx_log.2 that contains data? Regards, Johan On Fri, Sep 9, 2011 at 2:42 PM, skarab77 skara...@o2.pl wrote: Hi, I have the following problem: when my program crash in the middle of the transaction, I am not able to start my neo4j embedded store again. I get the following exception. Exception in thread main org.neo4j.graphdb.TransactionFailureException: Unable to start TM, no active tx log file found but found either tm_tx_log.1 or tm_tx_log.2 file, please set one of them as active or remove them. at org.neo4j.kernel.impl.transaction.TxManager.init(TxManager.java:175) at org.neo4j.kernel.impl.transaction.TxModule.start(TxModule.java:96) at org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:161) at org.neo4j.kernel.EmbeddedGraphDbImpl.init(EmbeddedGraphDbImpl.java:190) at org.neo4j.kernel.EmbeddedGraphDatabase.init(EmbeddedGraphDatabase.java:80) at org.neo4j.kernel.EmbeddedGraphDatabase.init(EmbeddedGraphDatabase.java:64) My settings are: Neo4j 1.4.1 (1.5M1) Community Version, Windows 7 64bit, JDK 1.6.27 32bit. The file tm_tx_log.1 is empty. My code is following the neo4j guideline: //http://wiki.neo4j.org/content/Transactions and I have also registered shutdownHook to close Neo4j in case of an error. Best Regards, Wojtek ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Unmanaged Extensions
Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Unmanaged Extensions
Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Returning Paths from traversals
Added Cypher Path return support for REST, should be in the docs soonish. https://github.com/neo4j/cypher-plugin/commit/3aa9c4a36fe623c1264ac9106a8d6559442d413c 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, Sep 12, 2011 at 3:32 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Hi folks, have updated the docs with an example for returning paths from a traversal. The same format will be returning from Cypher and Gremlin queries once we put in path returns there. Enjoy! http://docs.neo4j.org/chunked/snapshot/rest-api-traverse.html#rest-api-return-paths-from-a-traversal 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. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Unmanaged Extensions
Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Unmanaged Extensions
Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Unmanaged Extensions
sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Gremlin Sort Syntax Help
Using the REST API g.v(0).out.unique().sort{it.Name}.toList() works but i can't get t = new Table(); g.v(0).out.as('friend').table(t).sort{it.Name} -1; t; to sort correctly. and how would i sort g.v(0).out.as('friend').out.as('moreFriend').sort( on friend.Name ) Also, can you point me to some documentation on this and other commends that can be preformed on this pipe. I have been searching and have not found anything straight forward (could be me...) thanks for the help ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Gremlin Sort Syntax Help
Hey, Using the REST API g.v(0).out.unique().sort{it.Name}.toList() Cool. works but i can't get t = new Table(); g.v(0).out.as('friend').table(t).sort{it.Name} -1; t; to sort correctly. Table will simply pass the object through itself (it is a side-effect step). Thus, you are sorting on 'out name' in the stream, not on the table. t = new Table(); g.v(0).out.as('friend').table(t){it.Name} -1 t.sort(); OR t = new Table(); g.v(0).out.as('friend').table(t) -1 t.sort{it.Name}; ---depends on what you want stored in the table. the first stores the Name, not the vertex. *ANALOGOUS TO THE LAST, BUT MORE CONCISE g.v(0).out.as('friend').table.cap.next().sort{it.Name} ** and how would i sort g.v(0).out.as('friend').out.as('moreFriend').sort( on friend.Name ) Also, can you point me to some documentation on this and other commends that can be preformed on this pipe. I have been searching and have not found anything straight forward (could be me...) t = new Table(); g.v(0).out.as('friend').out.as('moreFriends').table(t) -1 t.sort{it[0].Name} --- or if you want to use column names as opposed to column indices: t.sort{it.getColumn('friend').Name} I just added some of this to the Gremlin Wiki. https://github.com/tinkerpop/gremlin/wiki/Pattern-Match-Pattern (at bottom) Thanks for the question, Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Unmanaged Extensions
Linan, you need to change the neo4j-server.properties in the Neo4j Server conf/ directory where you want to deploy your extension in order to get this picked up, not packaging it with the extension jar. Could you please try that? See also http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html for details. 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, Sep 12, 2011 at 5:01 PM, Linan Wang tali.w...@gmail.com wrote: sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] Unmanaged Extensions
yes, i did it. i package it into jar file just to show that i've modified the file. will it related to the 64 jvm shipped in osx lion? i'm reading the source codes... On Mon, Sep 12, 2011 at 6:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, you need to change the neo4j-server.properties in the Neo4j Server conf/ directory where you want to deploy your extension in order to get this picked up, not packaging it with the extension jar. Could you please try that? See also http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html for details. 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, Sep 12, 2011 at 5:01 PM, Linan Wang tali.w...@gmail.com wrote: sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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
Re: [Neo4j] Unmanaged Extensions
what i've found: PluginInitializer (https://github.com/neo4j/community/blob/master/server/src/main/java/org/neo4j/server/modules/PluginInitializer.java) 1, probably has a spell mistake: intitializePackages, maybe initializePackages? 2, i don't understand how pluginlifecycle is related to thirdparty jaxrs On Mon, Sep 12, 2011 at 6:58 PM, Linan Wang tali.w...@gmail.com wrote: yes, i did it. i package it into jar file just to show that i've modified the file. will it related to the 64 jvm shipped in osx lion? i'm reading the source codes... On Mon, Sep 12, 2011 at 6:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, you need to change the neo4j-server.properties in the Neo4j Server conf/ directory where you want to deploy your extension in order to get this picked up, not packaging it with the extension jar. Could you please try that? See also http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html for details. 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, Sep 12, 2011 at 5:01 PM, Linan Wang tali.w...@gmail.com wrote: sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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 -- Best regards Linan Wang ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] finding top 10 shortest path
Hello you both could have a look at the so-called k-shortest-paths problem. There is some related scientific work[1] and implementations[2] for further investigation. regards, Daniel [1] http://www.mat.uc.pt/~eqvm/cientificos/investigacao/r_papers.html#K [2] http://code.google.com/p/k-shortest-paths/ -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-finding-top-10-shortest-path-tp3235128p3330443.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] Neo4j Events This Week
*** Hi Everyone, We have some excellent Neo4j events this week. You can always go to our plancast too, in case you want to see future events: http://plancast.com/neo4j *WEBINAR: Getting Started with Neo4j* Wednesday, 14 September @ 10:00-11:00 PDT This webinar is designed to help developers achieve a fast start with Neo4j.. There are no prerequisites. Join this webinar to learn: * basic graph concepts * modeling data in a graph * querying a graph https://www1.gotomeeting.com/register/404973505 *KARLSKRONA (SWEDEN) Conference Talk: How Graph Databases Can Make You a Superstar @Devcon 2011 * Thursday, 15 September Andres will be presenting about graph databases generally, and Neo4j specifically. telecomcity.org/hem/devcon11.aspx *SEATTLE Meetup: Neo4j in the Real World *Thursday, 15 September @ 19:00 PDT An evening learning about real world use cases for a graph database, citing a mix of actual and abstracted commercial deployments. We'll consider modeling a real domain, performance tuning, and deploying a local or geographically distributed cluster. www.meetup.com/graphdb-seattle/events/27968441/?rv=ea1.2 *DENVER Conference Talk: Geoprocessing with Neo4j Spatial and OSM @FOSS4G * Friday, 16 September @ 14:00 MST Presentation by Craig Taverner, Amanzi. What better way to perform geoprocessing than on a graph! And what better dataset to play with than Open Street Map! 2011.foss4g.org/sessions/geoprocessing-neo4j-spatial-and-osm ** *Allison Sparrow* * **Marketing Manager | Neo Technology* +19499036091 | @ayeeson http://twitter.com/#%21/ayeeson *** ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] A Note on Writing Performant Gremlin
Hi Gremlin+Neo4j+OrientDB people, I apologize for the cross list posting, but this is an important piece of information for those using Gremlin with their respective graph databases. I've noticed lots of people use the very friendly notation of Element.key to get the property value of an Element. Note that in Gremlin, this mapping from Element.key to Element.getProperty(key) requires Java reflection and is a costly operation. The cost of a pretty traversal expression is time. Please read over this Wiki page for notes on optimizing your Gremlin queries: https://github.com/tinkerpop/gremlin/wiki/Path-Optimizations ..especially the first section: Avoid Element Property Selection using Key Finally, note that these times are with respect to Gremlin 1.3-SNAPSHOT which will have a stable release September 21st. Thanks so much and again, apologies for the cross post. Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-scala improvements
OK. I will - use my forked neo4j-scala repository for the Neo4j part - push the spatial part into my neo4j-spatial-scala repository which will have a dependancy to neo4j-scala. On Mon, Sep 12, 2011 at 9:58 AM, Anders Nawroth and...@neotechnology.comwrote: Hi! So far Neo4j and Neo4j Spatial don't share the same release cycle, so it makes sense to split the scala wrapper in two projects. /anders On 09/12/2011 06:14 AM, Christopher Schmidt wrote: Yes - thats possible. I think to have a repo would ease the usage of neo4j-scala. The next days (hope there is enough time) I will clean up and document the sources so that they are easier to understand. Next would be to update to the current versions of Neo4j, Neo4j Spatial and Scala. Actual, neo4j-scala includes the spatial wrapper as well, do you think it is necessary to split it into two projects (neo4j-scala and neo4j-spatial-scala)? On Fri, Sep 9, 2011 at 3:21 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Very cool Christopher! We are testing to pull in some of the bindings for Neo4j into the manual - would it be possible, when things stabilize, to pull in the Scala bindings to the Neo4j repo. build them and start documenting some test cases so we can put them into there, too? 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 Fri, Sep 9, 2011 at 8:10 AM, Christopher Schmidt fakod...@googlemail.com wrote: Neo4j Scala (https://github.com/FaKod/neo4j-scala) has got some improvements - Scala (non nested) Case Class de- serialization to or from a Neo4j Node (see example) - index convenience methods (see example) - create and get Relation Objects, like val relation = start -- foo -- end; It's still alpha, but worth to look at :-) case class Test(s: String, i: Int, ji: java.lang.Integer, d: Double, l: Long, b: Boolean) object DeSerializingSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider { def neo4jStoreDir = /tmp/temp-neo-test Node should { be serializable in { var o = Test(This is a String, 1, 2, 3.3, 10, true) var node: Node = null withTx { implicit neo = node = createNode(o) } var oo = deSerialize[Test](node) oo must beEqual(o) } } } object IndexTestSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider with Neo4jIndexProvider { def neo4jStoreDir = /tmp/temp-neo-index-test override def NodeIndexConfig = (MyTestIndex, Map(provider - lucene, type - fulltext)) :: Nil Neo4jIndexProvider should { use the fulltext search index in { val nodeIndex = getNodeIndex(MyTestIndex).get withSpatialTx { implicit db = val theMatrix = createNode val theMatrixReloaded = createNode // add to index nodeIndex += (theMatrix, title, The Matrix) nodeIndex += (theMatrixReloaded, title, The Matrix Reloaded) val found = nodeIndex.query(title, reloAdEd) found.size must beGreaterThanOrEqualTo(1) // remove from index nodeIndex -= theMatrix nodeIndex -= theMatrixReloaded } } } } -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ 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 -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j-scala improvements
Awesome Christopher, let us know when things are stabilizing, so we can start to put the scala bindings onto the build server and run regular tests against Neo4j master! 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, Sep 12, 2011 at 9:03 PM, Christopher Schmidt fakod...@googlemail.com wrote: OK. I will - use my forked neo4j-scala repository for the Neo4j part - push the spatial part into my neo4j-spatial-scala repository which will have a dependancy to neo4j-scala. On Mon, Sep 12, 2011 at 9:58 AM, Anders Nawroth and...@neotechnology.comwrote: Hi! So far Neo4j and Neo4j Spatial don't share the same release cycle, so it makes sense to split the scala wrapper in two projects. /anders On 09/12/2011 06:14 AM, Christopher Schmidt wrote: Yes - thats possible. I think to have a repo would ease the usage of neo4j-scala. The next days (hope there is enough time) I will clean up and document the sources so that they are easier to understand. Next would be to update to the current versions of Neo4j, Neo4j Spatial and Scala. Actual, neo4j-scala includes the spatial wrapper as well, do you think it is necessary to split it into two projects (neo4j-scala and neo4j-spatial-scala)? On Fri, Sep 9, 2011 at 3:21 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Very cool Christopher! We are testing to pull in some of the bindings for Neo4j into the manual - would it be possible, when things stabilize, to pull in the Scala bindings to the Neo4j repo. build them and start documenting some test cases so we can put them into there, too? 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 Fri, Sep 9, 2011 at 8:10 AM, Christopher Schmidt fakod...@googlemail.com wrote: Neo4j Scala (https://github.com/FaKod/neo4j-scala) has got some improvements - Scala (non nested) Case Class de- serialization to or from a Neo4j Node (see example) - index convenience methods (see example) - create and get Relation Objects, like val relation = start -- foo -- end; It's still alpha, but worth to look at :-) case class Test(s: String, i: Int, ji: java.lang.Integer, d: Double, l: Long, b: Boolean) object DeSerializingSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider { def neo4jStoreDir = /tmp/temp-neo-test Node should { be serializable in { var o = Test(This is a String, 1, 2, 3.3, 10, true) var node: Node = null withTx { implicit neo = node = createNode(o) } var oo = deSerialize[Test](node) oo must beEqual(o) } } } object IndexTestSpec extends Specification with Neo4jWrapper with EmbeddedGraphDatabaseServiceProvider with Neo4jIndexProvider { def neo4jStoreDir = /tmp/temp-neo-index-test override def NodeIndexConfig = (MyTestIndex, Map(provider - lucene, type - fulltext)) :: Nil Neo4jIndexProvider should { use the fulltext search index in { val nodeIndex = getNodeIndex(MyTestIndex).get withSpatialTx { implicit db = val theMatrix = createNode val theMatrixReloaded = createNode // add to index nodeIndex += (theMatrix, title, The Matrix) nodeIndex += (theMatrixReloaded, title, The Matrix Reloaded) val found = nodeIndex.query(title, reloAdEd) found.size must beGreaterThanOrEqualTo(1) // remove from index nodeIndex -= theMatrix nodeIndex -= theMatrixReloaded } } } } -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ 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 -- Christopher twitter: @fakod blog: http://blog.fakod.eu
Re: [Neo4j] Unmanaged Extensions
Yes, it works! thank you very much! On Mon, Sep 12, 2011 at 8:22 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan for the find! I corrected the spelling of the function. Also, JAXRS is not related to Server Plugin lifecycle - it is a raw JAXRS registration into the webserver. For your test jar, I got things working when checking in the export dialog to include directory information, see the attached picture. Then, I can set org.neo4j.server.thirdparty_jaxrs_classes=org.neo4j.examples=/hello in neo4j-server/properties and get with curl http://localhost:7474/hello/0 Hello World, nodeId=0 Does that work for you? 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, Sep 12, 2011 at 8:12 PM, Linan Wang tali.w...@gmail.com wrote: what i've found: PluginInitializer (https://github.com/neo4j/community/blob/master/server/src/main/java/org/neo4j/server/modules/PluginInitializer.java) 1, probably has a spell mistake: intitializePackages, maybe initializePackages? 2, i don't understand how pluginlifecycle is related to thirdparty jaxrs On Mon, Sep 12, 2011 at 6:58 PM, Linan Wang tali.w...@gmail.com wrote: yes, i did it. i package it into jar file just to show that i've modified the file. will it related to the 64 jvm shipped in osx lion? i'm reading the source codes... On Mon, Sep 12, 2011 at 6:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, you need to change the neo4j-server.properties in the Neo4j Server conf/ directory where you want to deploy your extension in order to get this picked up, not packaging it with the extension jar. Could you please try that? See also http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html for details. 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, Sep 12, 2011 at 5:01 PM, Linan Wang tali.w...@gmail.com wrote: sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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
Re: [Neo4j] Querying a full text index
Hi Yaniv - Something to keep in mind... It's now easy to use an external full-text index such as Solr, ElasticSearch, or IndexTank (http://indextank.com/) for full-text search and then use Neo4j for rankings. For example, you could do the full-text query using Solr and have it return a list of element IDs. Then if you want to use Gremlin for ranking, you could pass in the list of element IDs to Gremlin as the starting point of the query, and do a local rank type algorithm (http://markorodriguez.com/2011/03/30/global-vs-local-graph-ranking/). To make this work, a few days ago Marko updated Gremlin so you can pass in multiple element IDs like this: g.v(1,2,3,4,5,6,7,8) See https://groups.google.com/d/topic/gremlin-users/JjOopbFDHMw/discussion - James -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Querying-a-full-text-index-tp3316241p3330648.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] Unmanaged Extensions
Linan, glad it works out. Let us know how things go! 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, Sep 12, 2011 at 9:39 PM, Linan Wang tali.w...@gmail.com wrote: Yes, it works! thank you very much! On Mon, Sep 12, 2011 at 8:22 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan for the find! I corrected the spelling of the function. Also, JAXRS is not related to Server Plugin lifecycle - it is a raw JAXRS registration into the webserver. For your test jar, I got things working when checking in the export dialog to include directory information, see the attached picture. Then, I can set org.neo4j.server.thirdparty_jaxrs_classes=org.neo4j.examples=/hello in neo4j-server/properties and get with curl http://localhost:7474/hello/0 Hello World, nodeId=0 Does that work for you? 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, Sep 12, 2011 at 8:12 PM, Linan Wang tali.w...@gmail.com wrote: what i've found: PluginInitializer (https://github.com/neo4j/community/blob/master/server/src/main/java/org/neo4j/server/modules/PluginInitializer.java) 1, probably has a spell mistake: intitializePackages, maybe initializePackages? 2, i don't understand how pluginlifecycle is related to thirdparty jaxrs On Mon, Sep 12, 2011 at 6:58 PM, Linan Wang tali.w...@gmail.com wrote: yes, i did it. i package it into jar file just to show that i've modified the file. will it related to the 64 jvm shipped in osx lion? i'm reading the source codes... On Mon, Sep 12, 2011 at 6:55 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, you need to change the neo4j-server.properties in the Neo4j Server conf/ directory where you want to deploy your extension in order to get this picked up, not packaging it with the extension jar. Could you please try that? See also http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html for details. 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, Sep 12, 2011 at 5:01 PM, Linan Wang tali.w...@gmail.com wrote: sure. it's here: https://github.com/wangii/test2/blob/master/test2.jar On Mon, Sep 12, 2011 at 3:56 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Thanks Linan, Could you also put up the jar you deploy so I can test it, since you seem to rely on Eclipse building which I can't recreate? /peter Sent from my phone. On Sep 12, 2011 4:14 PM, Linan Wang tali.w...@gmail.com wrote: Peter, thanks. it's here: https://github.com/wangii/test2 must be something in the doc i didn't notice, even though i've read 5 times! On Mon, Sep 12, 2011 at 3:06 PM, Peter Neubauer peter.neuba...@neotechnology.com wrote: Linan, got a small project to build this for so I can test it out? 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, Sep 12, 2011 at 4:04 PM, wangii tali.w...@gmail.com wrote: Got the same ResourceConfig problem: The ResourceConfig instance does not contain any root resource. tried to put jar file into /lib, /plugins, modified neo4j-server.properties file. anything I missed here? thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Unmanaged-Extensions-tp2660066p3329694.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] 5 Questions in 5 Minutes: We want your feedback
Hey everyone, it's me again. We are looking for feedback from our amazing users (you guys), and ask for 5 minutes of your time to relay your experience using Neo4j. Here is a link to the survey: https://www.surveymonkey.com/s.aspx?sm=CZXbaXZ3YjtKw0_2ft_2baeZuQ_3d_3d This is much appreciated, and for any questions, feel free to email me at alli...@neotechnology.com Allison https://www.surveymonkey.com/optout.aspx?sm=CZXbaXZ3YjtKw0_2ft_2baeZuQ_3d_3d ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] A Note on Writing Performant Gremlin
Hey, just to be clear, Would it be safe to say that the compile time for g.v(0).out.out -1 would be slower than g.v(0).out().out() -1 and slower than g.v(0).outE().inV().outE().inV() -1 The fastest would be g.v(0).out().out(). It is also surprising that the compile times that you have are an order of magnitude greater for the the condensed notation. thanks for the info. The reason why there is a difference in speed is because Groovy's dynamic programming is based on Java reflection which is slow. However, compiling a pipeline is the least of your time relative to evaluating your traversal. We are currently working on Gremlin_scala and Gremlin_jython. Gremlin_scala provides a nearly identical syntax with anonymous functions (e.g. filter(_.getProperty(age) 10)) and so, for many, this might be the way to go as its much faster with static typing and none of the runtime dynamic programming techniques used by Groovy. In essence, we plan for the future of Gremlin to be a graph traversal specification with implementations in multiple JVM languages so developers can pick which ever host language (JRuby, Groovy, Scala, Jython, Clojure, etc.) makes them happiest when traversing graphs in the Gremlin-esque style. Hope that is clear, Marko. http://markorodriguez.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Traversal REST body language
I don't use traversals that much, and I'm trying to help another user. The docs are a bit ambiguous, so I want to make sure I have this correct. When using a traversal via REST, for the prune_evaluator, I can do this: prune_evaluator: { language : builtin, name : none } or I can do this: prune_evaluator: { language : javascript, body : ...some javascript here... } In other words, when using a builtin, I give a name attribute, and when using another language I give a body attribute. And I'm assuming the same holds true for return_filter as well? Thanks -- Josh Adell -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Traversal-REST-body-language-tp3331584p3331584.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] Traversal REST body language
Yes Josh, that should be true. I could probably create a testcase demonstrating this? 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, Sep 13, 2011 at 5:20 AM, jadell josh.ad...@gmail.com wrote: I don't use traversals that much, and I'm trying to help another user. The docs are a bit ambiguous, so I want to make sure I have this correct. When using a traversal via REST, for the prune_evaluator, I can do this: prune_evaluator: { language : builtin, name : none } or I can do this: prune_evaluator: { language : javascript, body : ...some javascript here... } In other words, when using a builtin, I give a name attribute, and when using another language I give a body attribute. And I'm assuming the same holds true for return_filter as well? Thanks -- Josh Adell -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Traversal-REST-body-language-tp3331584p3331584.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