• 【数据库学习】图数据库:neo4j


    1,标签属性图模型

    在这里插入图片描述

    1)Nodes – 节点

    在其他图模型中称作“点”、“顶点”、“对象”。
    语法:

    节点必须包含在括号 () 内;
    
    • 1

    节点可以有属性:(n:Label {prop: 'value'})

    2)Relationships – 关系

    在其他图模型中也称作“边”、“弧”、“线”。关系拥有类型,关系在创建时必须指定方向 ,关系在查询时可以不指定方向表示双向关系。
    语法:
    关系两端各有一个短横线“-”,用方括包含关系类型,关系类型名前面必须有冒号 (😃 。在其中一端用 >或 < 代表关系的方向,也可以没有方向:

     - -<- -,- ->
      -[:DIRECTED]- ->
    
    • 1
    • 2

    关系也可以有属性:-[:KNOWS {since: 2010}]

    Properties – 属性

    可以定义在节点和关系上。
    语法:

    包含在{}中。
    
    • 1

    3)Labels – 标签

    代表节点的类别,节点可以没有标签或者有多个标签。
    标签对节点进行分类,似关系数据库中的表 标签对节点进行分类,类似关系数据库中的表。
    语法:

    标签名前必须有冒号;
    
    • 1

    4)模式

    模式是由关系连接起来的节点构成的表达式。

    () -[] -()    #没有方向的关系
    () -[] ->()   #有方向的关系
    ()< -[] -()   #双向的关系
    
    • 1
    • 2
    • 3
    (n:Label {prop:'value'})-[:TYPE]- >(m:Label)
    
    • 1

    2,Cypher

    Neo4j图形数据库的查询语言是Cypher(CQL), CQL看似简单,但由于图的结构可能在实际应用中比较复杂。

    • CQL遵循SQL语法。
    • 命名规范:关键字-全部大写;标签名-首字母大写;关系名-全部大写;属性名、变量名-全部小写

    3,CQL-常用命令

    CQL命令用法
    CREATE创建创建节点,关系和属性
    MATCH匹配检索有关节点,关系和属性数据
    RETURN返回返回查询结果
    WHERE哪里提供条件过滤检索数据
    DELETE删除删除节点和关系
    REMOVE移除删除节点和关系的属性
    ORDER BY以…排序排序检索数据
    SET组添加或更新标签
    limit 10只显示10条数据
    MATCH (m:Movie)  #Movie为标签,m为节点变量
    RETURN m, m.title #属性以{variable}.{property_key}的方式访问 .title返回属性
    
    • 1
    • 2
    MATCH (p:Person)-[r:ACTED_IN]->(m:Movie)  #r是变量,保存关系;ACTED_IN为关系类型
    RETURN p, r, m 
    
    • 1
    • 2
    MATCH path = (:Person)-[:ACTED_IN]->(:Movie)  #path是变量,保存路径
    RETURN path
    
    • 1
    • 2

    4,CQL-常用函数

    函数用法
    String字符串用于使用String字面量。
    Aggregation聚合用于对CQL查询结果执行一些聚合操作。
    Relationship关系用于获取关系的细节,如startnode,endnode等。

    5,清空所有数据

    match (n) detach delete n
    
    • 1

    6,常用shell命令

    #重启
    ./bin/neo4j start   #restart stop
    
    #修改密码
    ./bin/neo4j-admin set-initial-password  psw  #psw为密码
    
    #The client is unauthorized due to authentication failure.问题解决
    停止neo4j服务,并且删除data/dbms/auth,重新启动
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    nginx - 使用nginx部署vue项目到本地以及代理和负载均衡
    Python基础入门篇【41】--python中的时间包
    【MedusaSTears】正则表达式搜索心得
    冰冰学习笔记:Linux下的权限理解
    C++ STL---string类用法
    光线投射之伪3d
    使用apose.pdf批量导出图片
    Unity 2D 游戏学习笔记(3)
    java基于ssm+vue的考研信息查询系统 elementui
    leetcode 205. 同构字符串
  • 原文地址:https://blog.csdn.net/SunshineTan/article/details/126729335