neo4j图形数据库Java应用
CREATE(陈冠希:明星 {名称: "陈冠希"}),(王菲:明星 {名称: "王菲"}),(李亚鹏:明星 {名称: "李亚鹏"}),(瞿颖:明星 {名称: "瞿颖"}),(张柏芝:明星 {名称: "张柏芝"}),(谢霆锋:明星 {名称: "谢霆锋"}),(周迅:明星 {名称: "周迅"}),(张亚东:明星 {名称: "张亚东"}),(窦唯:明星 {名称: "窦唯"}),(窦鹏:明星 {名称: "窦鹏"}),(李大齐:明星 {名称: "李大齐"}),(朴树:明星 {名称: "朴树"}),(窦颖:明星 {名称: "窦颖"}),(梁朝伟:明星 {名称: "梁朝伟"}),(刘嘉玲:明星 {名称: "刘嘉玲"}),(周迅)-[:旧爱]->(窦鹏),(周迅)-[:旧爱]->(李大齐),(周迅)-[:旧爱]->(朴树),(周迅)-[:旧爱]->(李亚鹏),(周迅)-[:绯闻]->(梁朝伟),(周迅)-[:绯闻]->(谢霆锋),(王菲)-[:离异]->(李亚鹏),(王菲)-[:旧爱]->(谢霆锋),(王菲)-[:离异]->(窦唯),(谢霆锋)-[:旧友]->(陈冠希),(谢霆锋)-[:离异]->(张柏芝),(张亚东)-[:制作人]->(朴树),(张亚东)-[:离异]->(窦颖),(张亚东)-[:制作人]->(王菲),(李亚鹏)-[:旧爱]->(瞿颖),(陈冠希)-[:旧爱]->(张柏芝),(瞿颖)-[:旧爱]->(张亚东),(窦唯)-[:堂兄弟]->(窦鹏),(窦唯)-[:兄妹]->(窦颖),(梁朝伟)-[:夫妻]->(刘嘉玲),(王菲)-[:好友]->(刘嘉玲)
MATCH (n:明星) RETURN n
效果:
直接关系
MATCH m=(:明星 {名称:"周迅"})-[*..1]-() RETURN m
最短路径
MATCH p = AllShortestPaths((周迅:明星 {名称:"周迅"})-[*..6]-(王菲:明星 {名称:"王菲"})) RETURN p
效果:
MATCH p=(()<-[:旧爱]-()-[:旧爱]->()) RETURN p LIMIT 50
MATCH p=(()<-[:旧爱]-()<-[:旧爱]-()-[:旧爱]->()) RETURN p LIMIT 50
MATCH p=(()<-[:旧爱]-()<-[:旧爱]-()) RETURN p LIMIT 50
直接上代码.
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));}@Overridepublic void close() throws Exception {driver.close();}public void printGreeting(final String message) {try (Session session = driver.session()) {String greeting = session.writeTransaction(new TransactionWork<String>() {@Overridepublic 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");}}
}
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 stubDriver 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 a.name = {name} "+ "RETURN a.name 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();}}
直接操作数据库文件(确保服务已关闭):
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");}
}
package com;import org.neo4j.graphdb.Label;
public enum Tutorials implements Label {JAVA,SCALA,SQL,NEO4J;
}
package com;import org.neo4j.graphdb.RelationshipType;public enum TutorialRelationships implements RelationshipType {JVM_LANGIAGES, NON_JVM_LANGIAGES;
}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/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>
与Spring集成未完待续、、、
neo4j图形数据库Java应用相关推荐
- neo4j图形数据库JAVA实现
https://gaoming.blog.csdn.net/article/details/80255387
- java session使用_使用Neo4j和Java进行大数据分析 第2部分
本文的第一部分介绍了Neo4j及其Cypher查询语言.如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响.您还在开发环境中安装了N ...
- Neo4j 图形数据库
目录 Neo4j 基础 什么是Neo4j Neo4j 模块构建 Neo4j的主要应用场景 Neo4j 环境搭建 Docker 安装Neo4j Neo4j数据浏览器 Neo4j CQL CQL简介 Ne ...
- 利用Neo4j的Java驱动获取节点的所有直接关系
利用Neo4j的Java驱动获取节点的所有直接关系 简单介绍 直接上代码 注解 总结 简单介绍 笔者利用Neo4j的Java驱动获取节点的所有直接关系,主要逻辑就是使用驱动查询Neo4j,遍历返回结果 ...
- neo4j图形数据库第七弹——整合vis.js实现数据可视化
正经学徒,佛系记录,不搞事情 基于上文:https://blog.csdn.net/qq_31748587/article/details/84232352 vis.js的项目 基于上文:https ...
- 使用Neo4j和Java进行大数据分析 第1部分
几十年来,关系数据库一直主导着数据管理,但它们最近已经失去了NoSQL的替代品.虽然NoSQL数据存储不适合每个用例,但它们通常更适合大数据,这是处理大量数据的系统的简写.四种类型的数据存储用于大数据 ...
- neo4j图形数据库简介,基本查询(cypher基本语法)
neo4j简介 图形数据库 环境变量配置(需要Java环境):NEO4J_HOME+文件目录 : Path里面:%NEO4J_HOME%\bin : 命令窗口输入·: neo4j console然后输 ...
- Neo4j图形数据库的一些基本Cypher查询指令总结
1 Cypher查询语言简介 2 一些常用语句 2.1 批量创建导入节点 2.2 查看节点 2.3 批量删除节点 2.4 批量创建导入节点间关系 2.5 查询节点间关系 2.6 批量删除节点间关系 2 ...
- Neo4j图形数据库教程
目录 参考 图数据库.关系型数据库 Delete.Remove 案例 1.创建节点 2.创建结构关系 3.显示结果 3.1 一般显示 3.2.筛选出子孙绵延四代的树干 3.3. 筛选出存在三代子孙的树 ...
最新文章
- 在Linux上配置Telnet服务
- Robust 源代码分析之gradle-plugin
- android多屏幕适配注意几点
- COJ 2192: Wells弹键盘 (dp)
- 玩转VIM编辑器-vim附加特性
- 读写锁的由奢入俭“易”
- Beetlex之websocket/tls服务压测工具
- .NET 5.0 Preview 2发布解析
- 7-164 打印杨辉三角 (20 分)
- 如何使用recordMyDesktop录制截屏视频
- Unity+NGUI多分辨率适配方案
- 图像处理(十四)HOG特征提取
- 小管家进销存_美团入局共享充电宝,专家称或收购一两家,同行称雷声大雨点小...
- cad图纸问号怎么转换文字_打开cad2016图纸字体和符号显示问号怎么办?
- 复联4里的钢铁侠原型是谁?(剧透警告慎入)
- 关于文件你必须了解的一些基本概念
- 酷博社区卫生系统激活健康档案的生命活力
- keras实现回归预测
- Android pdf填充表单,预览,图片填充,水印添加
- java解决异常_聊聊Java中的异常及处理
热门文章
- 2021江苏地区高考成绩排名查询,江苏高考成绩排名查询系统,江苏高考位次排名查询...
- add_months()函数介绍
- uva11689 Soda Surpler
- 软工小队第二次会议 4-23
- 小型初创公司Trisymbiotic IP(R)宣布,其美国专利10,020,436的设施效率超越美国和中国最快的超级计算机
- 迅雷在下载网页视频时没有自动弹出提示,怎么办?
- 闪动的TextView
- betapubgmobile服务器维护,pubg mobile beta测试版
- 告别windows、拥抱linux,ThinkPad E485安装XUbuntu实录
- 在Windows Mobile手机上运行Android