TigerGraph文档
2.3
2.3
  • TigerGraph 2.3 技术文档目录
  • TigerGraph 版本比较
  • GSQL 图数据库算法库
  • 版本发布, 功能变更
    • 版本发布 - TigerGraph 2.3
      • 版本发布 - TigerGraph 2.2
    • 变更日志
  • INTRODUCTION AND OVERVIEW
    • TigerGraph 入门指南
    • GSQL 101
      • 环境准备
      • 定义一个Schema
      • 加载数据
      • 使用内置的SELECT进行查询
      • 使用参数化GSQL查询进行查询
      • 总结:你学到的东西
    • TigerGraph平台概览
    • Knowledge Base and FAQs
      • TigerGraph 常见问题
      • GSQL 常见问题
    • Kafka Loader用户手册
  • 系统管理指南
    • TigerGraph 管理员指南
      • 硬件及软件配置
      • 安装和配置
        • 安装指南
        • 高可用(HA)集群配置
        • 集群的扩容
        • 软件许可激活
      • 系统权限管理
        • 用户权限及验证
        • LDAP
        • 单点登录(SSO)
      • 数据加密
        • 链接的加密
        • 非活跃数据(Data At Rest)的加密
      • 系统管理
        • 基于Web的管理工具:Admin Portal
        • 使用gadmin工具管理
        • 数据的备份与恢复
        • 系统维护中的常见问题
  • 开发者指南
    • GSQL 语言开发指南
      • 第一部分 数据定义及加载
        • 简介
        • 系统和语言基础
        • 定义一个图模型(Graph Schema)
        • 修改图模型
        • 创建数据加载任务
        • 执行加载作业
        • 附录
          • 关键词和系统预留词
          • GSQL 从开始到结束的整个过程和数据流向
      • 第二部分 查询
        • 简介
        • 创建、安装、执行查询
        • 数据类型
        • 累加器(Accumulators)
        • 运算符,函数和表达式
        • 声明和赋值
        • SELECT语句
        • 控制流语句
        • 数据修改语句
        • 输出语句以及文件对象
        • 异常处理语句
        • 注释
        • 附录
          • 附录A: 一般错误和问题
          • 附录B:查询语言的完整正式语法
          • 附录C. 图查询语言的预留词列表
          • 附录D. 示例
    • RESTPP API 开发指南
      • 简介
      • RESTPP请求
      • 系统预制函数(Endpoints)
      • 系统预制函数请求格式(JSON)
    • 事务处理及ACID支持
  • 图形界面 可视化
    • GraphStudio 用户指南
      • GraphStudio 概述
      • GraphStudio许可证
      • 用户权限管理
      • 设计图模型(Schema)
      • 将数据映射到图
      • 加载数据
      • 探索图数据
      • 编写查询
      • 导入和导出解决方案
      • 已知问题
      • GraphStudio中的专利及第三方软件版权说明
Powered by GitBook
On this page
  • 浮点数的精度限制
  • 对于不存在的顶点ID的响应

Was this helpful?

  1. 开发者指南
  2. GSQL 语言开发指南
  3. 第二部分 查询
  4. 附录

附录A: 一般错误和问题

浮点数的精度限制

没有任何一台计算机能够以完美的精度存储所有浮点数(即非整数)。 浮点数据类型(即FLOAT)提供大约7个十进制数字的精度; 双浮点数据类型(即DOUBLE)将其提高到大约15个十进制数字的精度。 所以假设某个计算涉及到比较两个FLOAT数或DOUBLE数是否到精确相等的问题(如==,<=,> =,BETWEEN ... AND ...),则结果有可能和我们的预期不符。 如果GSQL解析器检测到用户可能正在对FLOAT或DOUBLE数进行精确比较,则系统会显示告警和建议信息。 例如,假设对于浮点变量v和v2来说,表达式v == v2会触发以下警告消息:

The comparison 'v==v2' may lead to unexpected behavior because it involves
equality test between float/double numeric values. We suggest to do such
comparison with an error margin, e.g. 'abs((v) - (v2)) < epsilon', where epsilon
is a very small positive value of your choice, such as 0.0001.
('v==v2'的操作可能会产生异常的结果,因为它包含了两个float/double数字的比较。
我们建议如果需要做该类型的比较,最好可以引入一个冗余度。
例如使用'abs((v) - (v2)) < epsilon'语句,其中epsilon是一个非常小的正数,
例如你可以选择让它等于0.0001)

对于不存在的顶点ID的响应

如果某个查询包含顶点参数(VERTEX或VERTEX <vType>),并且在查询执行期间时给出了一个并不存在的顶点的ID,则系统会显示错误消息,并终止查询。 同时,调用函数将某个单个顶点的ID字符串转换成顶点的时候,系统的响应方式也是类似的:

  • to_vertex(): 详见"其他方程"章节.

但是,如果参数是一个顶点集(SET <VERTEX>或SET <VERTEX <vType >>),并且在查询执行期间给出了一个或多个不存在的ID,则系统会显示一条警告消息,并继续执行该查询而忽略那些不存在的ID。 因此,如果所有给定的ID都不存在,则该参数将变为一个空集。 调用函数将一组顶点ID转换为一组顶点时,系统的响应方式也是类似的:

  • to_vertex_set(): 详见"其他方程"章节.

  • SelectVertex(): 详见"其他方程"章节.

Previous附录Next附录B:查询语言的完整正式语法

Last updated 6 years ago

Was this helpful?