【java连接Neo4j服务器】
2013-08-11 14:28
141 查看
我们来看一下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
}
更多精彩教程请关注:电脑桌面图片
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
}
更多精彩教程请关注:电脑桌面图片
相关文章推荐
- java连接Neo4j服务器
- java连接Neo4j服务器
- 100万并发连接服务器笔记之Java Netty处理1M连接会怎么样
- neo4j-java连接
- Java-WebSocket 项目的研究(二) :客户端连接服务器并发送消息实例
- java telnet客户端 用于连接Windows的Telnet服务器
- Java连接FTP服务器,并上传或下载以及删除ftp服务器中的文件
- java开发之用http协议连接web服务器
- JAVA连接FTP服务器,并上传/下载文件代码
- Java连接MemCached服务器
- Java基础网络---1-----连接到服务器
- java代码实现连接远程SFTP,并上传压缩包到服务器
- java连接Fastdfs图片服务器上传失败的解决方法
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- 100万并发连接服务器笔记之Java Netty处理1M连接会怎么样
- java邮件发送在阿里云Linux部署的坑连接不上服务器
- java网络编程基于TCP的多客户端连接服务器
- java通过ssh连接服务器执行shell命令
- Java通过ssh连接到Linxu和Windos服务器远程启动Tomcat
- java 网络编程 多个客户端连接服务器