zoukankan      html  css  js  c++  java
  • 【neo4j】简易使用说明

    一、数据库简介

    Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

    二、NEO4j的基本要素

    1、实体节点

    实体节点有标签,其相当于关系型数据库中表名的概念,换句话说就是对实体的归类。例如:实体A,标签为person,则可知该实体的类别为person。当然,neo4j支持实体类型多标签,因此,实体A的标签可以是多个,比如既有person又有thing的标签等等。同时,neo4j支持实体中添加属性。其中,每个实体的属性都是该实体的特有属性,实体间的属性的名称与取值可相同可不同。定位一个实体节点需要知道代表其唯一性的内容,具体请看相关语句。

    2、关系

    关系一定是基于两个节点而产生,同时存在单方向。在关系上同样存在标签,标签是对关系的归类,同时和实体节点一样,关系的标签可以是单个也可以多个。另外,关系中也可以有属性,每个关系的属性可以一致也可不一致。定位一个关系则需要知道代表其唯一性的内容,具体请看相关语句。

    三、相关语句

    1、创建

    a)       创建一个带属性的节点

    Create (n:Person{name=”JackyMa”}) return n

    • n 是变量,用来代指我们创建的新的节点,在以后的查询中,变量很有用。
    • 在neo4j中标签区分大小写,person和Person是两个不用类别的标签

    b)      在现有的两个节点上创建一个新关系

    Match(n) where id(n)=5 return n;

    Match(m) where id(m) =6 return m;

    Create (n)-[r:Related]->(m) return *

    • 如果不match,直接执行create语句则会新生成节点与关系

    c)       在新的节点上创建一个新的关系

    Create (n:Person{name:”PonnyMa”})-[r:Create]->(m:Company{name:”Tencent”}) return *

    d)      在一个新的、一个旧的节点上创建一个新的关系

    Match(n) where id(n)=1 return n;

    Create (n:Person{name:”Pony”})-[r:related]->(n) return *

    2、修改

    a)       修改已经存在的节点的属性

    MATCH (n:Person { name: 'PonnyMa' })

    SET n.name= ' ponnyMa'

    b) 修改已经存在的节点的标签

    Match (n) where id(n)=3411 return n REMOVE n:Person SET n:PERSON

    c) 修改已经存在的节点间的关系标签

    MATCH (n)-[r]->(m) where id(n)=3411 and id(m)=3412 delete r

    MATCH (n) where id(n)=3411 match (m) where id(m)=3412 CREATE (n)-[r1:FOLLOWS]->(m)

    d) 修改静静存在节点间的关系的属性

    MATCH (n)-[r]->(m) where id(n)=3411 and id(m)=3412 SET r.date='2020-1-1'

    3、删除

    a) 删除一个节点

    Match (n) where id(n)=1545 return n

    Delete n

    b) 删除一个关系

    MATCH (n)-[r]->(m) where id(n)=3411 and id(m)=3412 delete r

    4、 查询

    Match (n) where id(n)=1545 return n

    Match(n:person) return * limit 25

    Match(n:person) where n.name contains ‘黄’

    四、开发实战中遇到的问题

    1、在使用python操作py2neo数据库时,出现过The old parameter syntax `{param}` is no longer supported. Please use `$param` instead的问题

    解决思路:检查python版本、neo4j版本以及py2neo版本的支持匹配度。

  • 相关阅读:
    原创 128的二进制有原码 反码和补码
    asp.net中进行获取当前时间以及当前时间的前后几个月
    dropdownlist的使用
    CutEditor在线编辑器的使用
    Repeater 嵌套用法
    使用cuteeditor进行视频上传
    电脑知识大全(快捷键大全)
    web.config
    项目总结(大唐)
    上传视频和图片的同时,生成缩略图
  • 原文地址:https://www.cnblogs.com/nfuquan/p/13153390.html
Copyright © 2011-2022 走看看