大佬教程收集整理的这篇文章主要介绍了Neo4j:java客户端操作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
它是由应用程序的性质(neo4j是独立服务器 还是和程序在一起),性能,监控和数据安全性来决定架构选择。
嵌入式Neo4j数据库是性能的最佳选择。 通过指定数据存储的路径以编程方式访问嵌入式数据库。
我们选择嵌入式数据库出于以下原因:
Neo4j Server是相互操作性,安全性和监控的最佳选择。 实际上,REST接口允许所有现代平台和编程 语言与它进行互操作。 此外,作为独立应用程序,它比嵌入式配置更安全(客户端中的潜在故障不会影响服务器),并且更易于监控。 如果我们选择使用这种模式,@R_125_9616@程序将充当Neo4j服务器的客户端。要连接到Neo4j服务器,可以使用任何编程语言的REST 访问数据库。
引入依赖:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.5.5</version>
</dependency>
添加数据:
public class EmbeddedNeo4jAdd {
private static final File databaseDirectory = new File( "target/graph.db" );
public static void main(String[] args) {
GraphDatabaseservice databaseservice = new GraphDatabaseFactory().newEmbeddedDatabase(databaseDirectory);
transaction tx = databaseservice.beginTx();
Node node = databaseservice.createNode();
node.setProperty("name", "tom");
node.setProperty("age", 20);
node.addLabel(Label.label("Person"));
//定义cql
String cql = "create(p:Person {name:'jerry',age:10}) return p";
databaseservice.execute(cql);
tx.success();
tx.close();
databaseservice.shutdown();
}
}
查询数据:
public class EmbeddedNeo4jQueryAll {
private static final File databaseDirectory = new File( "target/graph.db" );
public static void main(String[] args) {
GraphDatabaseservice graphDb = new
GraphDatabaseFactory().newEmbeddedDatabase(databaseDirectory);
transaction tx = graphDb.beginTx();
String cql = "MATCH (a:Person) where a.name = $name return a";
Map<String, Object> paramerters = new HashMap<String, Object>();
paramerters.put("name", "tom");
Result result = graphDb.execute(cql, paramerters);
while (result.hasNext()) {
Map<String, Object> row = result.next();
for (String key : result.columns()) {
Node nd = (NodE) row.get(key);
System.out.printf("%s = %s:%s%n", key, nd.getProperty("name"), nd.getProperty("age"));
}
}
tx.success();
tx.close();
graphDb.shutdown();
}
}
引入驱动包:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-bolt-driver</artifactId>
<version>3.2.10</version>
</dependency>
示例代码:
public class Neo4jServerMain {
public static void main(String[] args) {
Driver driver = GraphDatabase.driver( "bolt://192.168.40.128:7687",
AuthTokens.basic( "neo4j", "xxxxx" ) );
Session session = driver.session();
String cql = "MATCH (a:Person) RETURN a ";
Result result = session.run(cql);
while ( result.hasNext() ) {
Record record = result.next();
Value value = record.get("a");
System.out.println( value.get( "name" ).asString() + " " + value.get( "age" ) );
}
session.close();
driver.close();
}
}
public class Neo4jServerMain2 {
public static void main(String[] args) {
Driver driver = GraphDatabase.driver( "bolt://192.168.40.128:7687",
AuthTokens.basic( "neo4j", "QWE340721" ) );
Session session = driver.session();
String cql = "MATCH p=shortestPath((person:Person {name:$startNamE})- [*]-(person2:Person {name:$endNamE} )) RETURN p";
Result result = session.run( cql,parameters("startName","王启年","endName","九品射手燕小乙") );
while ( result.hasNext() )
{
Record record = result.next();
System.out.println(record);
}
session.close();
driver.close();
}
}
以上是大佬教程为你收集整理的Neo4j:java客户端操作全部内容,希望文章能够帮你解决Neo4j:java客户端操作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。