neo4j图形数据库Java应用

发布时间:2025-05-03 12:55

©著作权归作者所有:来自51CTO博客作者gmHappy的原创作品,请联系作者获取转载授权,否则将追究法律责任

CREATE

(陈冠希:明星 {名称: "陈冠希"}),

(王菲:明星 {名称: "王菲"}),

(李亚鹏:明星 {名称: "李亚鹏"}),

(瞿颖:明星 {名称: "瞿颖"}),

(张柏芝:明星 {名称: "张柏芝"}),

(谢霆锋:明星 {名称: "谢霆锋"}),

(周迅:明星 {名称: "周迅"}),

(张亚东:明星 {名称: "张亚东"}),

(窦唯:明星 {名称: "窦唯"}),

(窦鹏:明星 {名称: "窦鹏"}),

(李大齐:明星 {名称: "李大齐"}),

(朴树:明星 {名称: "朴树"}),

(窦颖:明星 {名称: "窦颖"}),

(梁朝伟:明星 {名称: "梁朝伟"}),

(刘嘉玲:明星 {名称: "刘嘉玲"}),

(周迅)-[:旧爱]->(窦鹏),

(周迅)-[:旧爱]->(李大齐),

(周迅)-[:旧爱]->(朴树),

(周迅)-[:旧爱]->(李亚鹏),

(周迅)-[:绯闻]->(梁朝伟),

(周迅)-[:绯闻]->(谢霆锋),

(王菲)-[:离异]->(李亚鹏),

(王菲)-[:旧爱]->(谢霆锋),

(王菲)-[:离异]->(窦唯),

(谢霆锋)-[:旧友]->(陈冠希),

(谢霆锋)-[:离异]->(张柏芝),

(张亚东)-[:制作人]->(朴树),

(张亚东)-[:离异]->(窦颖),

(张亚东)-[:制作人]->(王菲),

(李亚鹏)-[:旧爱]->(瞿颖),

(陈冠希)-[:旧爱]->(张柏芝),

(瞿颖)-[:旧爱]->(张亚东),

(窦唯)-[:堂兄弟]->(窦鹏),

(窦唯)-[:兄妹]->(窦颖),

(梁朝伟)-[:夫妻]->(刘嘉玲),

(王菲)-[:好友]->(刘嘉玲)

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.

效果:

neo4j图形数据库Java应用_scala

直接关系

MATCH m=(:明星 {名称:"周迅"})-[*..1]-() RETURN m

1.

neo4j图形数据库Java应用_操作_02

最短路径

MATCH p = AllShortestPaths(

(周迅:明星 {名称:"周迅"})-[*..6]-(王菲:明星 {名称:"王菲"})

) RETURN p

1.2.3.4.5.

效果:

neo4j图形数据库Java应用_neo4j_03

MATCH p=(()<-[:旧爱]-()-[:旧爱]->()) RETURN p LIMIT 50

1.

MATCH p=(()<-[:旧爱]-()<-[:旧爱]-()-[:旧爱]->()) RETURN p LIMIT 50

1.

neo4j图形数据库Java应用_图形数据库_05

MATCH p=(()<-[:旧爱]-()<-[:旧爱]-()) RETURN p LIMIT 50

1.

neo4j图形数据库Java应用_操作_06

直接上代码.

bolt连接:

package com;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Transaction;
import org.neo4j.driver.v1.TransactionWork;

import static org.neo4j.driver.v1.Values.parameters;

public class HelloWorldExample implements AutoCloseable {
private final Driver driver;

public HelloWorldExample(String uri, String user, String password) {
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
}

@Override
public void close() throws Exception {
driver.close();
}

public void printGreeting(final String message) {
try (Session session = driver.session()) {
String greeting = session
.writeTransaction(new TransactionWork<String>() {
@Override
public String execute(Transaction tx) {
StatementResult result = tx
.run("CREATE (a:Greeting) "
+ "SET a.message = $message "
+ "RETURN a.message + ', from node ' + id(a)",
parameters("message", message));
return result.single().get(0).asString();
}
});
System.out.println(greeting);
}
}

public static void main(String... args) throws Exception {
try (HelloWorldExample greeter = new HelloWorldExample(
"bolt://localhost:7687", "neo4j", "123456")) {
greeter.printGreeting("hello, world");
}
}
}

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.

