java连接Neo4j服务器
一:Neo4j服务器安装(参考:http://docs.neo4j.org.cn/server-installation.html)
1.下载Neo4j数据,我下载的版本是: neo4j-enterprise-1.8.1-windows
2.解压 neo4j-enterprise-1.8.1-windows
3.到Neo4j的bin目录下neo4j-enterprise-1.8.1-windows\neo4j-enterprise-1.8.1\bin
4.运行 neo4j start 命令
5.打开 http://localhost:7474 看到图形化界面则安装成功!
二:测试代码(参考:http://www.neo4j.org.cn/2012/07/30/server-java-rest-client-example/)
测试代码总共有三个类:
CreateSimpleGraph.java 下载地址:https://github.com/neo4j/community/blob/1.8.M06/server-examples/src/main/java/org/neo4j/examples/server/CreateSimpleGraph.java
Relationship.java 下载地址:https://github.com/neo4j/community/blob/1.8.M06/server-examples/src/main/java/org/neo4j/examples/server/Relationship.java
TraversalDescription.java 下载地址:https://github.com/neo4j/community/blob/1.8.M06/server-examples/src/main/java/org/neo4j/examples/server/TraversalDescription.java
三:程序正常运行用到的jar包
1.neo4j-enterprise-1.8.1-windows\neo4j-enterprise-1.8.1\lib下所有jar包
2.自己下载的jar包
com.sun.jersey.jersey-core-1.4.0.jar
javax.ws.rs.jar
jersey-client-1.9.jar
四:程序代码
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class TraversalDescription{ public static final String DEPTH_FIRST = "depth first"; public static final String NODE = "node"; public static final String ALL = "all"; private String uniqueness = NODE; private int maxDepth = 1; private String returnFilter = ALL; private String order = DEPTH_FIRST; private List<Relationship> relationships = new ArrayList<Relationship>(); public void setOrder( String order ) { this.order = order; } public void setUniqueness( String uniqueness ) { this.uniqueness = uniqueness; } public void setMaxDepth( int maxDepth ) { this.maxDepth = maxDepth; } public void setReturnFilter( String returnFilter ) { this.returnFilter = returnFilter; } public void setRelationships( Relationship... relationships ) { this.relationships = Arrays.asList( relationships ); } public String toJson() { StringBuilder sb = new StringBuilder(); sb.append( "{ " ); sb.append( " \"order\" : \"" + order + "\"" ); sb.append( ", " ); sb.append( " \"uniqueness\" : \"" + uniqueness + "\"" ); sb.append( ", " ); if ( relationships.size() > 0 ) { sb.append( "\"relationships\" : [" ); for ( int i = 0; i < relationships.size(); i++ ) { sb.append( relationships.get( i ) .toJsonCollection() ); if ( i < relationships.size() - 1 ) { // Miss off the final comma sb.append( ", " ); } } sb.append( "], " ); } sb.append( "\"return filter\" : { " ); sb.append( "\"language\" : \"builtin\", " ); sb.append( "\"name\" : \"" ); sb.append( returnFilter ); sb.append( "\" }, " ); sb.append( "\"max depth\" : " ); sb.append( maxDepth ); sb.append( " }" ); return sb.toString(); }}