2. Relation Query Language (RQL)# This chapter describes the Relation Query Language syntax and its implementation in CubicWeb. 2.1. Introduction 2.1.1. Goals of RQL 2.1.2. Comparison with existing languages 2.1.3. The different types of queries 2.1.4. RQL relation expressions 2.1.5. RQL Operators 2.2. RQL syntax 2.2.1. Reserved keywords 2.2.2. Case 2.2.3. Variables and typing 2.2.4. Virtual relations 2.2.5. Literal expressions 2.2.6. Operators 2.2.7. Search Query 2.2.8. Available functions 2.2.9. Examples 2.2.10. Insertion query 2.2.11. Update and relation creation queries 2.2.12. Deletion query 2.3. Debugging RQL 2.3.1. Available levels 2.3.2. Enable verbose output 2.3.3. Detect largest RQL queries 2.3.4. API 2.4. RQL usecases 2.4.1. Search bar 2.4.2. Use of RQL in Card documents - ReST 2.4.3. rql directive 2.4.4. rql-table directive 2.4.5. Use in python projects and CLI 2.4.6. Use in JavaScript/React components 2.5. Implementation 2.5.1. BNF grammar 2.5.2. Internal representation (syntactic tree) 2.5.3. Known limitations 2.5.4. Topics