Neo4j

特点

  • 遵循属性图数据模型
  • 通过使用Apache Lucence支持索引
  • 支持UNIQUE约束

    什么是UNIQUE约束?
    """
    1.定义了unique约束的字段中不能包含重复值
    2.可以为一个或多个字段定义unique约束
    3.unique约束中可以包含null空值(unique只要求每列的值不一样,当值是null时也算不一样)
    """
  • 支持完整的ACID(原子性,一致性,隔离性,持久性)规则

    什么是事务?
    """
    事务就是一组原子性的SQL执行单元,如果其中的任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。
    要么全部执行成功(commit),要么全部执行失败(rollback)。
    """
    1.原子性
    单个事务,为一个不可分割的最小工作单元,整个事务中的所有操作要么全部执行成功,要么全部执行失败
    2.一致性
    数据库总是从一个一致性的状态转换到另外一个一致性的状态。保证数据一致性
    3.隔离性
    一个事务所做的修改在最终提交以前,对其他事务是不可见的。
    4.持久性
    一旦事务提交,所做的修改就会永久保存到数据库中。即使系统崩溃,也不会丢失。
    """
  • 采用原生图形库与本地GPE(图形处理引擎)
  • 支持查询的数据导出到JSON和XLS格式
  • 提供了REST API,可以被任何编程语言(Java,Spring,Scala)访问
  • 提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
  • 支持两种Java API:Cypher API和Native Java API来开发Java应用程序

Neo4j属性图模型规则

  • 表示节点,关系和属性中的数据
  • 节点和关系都包含属性
  • 关系连接节点
  • 属性是键值对
  • 节点用圆圈表示,关系用方向键表示
  • 关系具有方向:单向和双向
  • 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”

CQL命令

CREATE 创建 创建节点,关系和属性
MATCH 匹配 检索有关节点,关系和属性数据
RETURN 返回 返回查询结果
WHERE 哪里 提供条件过滤检索数据
DELETE 删除 删除节点和关系
REMOVE 移除 移除节点和关系的属性
ORDER BY 以...排序 排序检索数据
SET 组 添加或更新标签

CQL函数

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

CQL支持的数据类型
boolean,byte,short,int,long,float,double,char,String

示例
创建Customer和CreditCard节点之间的关系

MATCH (cust:Customer),(cc:CreditCard)
WHERE cust.id="1001" AND cc.id="5001"
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc)
RETURN r

posted @   无悔的选择  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示