Hi Everyone, I have a plataform in Java running with Tomcat, and I want to create a simple interface to access and make some queries in the neo4j graphdb, and I would like to know if there is any simple example on how to create a web interface to acess graphdb based on java and tomcat. I gave a look in the Spring website, but I didn't find an easy example, and I don't have experience with Spring.
Thank You, Milton On Thursday, September 4, 2014 at 6:43:10 PM UTC-3, Saishashank Devannagari wrote: > > Hi Michael, > > Thank you for the quick response. It is working now as expected. :) > > On Thursday, September 4, 2014 3:44:38 PM UTC-4, Michael Hunger wrote: >> >> You have the wrong execution-engine, you need the javacompat one. >> >> Your results contain nodes to access them (for printing) you need a >> transaction. >> There is a result.dumpToString() method which you can use within your >> transaction. >> >> Or just return attributes of the nodes from your query. >> >> Michael >> >> Am 04.09.2014 um 21:37 schrieb [email protected]: >> >> Hi Sukaant, >> >> I tried integrating my database with Java. I created a small java >> application, added neo4j dependency in pom.xml. >> >> Below is the code I wrote. >> >> GraphDatabaseService db = new >> GraphDatabaseFactory().newEmbeddedDatabase("path of my db"); >> ExecutionEngine engine = new ExecutionEngine(db, StringLogger.SYSTEM ); >> >> ExecutionResult result; >> try ( Transaction ignored = db.beginTx() ) >> { >> result = engine.execute( "match (n) return n" ); >> } >> System.out.print(result); >> db.shutdown(); >> >> This is throwing the below error. I tried looking for the solution, but >> that was not successful. Below is the error i received. >> >> Exception in thread "main" org.neo4j.graphdb.TransactionFailureException: >> Failed to mark transaction as rollback only. >> at >> org.neo4j.kernel.TopLevelTransaction.markAsRollbackOnly(TopLevelTransaction.java:97) >> at >> org.neo4j.kernel.TopLevelTransaction.failure(TopLevelTransaction.java:86) >> at >> org.neo4j.cypher.internal.spi.v2_1.TransactionBoundQueryContext.close(TransactionBoundQueryContext.scala:65) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.DelegatingQueryContext.close(DelegatingQueryContext.scala:38) >> at org.neo4j.cypher.internal.compiler.v2_1. >> spi.ExceptionTranslatingQueryContext.org >> <http://spi.exceptiontranslatingquerycontext.org/> >> $neo4j$cypher$internal$compiler$v2_1$spi$ExceptionTranslatingQueryContext$$super$close(ExceptionTranslatingQueryContext.scala:34) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$$anonfun$close$1.apply$mcV$sp(ExceptionTranslatingQueryContext.scala:34) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$$anonfun$close$1.apply(ExceptionTranslatingQueryContext.scala:34) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$$anonfun$close$1.apply(ExceptionTranslatingQueryContext.scala:34) >> at org.neo4j.cypher.internal.compiler.v2_1. >> spi.ExceptionTranslatingQueryContext.org >> <http://spi.exceptiontranslatingquerycontext.org/> >> $neo4j$cypher$internal$compiler$v2_1$spi$ExceptionTranslatingQueryContext$$translateException(ExceptionTranslatingQueryContext.scala:152) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext.close(ExceptionTranslatingQueryContext.scala:34) >> at >> org.neo4j.cypher.internal.compiler.v2_1.spi.DelegatingQueryContext.close(DelegatingQueryContext.scala:38) >> at >> org.neo4j.cypher.internal.compiler.v2_1.executionplan.ExecutionWorkflowBuilder$$anonfun$runWithQueryState$1.apply(ExecutionPlanBuilder.scala:164) >> at >> org.neo4j.cypher.internal.compiler.v2_1.executionplan.ExecutionWorkflowBuilder$$anonfun$runWithQueryState$1.apply(ExecutionPlanBuilder.scala:164) >> at >> org.neo4j.cypher.internal.compiler.v2_1.TaskCloser$$anonfun$1.apply(TaskCloser.scala:43) >> at >> org.neo4j.cypher.internal.compiler.v2_1.TaskCloser$$anonfun$1.apply(TaskCloser.scala:41) >> at >> scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) >> at >> scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) >> at scala.collection.immutable.List.foreach(List.scala:318) >> at >> scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) >> at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) >> at >> org.neo4j.cypher.internal.compiler.v2_1.TaskCloser.close(TaskCloser.scala:40) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$close$1.apply$mcV$sp(ClosingIterator.scala:67) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$close$1.apply(ClosingIterator.scala:67) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$close$1.apply(ClosingIterator.scala:67) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$translateException$1.apply(ClosingIterator.scala:72) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.decoratedCypherException(ClosingIterator.scala:102) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.translateException(ClosingIterator.scala:70) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.close(ClosingIterator.scala:66) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$failIfThrows$1.apply(ClosingIterator.scala:96) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.decoratedCypherException(ClosingIterator.scala:102) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.failIfThrows(ClosingIterator.scala:91) >> at >> org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.hasNext(ClosingIterator.scala:34) >> at >> org.neo4j.cypher.internal.compiler.v2_1.PipeExecutionResult.hasNext(PipeExecutionResult.scala:167) >> at scala.collection.Iterator$class.toString(Iterator.scala:1153) >> at >> org.neo4j.cypher.internal.compiler.v2_1.PipeExecutionResult.toString(PipeExecutionResult.scala:35) >> at java.lang.String.valueOf(String.java:2854) >> at java.io.PrintStream.print(PrintStream.java:683) >> at cricketFun.main(cricketFun.java:25) >> Caused by: java.lang.NullPointerException >> at >> org.neo4j.kernel.TopLevelTransaction.markAsRollbackOnly(TopLevelTransaction.java:93) >> ... 37 more >> >> >> Why is it failing to fetch the data? Am I doing anything wrong? Also, if >> I tried running the application second time, it throws me this error. >> >> >> Exception in thread "main" java.lang.RuntimeException: Error starting >> org.neo4j.kernel.EmbeddedGraphDatabase, >> C:\Users\sd482\Documents\Neo4j\default.graphdb >> at >> org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:362) >> at >> org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:59) >> at >> org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:90) >> at >> org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:199) >> at >> org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:70) >> at cricketFun.main(cricketFun.java:16) >> Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component >> 'org.neo4j.kernel.StoreLockerLifecycleAdapter@f1bb79c' was successfully >> initialized, but failed to start. Please see attached cause exception. >> at >> org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:513) >> at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) >> at >> org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:339) >> ... 5 more >> Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on >> store lock file: C:\Users\sd482\Documents\Neo4j\default.graphdb\store_lock. >> Please ensure no other process is using this database, and that the >> directory is writable (required even for read-only access) >> at org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:82) >> at >> org.neo4j.kernel.StoreLockerLifecycleAdapter.start(StoreLockerLifecycleAdapter.java:44) >> at >> org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:507) >> ... 7 more >> Caused by: java.io.IOException: Couldn't lock lock file >> C:\Users\sd482\Documents\Neo4j\default.graphdb\lock because another process >> already holds the lock. >> at >> org.neo4j.kernel.impl.nioneo.store.FileLock.getLockFileBasedFileLock(FileLock.java:120) >> at >> org.neo4j.kernel.impl.nioneo.store.FileLock.getOsSpecificFileLock(FileLock.java:64) >> at >> org.neo4j.kernel.DefaultFileSystemAbstraction.tryLock(DefaultFileSystemAbstraction.java:93) >> at org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:74) >> ... 9 more >> >> >> I know this is due to the locking issue. Though I'm using >> "db.shutdown();" in my code, it is not unlocking the database when the >> application is terminated. I had to close the IDE everytime to unlock it. >> Please let me know where I am making the mistake. >> >> Sorry for the very long question, and thank you so much for your help. :) >> >> Thanks, >> Shashank >> >> >> >> On Thursday, September 4, 2014 5:17:22 AM UTC-4, Sukaant Chaudhary wrote: >>> >>> Hi Shashank, >>> Use the code in the following link, it is cypher-jdbc, it will help you >>> to integrate with Java: >>> http://docs.neo4j.org/chunked/stable/tutorials-cypher-java.html >>> >>> You need the following dependency: >>> <dependency> >>> <groupId>org.neo4j</groupId> >>> <artifactId>neo4j-kernel</artifactId> >>> <version>${neo4j.version}</version> >>> </dependency> >>> >>> About Tomcat and Maven >>> Tomcat is a Server whereas Maven is a build tool both are different >>> things. >>> >>> Hope this will help. >>> If you have any further queries please feel free to ask. >>> >>> -Sukaant Chaudhary >>> <http://in.linkedin.com/pub/sukaant-chaudhary/33/ba8/479> >>> >>> >>> On Thu, Sep 4, 2014 at 7:22 AM, <[email protected]> wrote: >>> >>>> Hello, >>>> >>>> My name is Shashank. I am currently a Masters student. I am trying to >>>> explore new technologies and new to Neo4j. I have basic idea on nodes, >>>> relationships and querying the database. I have developed a small database >>>> in my laptop. I want to integrate it with Java and implement few >>>> algorithms >>>> on the data (like apriori algorithm) for my data mining project. >>>> >>>> Is it a good idea to use Neo4j for data mining. If so, please let me >>>> know any example that can fetch data from Neo4j server using Java. Also, I >>>> was wondering whether we can use Tomcat instead of Maven. >>>> >>>> Your help is very much appreciated. >>>> >>>> Thanks, >>>> Shashank >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Neo4j" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Neo4j" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
