Neo4j离线环境搭建与基于python中py2neo的简单操作

  • 1 安装与配置
    • 1.1 Neo4j安装
    • 1.2 python操作环境配置
  • 2 Neo4j操作
    • 2.1 创建:
      • 创建点
      • 创建点边:
    • 2.2 查询:
    • 2.3 删除:
    • 2.4 示例:
    • 2.5 新增
  • 3 py2neo操作

1 安装与配置

1.1 Neo4j安装

  1. 下载安装包:https://neo4j.com/ neo4j-community-4.4.11-unix.tar.gz

  2. 下载JDK: 因为no4j是基于Java的,所以需要安装之前需要安装JDK;V4版本的NO4J对应JDK11。
    下载链接:https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
    我这里下载linux版本https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

  3. 安装JDK
    (1)解压 :进入所在目录,执行:
    tar zxvf jdk-11.0.15.1_linux-x64_bin.tar.gz
    (2) 放入安装目录:选择自己要安装的目录将解压后的文件放入。
    (3) 修改环境变量

    #java
    export JAVA_HOME=自己的放置目录/jdk-11.0.15.1
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export PATH=$PATH:${JAVA_PATH}
    

    重启配置文件:source /etc/profile
    (4) 验证

 javacjava-version

安装成功啦!

  1. 安装Neo4j
    (1) 解压
    (2) 放入安装目录
    (3) 修改配置文件
    (4) 启动
    进入所在目录的bin文件夹下,打开终端,输入 ./neo4j start
    (5) 查看状态 ./neo4j status
    (6) 停止 ./neo4j stop
    (7) 客户端访问
    访问地址:http://服务器ip:7474/browser/
    本地访问:http://localhost:7474/browser/

1.2 python操作环境配置

1、 下载安装包:neo4j-5.0.0.tar.gz
2、 pip install neo4j-5.0.0.tar.gz

2 Neo4j操作

2.1 创建:

创建点

CREATE (:电影{title:’The Matrix’,时间:1997})

电影是节点的label,后面是节点属性,节点id只能自动生成

CREATE (p:Person {name: ‘Keanu Reeves’, born: 1964})

RETURN p

CREATE(节点名称:节点标签名称 {属性名称1:属性值1,属性名称2:属性值2})

创建点边:

CREATE(a:Per{name:’Tom’})-[r:ACTED_IN{roles:’Forrest’}]->(m:Movie)

> MATCH(节点标签1:节点名称1),(节点标签2:节点名称2)
> CREATE(节点标签1)-[关系标签:关系名称{属性值}]->(节点标签2)
> RETURN 关系标签

给一个节点创建多个标签:

CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)

where创建关系:

MATCH(<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-ame>)
WHERE <condition>
CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
{<relationship-properties>}]->(<node2-label-name>)

2.2 查询:

>MATCH(节点名称:节点标签)
>RETURN 节点名称.属性名称,……
>MATCH (emp:Employee)
>RETURN emp.empid,emp.name,emp.salary,emp.deptno

where:

MATCH (emp:Employee)
WHERE emp.name = 'Abc'
RETURN emp

2.3 删除:

删除节点

DELETE <node-name-list>

删除节点与关系

DELETE <node1-name>,<node2-name>,<relationship-name>

删除属性与标签

REMOVE <property-name-list>

列表格式

<node-name>.<property1-name>,
<node-name>.<property2-name>,
....
<node-name>.<propertyn-name>

2.4 示例:

MATCH (book { id:122 })
REMOVE book.price
RETURN book

2.5 新增

新增属性

SET  <property-name-list>
<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>,
....
<node-label-name>.<propertyn-name>

3 py2neo操作

from py2neo import Graph,Node,Relationship
graph = Graph('http://localhost:7474',auth=("neo4j","neo4j"))#此处根据自己需要向数据库添加数据
start_node = Node("IP",name=ip_src[i],address=ip_src_address[i],port=str(ip_src_port[i]))
end_node = Node("IP",name=ip_dst[i],address=ip_dst_address[i],port=str(ip_dst_port[i]))
relation = Relationship(start_node,'',end_node)#graph.create(start_node)
#使用merge,会覆盖之前一致的节点;
graph.merge(start_node,"IP","name")
graph.merge(end_node,"IP","name")
graph.merge(relation)