package com;

import static org.neo4j.driver.v1.Values.parameters;

import java.util.HashMap;
import java.util.Map;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Record;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Value;

public class Neo4jBoltAPIDBOperation {

public static void main(String[] args) {
// TODO Auto-generated method stub
Driver driver = GraphDatabase.driver("bolt://127.0.0.1:7687",
AuthTokens.basic("neo4j", "123456"));
Session session = driver.session();

session.run("CREATE (a:Person {name: {name}, title: {title}})",
parameters("name", "gm", "title", "King"));

StatementResult result = session.run(
"MATCH (a:Person) WHERE = {name} "
+ "RETURN AS name, a.title AS title",
parameters("name", "gm"));

while (result.hasNext()) {
Record record = (Record) result.next();
System.out.println(record.get("title").asString() + " "
+ record.get("name").asString());
}

session.close();
driver.close();
}

}

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.

直接操作数据库文件(确保服务已关闭):

package com;

import java.io.File;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;

public class Neo4jJavaAPIDBOperation {
public static void main(String[] args) {
GraphDatabaseFactory dbFactory = new GraphDatabaseFactory();
GraphDatabaseService db = dbFactory.newEmbeddedDatabase(new File("E:/neo4j-community-3.3.5/data/databases/graph.db"));
try (Transaction tx = db.beginTx()) {

Node javaNode = db.createNode(Tutorials.JAVA);
javaNode.setProperty("TutorialID", "JAVA001");
javaNode.setProperty("Title", "Learn Java");
javaNode.setProperty("NoOfChapters", "25");
javaNode.setProperty("Status", "Completed");

Node scalaNode = db.createNode(Tutorials.SCALA);
scalaNode.setProperty("TutorialID", "SCALA001");
scalaNode.setProperty("Title", "Learn Scala");
scalaNode.setProperty("NoOfChapters", "20");
scalaNode.setProperty("Status", "Completed");

Relationship relationship = javaNode.createRelationshipTo(
scalaNode, TutorialRelationships.JVM_LANGIAGES);
relationship.setProperty("Id", "1234");
relationship.setProperty("OOPS", "YES");
relationship.setProperty("FP", "YES");

tx.success();
}
System.out.println("Done successfully");
}
}

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.

package com;

import org.neo4j.graphdb.Label;
public enum Tutorials implements Label {
JAVA,SCALA,SQL,NEO4J;
}

1.2.3.4.5.6.

package com;

import org.neo4j.graphdb.RelationshipType;

public enum TutorialRelationships implements RelationshipType {
JVM_LANGIAGES, NON_JVM_LANGIAGES;
}

1.2.3.4.5.6.7.

<project xmlns="http:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http:///POM/4.0.0 http:///xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>neo4j</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.3.5</version>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>1.4.4</version>
</dependency>
</dependencies>
<build />
</project>

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.

与Spring集成未完待续、、、

收藏 评论 举报

相关文章

网址:neo4j图形数据库Java应用 http://c.mxgxt.com/news/view/954617

相关内容

Neo4j:图数据库的引领者及其应用场景探索
neo4j图数据库入门
利用图数据库neo4j搭建娱乐圈知识图谱
关于图数据库neo4j的关系建立
neo4j两个节点间创建多个关系 java
java 操作neo4j如何建立关系
Neo4j入门
国外vps中Neo4j与Spring框架集成如何进行
Neo4j实战应用构建明星关系图谱
关于neo4j图数据库笔记四

随便看看