• 数据库 (图 Neo4j 使用教程)


      图数据库功能:  主要是处理具有深度 相关联的数据,尤其是几何性增长的这种关系,比关系型数据库更具有优势。

      

      一个图是由   节点和 关系构成, 节点和关系都可以包含属性。

      一个关系连接两个节点,必须有一个开始节点和结束节点。

      Neo4j 的安装

      下载地址:桌面版(学习使用)https://neo4j.com/artifact.php?name=neo4j-desktop-offline-1.2.1-setup.exe

      windows 下安装社区版 zip

      1.解压文件

      2.  cmd   进入bin 下面,执行   neo4j install-service     

      3. neo4j start  启动服务

      4.http://localhost:7474 

      5. neo4j stop  停止服务

      6. neo4j uninstall-service 卸载  

        7. 默认用户名称和密码  neo4j    neo4j 

      Neo4j 的使用

     命令
    格式 示例

    新增 节点名称:标签名称{key:value}   

    需要注意的是  key 不能使用双引号包裹

    CREATE (
       <node-name>:<label-name>
       {    
          <key>:<Value>
          ........
          <n-key>:<n-Value>
       }
    )
    create(user:Use {name:"小明",age:12 })
    一个节点可以创建多个标签
    CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)
     

    MATCH查询

     

    match(user:User) return user

    match(user:User) return user.name

     建立关联    create(user:User)-[r:Goods]->(book:Book)
     匹配 建立新的关系    match(user:User),(book:Book) create (user)-[r:Goods{price:12,num:1}]->(book) return r
     更新   match(user:User) set user.userName = "xiaomi" return user

      

      基本的用法

      我们先以数据库表进行抽象(User 用户表     Goods 商品表    Records 购买记录 )

      对应字段 :User(name,age)   Goods(name,price)    Records(userName,goodName,num)

      1. 首先我们创建一个用户 类

      添加两个人小明和小花

      create (user:User{name:"xiaoming",age:12})

      create (user:User{name:"xiaoming",age:13})

      create (user:User{name:"xiaohua",age:15})

      2. 创建两个商品

      create (good:Goods{name:"肯德基",price:40})

      create (good:Goods{name:"java书",price:24.5})

      3. 小明买了两本书

      match(user:User),(good:Goods) where user.name = "xiaoming" and good.name = "java书" create (user)-[r:Records{userName:user.name,goodName:good.name,num:2}]->(good) return r

      4.  查询总共有多少人

      match(user:User) return user

      5. 小明修改了书的数量

      match(user:User{name:"xiaoming"})-[r:Records{userName:user.name,goodName:good.name}]->(good:Goods{name:"java书"}) set r.num = 3  return r

      6. 小明退了买的书

      match(user:User{name:"xiaoming"})-[r:Records{userName:user.name,goodName:good.name}]->(good:Goods{name:"java书"}) delete r 

       7. 移除对象的属性(remove 用于移除属性或者标签)

      match(user:User{name:"xiaoming"})  remove user.name return user    (相当于只移除了小明里面的name 属性)

      

      


      

      创建一个深度比较长的数据(案例1)

      

      

       深度进行匹配

      match(n:Num{name:3})-[r:Father]->(b:Num)-[r1:Father]->(c:Num) return n,b,c

      结果:

      

      


      开始(案例2)

    进行匹配

    match(n:Num{name:3})-[r:Father | Mother]->(b:Num)-[r1:Father | Mother]->(c:Num) return n,b,c

    结果:

        

  • 相关阅读:
    【系统安全性】一、背景、原理与解决思路
    Spring Boot使用阿里云证书启用HTTPS
    图片上传前先在本地预览
    gulp的使用以及Gulp新手入门教程
    bootstrap datetimepicker、bootstrap datepicker日期组件对范围的简单封装
    作为程序员,你关注哪些国外 IT 网站?
    sql server 2014安装后用sa登录问题
    win server2012r2上发布网站常见错误 "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法
    dapper使用时性能优化
    解决Web部署 svg/woff/woff2字体 404错误
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/11125025.html
Copyright © 2020-2023  润新知