【NebulaGraph】`YIELD` 子句的作用是什么?如何自定义查询结果的输出格式?

【NebulaGraph】`YIELD` 子句的作用是什么?如何自定义查询结果的输出格式? NebulaGraph YIELD 子句深度解析:从电信网络故障溯源到精准数据投喂实战问题引入本次聚焦于用户提出的以下具体问题:三、 nGQL 语言深度解析 (Deep Dive into nGQL)47.YIELD子句的作用是什么?如何自定义查询结果的输出格式?在一个国家级电信运营商的核心网络监控系统中,我们曾面临一个严峻的挑战。当某个核心路由器发生故障时,运维团队需要在秒级内回答:“哪些基站(Base Station)会因此中断服务?影响了多少用户?”最初的查询直接返回了所有关联的点和边的原始数据:MATCH (router)-[:connects_to*1..3]-(bs:base_station) WHERE id(router) == "faulty_router_001" RETURN router, bs;这种做法导致了两个严重问题:网络带宽浪费:返回的数据中包含了大量冗余的属性(如路由器的固件版本、基站的经纬度等),而业务只需要基站ID和受影响用户数。应用层处理复杂:下游的告警系统需要从复杂的嵌套结构