这篇文章,我将介绍截止目前,RedisGraph的最新版本(v2.4)对Cypher语言的支持情况。

1.模式(patterns)

RedisGraph已支持Cypher中所有的模式。

2.类型(types)

作为操作图数据库的查询语言,Cypher的数据类型包括节点(nodes)、关系(relationships)、路径(path)、列表(lists)、地图(maps)、字符串类型(string)等等。目前尚未支持的类型主要是十六进制与八进制数字以及各类时间、日期、持续时间等时态类型(temporal types)。RedisGraph对NULL的实现是将其作为缺失或未定义值的表示。

3.子句(clauses)

RedisGraph已支持除REMOVE(用于删除属性值)子句外的全部子句,且基于RedisGraph对NULL的解释方法,可通过设置(SET)属性值为NULL的方法实现REMOVE的功能。

4.函数(functions)

函数是Cypher实现复杂查询的基础,是Cypher中十分重要的一部分,一条优美的查询语句离不开恰当的函数与基础的子句的组合。在众多的函数种类中,已经得到RedisGraph全部支持的类别有聚合(aggregating)函数、列表(list)函数、数字数学(math - numeric)函数、断言(predicate)函数、表达式(expression)函数和地理空间(geospatial)函数;得到RedisGraph部分支持的类别有标量(scalar)函数和字符串(string)函数;RedisGraph尚未支持的函数类别有对数数学(logarithmic math)函数、三角数学(trigonometric math)函数和用户自定义(user-defined)函数。

5.操作符(operators)

数学操作符中,取幂(exponentiation)操作尚未得到支持;字符串操作符中,正则表达式(regex)尚未得到支持;所有布尔操作符都已得到RedisGraph支持。

Cypher语句是Neo4j推出的,操作图数据库的查询语句,其地位可以对标关系型数据库中的SQL语言。在操作RedisGraph时,需要按照指定格式使用Cypher命令。如:

GRAPH.QUERY MotoGP “MATCH (r : Rider)-[: rides]->(t : Team) WHERE t.name = ‘Yamaha’ RETURN r.name, t.name”

即格式为:

GRAPH.QUERY Database_name "Cypher codes"

按以上格式即可使用Cypher操作RedisGraph,但要注意,一定得是RedisGraph已支持的Cypher子句。

高性能内存图数据库RedisGraph(三)的更多相关文章

  1. 高性能内存图数据库RedisGraph(一)

    作为一种简单.通用的数据结构,图可以表示数据对象之间的复杂关系.生物信息学.计算机网络和社交媒体等领域中产生的大量数据,往往是相互连接.关系复杂且低结构化的,这类数据对传统数据库而言十分棘手,一个简单 ...

  2. 高性能内存图数据库RedisGraph(二)

    这篇文章主要介绍用一下RedisGraph的历史和现状. 2018年5月,Redis Labs发布了RedisGraph的预览/测试版.6个月后,在Redis Labs和开源社区的开发者们的共同努力下 ...

  3. Neo4j:图数据库GraphDB(三)创建删除及高级操作

    本片继续前几篇介绍图数据库的创建,有疑问可以我的看看前两篇文章:http://www.cnblogs.com/rongyux/p/5537206.html 四 图数据库的创建 1 创建一个节点   P ...

  4. (三)图数据库neo4j的安装配置

    (一)neo4j安装 neo4j有社区版本和企业版,社区版本是免费的,企业版本是收费的.在linux上安装如下步骤: 1.将下载的neo4j-enterprise-3.4.0-unix.tar.gz包 ...

  5. 图数据库项目DGraph的前世今生

    本文由云+社区发表 作者:ManishRai Jain 作者:ManishRai Jain Dgraph Labs创始人 版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于db weekly ...

  6. Neo4j图数据库从入门到精通

    目录 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章:安装 1.环境 2.下载 3.开启远程访问 4.启动 第三章:CQL 1.CQL简介 2.Neo4j CQL命令/条款 ...

  7. Nebula 架构剖析系列(一)图数据库的存储设计

    摘要 在讨论某个数据库时,存储 ( Storage ) 和计算 ( Query Engine ) 通常是讨论的热点,也是爱好者们了解某个数据库不可或缺的部分.每个数据库都有其独有的存储.计算方式,今天 ...

  8. Neo4j图数据库从入门到精通(转)

    add by zhj: 转载时,目录没整理好,还会跳转到原文 其实RDB也可以存储多对多的关系,使用的是中间表,GDB使用的是边,RDB中的实体存储在数据表,而GDB存储在节点.两者使用的底层技术不同 ...

  9. 【图数据库】史上超全面的Neo4j使用指南

    转自:https://cloud.tencent.com/developer/article/1336299 在这篇文章中: 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章 ...

随机推荐

  1. 七、Nginx反向代理

    调度器调度后端服务器 : web高可用  负载均衡   解决web单点故障 部署后端服务器---配置Nginx服务器(定义集群.请求转发)---起服务.测试----配置集群池属性(权重.失败次数.失败 ...

  2. JavaScript DOM编程艺术第四章 — JavaScript图片库案例研究

    这一章通过JavaScript图片库案例,学习了一些DOM属性. HTML代码 <!DOCTYPE html> <html> <head> <meta cha ...

  3. Linux命令大全之查看登陆用户信息

    1,w +回车 2.who +回车 3.last+回车 4.lastlog+回车

  4. 我对SpringMVC的浅见

    之前在学校没接触框架这东西之前只接触过MVC的model1和model2,而真正接触SpringMVC的时候是在一年前,在学习过程中,我这才意识到SpringMVC大大简化了以前的开发工程,到了社会上 ...

  5. DL基础补全计划(一)---线性回归及示例(Pytorch,平方损失)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. Flask(1)- 简介

    背景 为啥要学,很久之前就学过点,没写文章 最近因为要写机器人工具,其实就是简单的纯服务端工具 反正 flask 也挺简单,一天快速过完 概念会直接搬教程的,实操自己敲一遍再总结 参考教程 https ...

  7. 使用curl断点续传下载文件

    办公网络网速不是很好,使用Chrome下载一些软件时不时会中断,恶心的是Chrome居然不支持断点续传下载(为什么chrome的下载不支持断点续传呢?),迅雷自然是不能装的,那怎么办?还好我有大名鼎鼎 ...

  8. JS中的单例模式及单例模式原型类的实现

    单例模式 单例模式的定义: 保证一个类只有一个实例,并提供一个访问它的全局访问点 通过一个简单的例子来了解单例模式的作用: class Div { constructor() { return doc ...

  9. 案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/118685521 长期持续带来更多项目与技术分享 ...

  10. 字典翻译@Dict

    1.编写翻译字典@Dict /** * 数据字典翻译注解 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) publ ...