OpenCypher 是欧美图数据库厂家 Neo4j 基于其图查询语言Cypher 开发的一套开源图查询语言,该语言也是开发者们较为熟悉的图查询语言之一。
Ulitpa Graph(嬴图)于2022年6月实现的对OpenCypher 的支持,旨在让用户能够通过自己熟悉的OpenCypher,操作Ultipa的底层数据引擎,使用Ultipa 的图算法,体验Ultipa的高性能查询。
据悉,Ulitpa 对OpenCypher 的支持不仅能让开发者延续对Neo4j 的使用经验,还有助于他们顺利过渡到Ulitpa 自研的图查询语言——UQL(Ulitpa Graph Query Language)。Ulitpa开发的转换工具Cypher to UQL 能够将OpenCypher 语句转换为UQL,使Cypher 和UQL 的对仗关系一目了然,极大提高了用户对UQL 的理解。
此外,也有不少厂商在产品设计初期采取直接套用Cypher 的查询语法,没有自研,从而节省了大量开发费用和成本,这在市场竞争中是有优势的,尤其是针对Neo4j 在本地化支持方面的不足,直接套用Neo4j 的功能,走借助本地优势填补市场空缺的路线。
尽管如此,为何很多坚持走技术路线的图厂商要研发自己的图查询语言呢?因为出于对查询性能的考量,图查询语言的设计必须与其底层数据库的存储相适配——透过图查询语句在书写及阅读上的便捷程度,就足以对它们背后的查询效率一目了然。
Ulitpa 的UQL 采取了混合模式(demi-schema)设计,既能实现基于预定义模式的精确查询,也可以忽略模式进行大规模处理和计算。【更多阅读:Ultipa官网-文档-UQL】
不同的图查询语言在效率和效果方面存在差异。尽管各大图数据库厂商在产品设计中越来越注重企业级应用的易用性,包括图查询语言的兼容性,但对OpenCypher 的支持并不会改变其底层数据库的性能,只会将产品特性和使用体验更加直接地转化和提供给客户。