Neo4j Cypher支架 - API示例
在前面的章节中,我们已经就如何开发和利用的Neo4j本地的Java API测试Java应用程序的讨论。 现在,我们将在这一章所Neo4j的Cypher支架的Java API讨论。
开发应用之前,请参阅“Neo4j的Java环境设置”章节设置Eclipse IDE开发这个应用程序
如果你观察到的Neo4j本地的Java API的方式,这是非常繁琐和累赘开发大型应用程序。 因此,为了避免这种复杂性,Neo4j重点推出了另一套的Java API。
这的Java API是用来执行直接Neo4j的CQL命令。 它类似于JDBC API执行直接SQL命令。
Neo4j的Cypher支架的Java API示例
这个例子演示了如何开发Eclipse IDE的Java应用程序开发和测试的Neo4j Cypher支架的Java API示例
第1步 -创建一个Java类JavaNeo4jCQLRetrivalTest
现在开始写的Neo4j的Java API编码来执行的Neo4j数据库的操作
第2步 -创建数据库的Neo4j
GraphDatabaseFactory dbFactory = new GraphDatabaseFactory(); GraphDatabaseService db= dbFactory.newEmbeddedDatabase("C:/TPNeo4jDB");
它创建于指定的路径模式/我们的数据库,如图below.This类似于“CREATE DATABASE”甲骨文的SQL命令。
第3步 -创建一个Neo4j的Cypher支架执行Engine.It是用来执行的Neo4j CQL在Java应用程序命令。
ExecutionEngine execEngine = new ExecutionEngine(graphDb);
第4步 -通过使用Neo4j的Cypher支架执行引擎,执行Neo4j的CQL命令检索CQL match命令的结果。
ExecutionResult execResult = execEngine.execute ("MATCH (java:JAVA) RETURN java");
第5步 -获取一个字符串中CQL命令结果打印在控制台的结果
String results = execResult.dumpToString(); System.out.println(results);
第6步 -最后的源代码。
package com.tp.neo4j.java.cql.examples;import org.neo4j.cypher.javacompat.ExecutionEngine; import org.neo4j.cypher.javacompat.ExecutionResult; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.factory.GraphDatabaseFactory;public class JavaNeo4jCQLRetrivalTest { public static void main(String[] args) { GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory(); GraphDatabaseService graphDb = graphDbFactory.newEmbeddedDatabase("C:/TPNeo4jDB"); ExecutionEngine execEngine = new ExecutionEngine(graphDb); ExecutionResult execResult = execEngine.execute("MATCH (java:JAVA) RETURN java"); String results = execResult.dumpToString(); System.out.println(results); } }
第7步 -执行此Java程序中,请检查您的Neo4j之前处于关断模式或没有。 如果没有,请点击“停止”按钮摊牌吧。
第8步 -执行Java程序,并观察Eclipse IDE的控制台输出。
选择我们的Neo4j数据库文件夹,单击“开始”按钮
一旦该数据库成功启动,单击“HTTP://本地主机:7474”访问Neo4j的浏览器链接来观察我们的数据。
第9步 -在Neo4j的数据浏览器的$提示符下面的命令类型
MATCH (java:JAVA) RETURN java.TutorialID,java.Title, java.NoOfChapters,java.Status
查看数据浏览器的结果
如果我们观察到Eclipse IDE的结果和Neo4j的数据浏览器的结果,两者都是正确的。
注意 -
这样,我们就可以利用的Neo4j的Java API执行任何命令CQL。
如果我们的Neo4j的服务器已启动并参照我们的新创建的数据库运行,那么我们不能因为服务器已经得到了该数据库的锁执行我们的计划。
所以,当我们执行我们先前的计划,我们会得到一些错误堆栈跟踪
因为另一个进程已持有锁\ TPNeo4jDB \锁:java.io.IOException异常:无法锁定锁定文件C。
为了避免这个问题,首先停止我们的服务器,再执行该程序。
因为默认情况下的Neo4j数据库服务器只接受一次一个锁。 在实时应用中,Ne04J DBA人们将更新DB属性,以允许在一个时间的锁的某些数量。