【java连接Neo4j服务器】

本文详细介绍了使用Java连接Neo4j服务器的方法,并通过示例展示了如何创建节点、添加属性、建立关系以及进行元数据操作。此外,还演示了如何通过TraversalDescription进行图形查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们来看一下java连接Neo4j服务器的具体实现:
    package com.wzs.linux;
    public class Relationship
    {
    public static final String OUT = "out";
    public static final String IN = "in";
    public static final String BOTH = "both";
    private String type;
    private String direction;
    public String toJsonCollection()
    {
    StringBuilder sb = new StringBuilder();
    sb.append("{ ");
    sb.append(" \"type\" : \"" + type + "\"");
    if (direction != null)
    {
    sb.append(", \"direction\" : \"" + direction + "\"");
    }
    sb.append(" }");
    return sb.toString();
    }
    public Relationship(String type, String direction)
    {
    setType(type);
    setDirection(direction);
    }
    public Relationship(String type)
    {
    this(type, null);
    }
    public void setType(String type)
    {
    this.type = type;
    }
    public void setDirection(String direction)
    {
    this.direction = direction;
    }
    }
    [java]
    import java.net.URI;
    import java.net.URISyntaxException;
    import javax.ws.rs.core.MediaType;
    import com.sun.jersey.api.client.Client;
    import com.sun.jersey.api.client.ClientResponse;
    import com.sun.jersey.api.client.WebResource;
    public class CreateSimpleGraph
    {
    private static final String SERVER_ROOT_URI = "http://localhost:7474/db/data/";
    public static void main( String[] args ) throws URISyntaxException
    {
    checkDatabaseIsRunning();
    // START SNIPPET: nodesAndProps
    URI firstNode = createNode();
    addProperty( firstNode, "name", "Joe Strummer" );
    URI secondNode = createNode();
    addProperty( secondNode, "band", "The Clash" );
    // END SNIPPET: nodesAndProps
    // START SNIPPET: addRel
    URI relationshipUri = addRelationship( firstNode, secondNode, "singer",
    "{ \"from\" : \"1976\", \"until\" : \"1986\" }" );
    // END SNIPPET: addRel
    // START SNIPPET: addMetaToRel
    addMetadataToProperty( relationshipUri, "stars", "5" );
    // END SNIPPET: addMetaToRel
    // START SNIPPET: queryForSingers
    findSingersInBands( firstNode );
    // END SNIPPET: queryForSingers
    }
    private static void findSingersInBands( URI startNode )
    throws URISyntaxException
    {
    // START SNIPPET: traversalDesc
    // TraversalDescription turns into JSON to send to the Server
    TraversalDescription t = new TraversalDescription();
    t.setOrder( TraversalDescription.DEPTH_FIRST );
    t.setUniqueness( TraversalDescription.NODE );
    t.setMaxDepth( 10 );
    t.setReturnFilter( TraversalDescription.ALL );
    t.setRelationships( new Relationship( "singer", Relationship.OUT ) );
    // END SNIPPET: traversalDesc
    // START SNIPPET: traverse
    URI traverserUri = new URI( startNode.toString() + "/traverse/node" );
    WebResource resource = Client.create()
    .resource( traverserUri );
    String jsonTraverserPayload = t.toJson();
    ClientResponse response = resource.accept( MediaType.APPLICATION_JSON )
    .type( MediaType.APPLICATION_JSON )
    .entity( jsonTraverserPayload )
    .post( ClientResponse.class );
    System.out.println( String.format(
    "POST [%s] to [%s], status code [%d], returned data: "
    + System.getProperty( "line.separator" ) + "%s",
    jsonTraverserPayload, traverserUri, response.getStatus(),
    response.getEntity( String.class ) ) );
    response.close();
    // END SNIPPET: traverse
    }

更多精彩教程请关注:电脑桌面图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值