Neo4j离线环境搭建与基于python中py2neo的简单操作相关推荐

  1. python中文件的简单操作

    一.mode="r" mode="r":一次性读取文本中全部的内容,以字符串的形式返回结果 read :读取内容 readline : 读取一行 readlin ...

  2. 【ESP32 乐鑫 离线环境搭建】

    ESP32 乐鑫离线开发工具安装 成功则恭喜 否则提示No Toolchain found for Target esp32 [ESP32 乐鑫 离线环境搭建] [ESP32-S2]乐鑫离线环境 与I ...

  3. 使用python中py2neo包连接neo4j(安装,连接,成功解决)

    使用python中py2neo包连接neo4j neo4j下载 JDK下载 neo4j官网下载 检查安装是否成功 py2neo安装 命令行安装 测试安装是否成功 最近在研究有关知识图谱的任务,选择用图 ...

  4. 基于python中jieba包的中文分词中详细使用(一)

    文章目录 基于python中jieba包的中文分词中详细使用(一) 01.前言 02.jieba的介绍 02.1 What 02.2特点 02.3安装与使用 02.4涉及到的算法 03.主要功能 03 ...

  5. 基于python中jieba包的中文分词中详细使用

    基于python中jieba包的中文分词中详细使用(一) 01.前言 之前的文章中也是用过一些jieba分词但是基本上都是处于皮毛,现在就现有的python环境中对其官方文档做一些自己的理解以及具体的 ...

  6. linux设备驱动开发之环境搭建(基于exynos4412)

    第一章 linux设备驱动开发之环境搭建(基于exynos4412) 目录 第一章 linux设备驱动开发之环境搭建(基于exynos4412) 1.搭建开发板运行环境 1.1.交叉开发模式 安装交叉 ...

  7. python中sample是什么意思_基于Python中random.sample()的替代方案

    python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值比较大的时候,该方法执行速度很慢,如: numpy random模块中的choice ...

  8. python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  9. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

最新文章

  1. feed流和瀑布流_Feed流和瀑布流 - kathy829的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. java窗口how2j_HOW2J java文件的创建及常用方法
  3. Android系统启动-zygote篇
  4. 变种 背包问题_【朝夕的ACM笔记】动态规划-背包问题
  5. 项目忙还要过软考,您需要简练!
  6. java防止undo空间撑爆_秒杀系统设计补坑篇(seata回顾)
  7. alibaba实习生代码大赛
  8. android 获取图片主色调
  9. 广州.NET俱乐部 VSTS活动报道
  10. 为什么派生的子类报错不能实例化抽象类_一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别...
  11. idea中拉取项目时 没有文件_idea编译器中maven项目获取路径的方法
  12. 李迟2021年4月知识总结
  13. EventBus的使用
  14. 项目管理沙龙第十一次聚会纪要--当敏捷没有共识的时候
  15. 数字电路与系统(第三版)答案 戚金清 王兢
  16. 提供搜题公众号题库接口
  17. Minimum supported Gradle version is 6.1.1. Current version is 5.4.1.
  18. 如何在 R 中计算 Eta 平方
  19. Linux CentOS7.0 使用root登录桌面
  20. 以太坊源码分析(39)geth启动流程分析

热门文章

  1. 计算机操作系统的备份和快速恢复,windows操作系统的备份与恢复详解,免去重装系统的烦恼...
  2. nodejs图片处理工具gm用法
  3. Android 如何判断分屏模式是否开启或者多窗口显示
  4. 超轻量级中文ocr,OcrLiteOnnx文字识别
  5. 如何获取触摸精灵的版本号??
  6. SonicWALL防火墙配置NAT Policy
  7. JAVA:初级项目之 基于Swing界面的仿QQ(二)
  8. 异步爬虫“该文章已下线” 、“mrd参数”解决方法
  9. c++内存管理3: new handler、=default、=delete函数
  10. [CSDN帮助]勤写勋章说明