datadata-dqllisted
Install: claude install-skill datadata-team/datadata-skills
# Datadata Query Language (DQL) 脚本编写
DQL 是基于 Starlark 的自定义脚本语言,扩展了 Starlark 的语法和标准库,提供数据处理、HTTP 网络调用等能力。
## 🔴 核心规则
### 1. 脚本必须有 `return` 语句
DQL 脚本实际是一个函数的 body,**最后必须有 `return` 语句**返回数据,否则执行结果为空。
```python
# ✅ 正确
df = query("SELECT * FROM users")
return df
# ❌ 错误:没有 return,结果为空
df = query("SELECT * FROM users")
```
### 2. 编写前必须先阅读 grammar.txt(语法规范)
DQL 基于 Starlark。**编写任何 DQL 脚本前,必须先阅读 [grammar.txt](./references/grammar.txt)**(Starlark EBNF 语法),严格按其允许的语法结构编写,**不得套用 grammar.txt 未定义的语法**。
### 3. 必须先阅读对应的 References 文档
**禁止仅凭本文档就编写 DQL 代码。** 本文档只是索引,实际 API 签名、参数、返回值以 references 为准。
> **两类"必读"分工**:[grammar.txt](./references/grammar.txt) 管**语法**(所有脚本都要先读,见上一条);各 `.md` 管 **API**(按场景读)。
编写代码前至少阅读以下对应文档:
| 场景 | 必读文档 |
| ---------------------- | ------------------------------------------------------------------------------------------------- |
| SQL 查询 | [query.md](./references/query.md) |
| HTTP 请求 | [fetch.md](./references/fetch.md) |
| 数据转换 / DataFrame | [dataframe.md](./references/dataframe.md) |
| Series 操作 | [series.md](./references/series.md) |
| 时间处理 / 数学 / JSON | [time.md](./re