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的CQL教程

现在开始写的Neo4j的Java API编码来执行的Neo4j数据库的操作

第2步 -创建数据库的Neo4j

GraphDatabaseFactory dbFactory = new GraphDatabaseFactory();
GraphDatabaseService db= dbFactory.newEmbeddedDatabase("C:/TPNeo4jDB");

它创建于指定的路径模式/我们的数据库,如图below.This类似于“CREATE DATABASE”甲骨文的SQL命令。

Neo4j的CQL教程

第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之前处于关断模式或没有。 如果没有,请点击“停止”按钮摊牌吧。

Neo4j的CQL教程

第8步 -执行Java程序,并观察Eclipse IDE的控制台输出。

Neo4j的CQL教程

选择我们的Neo4j数据库文件夹,单击“开始”按钮

Neo4j的CQL教程

一旦该数据库成功启动,单击“HTTP://本地主机:7474”访问Neo4j的浏览器链接来观察我们的数据。

Neo4j的CQL教程

第9步 -在Neo4j的数据浏览器的$提示符下面的命令类型

MATCH (java:JAVA) RETURN java.TutorialID,java.Title,
   java.NoOfChapters,java.Status
Neo4j的CQL教程

查看数据浏览器的结果

Neo4j的CQL教程

如果我们观察到Eclipse IDE的结果和Neo4j的数据浏览器的结果,两者都是正确的。

注意 -

这样,我们就可以利用的Neo4j的Java API执行任何命令CQL。

如果我们的Neo4j的服务器已启动并参照我们的新创建的数据库运行,那么我们不能因为服务器已经得到了该数据库的锁执行我们的计划。

所以,当我们执行我们先前的计划,我们会得到一些错误堆栈跟踪

因为另一个进程已持有锁\ TPNeo4jDB \锁:java.io.IOException异常:无法锁定锁定文件C。

为了避免这个问题,首先停止我们的服务器,再执行该程序。

因为默认情况下的Neo4j数据库服务器只接受一次一个锁。 在实时应用中,Ne04J DBA人们将更新DB属性,以允许在一个时间的锁的某些数量。