高性能内存图数据库RedisGraph(三)[通俗易懂]

高性能内存图数据库RedisGraph(三)[通俗易懂]这篇文章,我将介绍截止目前,RedisGraph的最新版本(v2.4)对Cypher语言的支持情况。 1.模式(patterns) RedisGraph已支持Cypher中所有的模式。 2.类型(ty

高性能内存图数据库RedisGraph(三)

      这篇文章,我将介绍截止目前,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子句。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6003.html

(0)
上一篇 2023-04-19
下一篇 2023-04-19

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注