博客
关于我
Neo4j(4):Neo4j - CQL使用
阅读量:790 次
发布时间:2023-02-14

本文共 1772 字,大约阅读时间需要 5 分钟。

Neo4j - CQL简介

Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言。类似于Oracle数据库具有查询语言SQL,Neo4j则具有CQL作为查询语言。CQL的设计目标是高效处理图形数据,采用声明性模式匹配的方式,语法简单且易于阅读。

CQL命令概述

CQL命令是Neo4j图形数据库操作的核心工具,主要包括以下几种:

  • CREATE:用于创建节点、关系及属性。
  • MATCH:用于检索节点、关系及属性数据。
  • RETURN:用于返回查询结果。
  • WHERE:用于提供条件过滤检索数据。
  • DELETE:用于删除节点及关系。
  • REMOVE:用于删除节点及关系的属性。
  • ORDER BY:用于对检索结果进行排序。
  • SET:用于添加或更新节点及关系的标签。
  • 导入CSV数据

    Neo4j支持通过CSV文件导入数据,以下是常用命令示例:

    load csv from 'file:///triples.csv' as line create (:xiyouRelation {from:line[1], relation:line[3], to:line[0]})
    load csv from 'file:///people.csv' as line create (:person {name:line[0]})

    创建节点和关系

    在Neo4j中,创建节点和关系的方式如下:

    # 创建简单节点create (n)# 创建多个节点create (n),(m)# 创建带标签和属性的节点并返回节点create (n:person {name:'如来'}) return n
    # 创建关系CREATE (n:person {name:'杨戬'})-[r:师傅]->(m:person {name:'玉鼎真人'}) return type(r)
    # 创建复杂关系MATCH (n:person {name:'孙悟空'}),(m:xiyouRelation),(s:person) WHERE m.from=n.name AND m.to=s.name CREATE (n)-[:西游人物关系{relation:m.relation}]->(s) RETURN id(m),n.name,m.relation,s.name

    查询数据

    使用MATCH命令进行查询,具体示例如下:

    MATCH (n:xiyouRelation) RETURN n LIMIT 25
    MATCH (n:person {name:'孙悟空'}) RETURN n
    MATCH (n:person {name:'孙悟空'}),(m:xiyouRelation) WHERE m.from=n.name RETURN id(m),n.name,m.relation,m.to

    返回结果

    RETURN子句用于获取查询结果,支持返回特定属性或全部属性:

    MATCH (n:xiyouRelation) RETURN id(n),n.from,n.to,n.relation

    WHERE子句

    WHERE子句用于过滤查询结果,语法与SQL类似:

    MATCH (n:person) WHERE n.name='孙悟空' OR n.name='猪八戒' RETURN n

    删除数据

    使用DELETE命令删除节点和关系:

    MATCH (n:person{name:"白龙马"}) DELETE n

    删除属性

    使用REMOVE命令删除节点或关系的属性:

    MATCH (n:role {name:"fox"}) REMOVE n.age RETURN n

    设置属性

    使用SET命令添加或更新属性:

    MATCH (n:role {name:"fox"}) SET n.age=32 RETURN n

    排序

    使用ORDER BY和DESC子句进行排序:

    MATCH (n:person) RETURN id(n),n.name ORDER BY id(n) DESC

    其他命令

    CQL还支持UNION、LIMIT、SKIP、DISTINCT等命令,用于优化查询结果。如需进一步了解,请参考Neo4j官方文档。

    通过以上命令,可以高效地在Neo4j中管理图形数据,进行数据检索和操作。

    转载地址:http://afcfk.baihongyu.com/

    你可能感兴趣的文章
    mysql服务无法启动的问题
    查看>>
    MySQL杂谈
    查看>>
    mysql权限
    查看>>
    mysql条件查询
    查看>>
    MySQL架构与SQL的执行流程_1
    查看>>
    MySQL架构与SQL的执行流程_2
    查看>>
    MySQL架构介绍
    查看>>
    MySQL架构优化
    查看>>
    MySQL查询优化:LIMIT 1避免全表扫描
    查看>>
    MySQL查询优化之索引
    查看>>
    mysql查询储存过程,函数,触发过程
    查看>>
    mysql查询总成绩的前3名学生信息
    查看>>
    mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
    查看>>
    MySQL死锁套路:一次诡异的批量插入死锁问题分析
    查看>>
    Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
    查看>>
    MySQL添加用户、删除用户与授权
    查看>>
    Mysql添加用户并授予只能查询权限
    查看>>
    MySQL灵魂16问,你能撑到第几问?
    查看>>
    mysql状态分析之show global status
    查看>>
    mysql状态查看 QPS/TPS/缓存命中率查看
    查看>>