Hi Milton, There are multiple methods to use Neo4J with Java. Please go through the following URL:
*JDBC Example:* http://www.markhneedham.com/blog/2013/06/20/neo4j-a-simple-example-using-the-jdbc-driver/ *Cypher Example:* http://neo4j.com/docs/stable/tutorials-cypher-java.html *REST Example:* http://neo4j.com/docs/stable/server-java-rest-client-example.html Please let me know if you need any further help in this. -Sukaant Chaudhary <http://in.linkedin.com/pub/sukaant-chaudhary/33/ba8/479> On Thu, Jan 22, 2015 at 11:07 AM, Milton Yutaka Nishiyama Junior < [email protected]> wrote: > 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$ExceptionTranslatingQueryConte >>> xt$$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$ExceptionTranslatingQueryConte >>> xt$$translateException(ExceptionTranslatingQueryContext.scala:152) >>> at org.neo4j.cypher.internal.compiler.v2_1.spi. >>> ExceptionTranslatingQueryContext.close(ExceptionTranslatingQueryConte >>> xt.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. > -- 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.
