读书人

java联接Neo4j服务器

发布时间: 2013-03-01 18:33:02 作者: rapoo

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();    }}


读书人网 >其他数据库

热点推荐