2 个版本
0.1.1 | 2020年9月22日 |
---|---|
0.1.0 | 2020年9月8日 |
#106 in #query-language
在 3 个crate中使用 (通过 ogma-libs)
54KB
1K SLoC
自然对象查询语言
自然对象查询语言(或NOQL)的目标是有一个普通英语表示的对象查询
type QueryList<'a> = Vec<Query<'a>>;
enum Query<'a> {
Index {
index: usize,
from_end: bool
},
Key(&'a str)
}
其中对象可以接受一系列查询段,并索引列表或从映射中获取键
索引
the ((first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh|twelfth|#st|#nd|#rd|#th) [to last]|last) item
其中 #
是一个正整数
键
the [key|`key`|`multi word key`]
键的处理程序可以选择“去人性化”键,方法任意
查询列表
(index|key) [of (index|key) [of (index|key) ...]]
查询段通过 of
连接
lib.rs
:
将自然语言解析为 Vec<Query>
。主要入口点是 from_slice
和 from_str
依赖项
~215KB