ISO GQL Language Support by Ultipa
The VS Code extension specifically designed for ISO/IEC 39075 Graph Query Language standard
This extension provides complete syntax highlighting, autocomplete, hover documentation, and intelligent language features for ISO GQL files.
🆕 What's New in v0.2.2
- ISO GQL File Icons: Dedicated transparent icon theme for
.gql files with graph structure design
- Dual Comment Support: Both
-- (SQL-style) and // (C-style) line comments are now supported
- Enhanced Documentation: Improved CLAUDE.md with detailed architecture and development guidelines
See CHANGELOG.md for complete version history.
🎯 Features
⚡ ISO Standard Compliant: Built from the official ISO/IEC 39075 specification, not generic GraphQL
📁 Dedicated .gql File Support: Specifically designed for .gql files (not .graphql )
🗄️ Session & Transaction Support: Full highlighting for session management and transaction control commands
🤖 IntelliSense Support: Auto-completion, hover documentation, and function signatures
🔧 HDC Operations: Heterogeneous Distributed Computing server management
⚙️ EXEC Procedures: Procedure execution with graph context support
🚀 Advanced Language Features
- ISO GQL Keywords: Complete SESSION, TRANSACTION, MATCH, INSERT command support (399+ keywords)
- Graph Pattern Matching: Advanced node, edge, and path pattern recognition with quantifiers
- Session Management: SET/RESET/CLOSE session commands with parameter binding
- Transaction Control: START TRANSACTION, COMMIT, ROLLBACK support
- Property Graph Constructs: Native support for nodes, edges, and graph expressions
- Advanced Functions: Aggregation, scalar, string, temporal, mathematical, and predicate functions (60+ functions)
- HDC Operations: Distributed computing with HDC servers, graphs, and algorithms
- EXEC Procedures: Procedure calls with optional graph context and parameter passing
Supported Language Features
Core Query Language
- Graph pattern matching (MATCH, OPTIONAL MATCH, WHERE, RETURN)
- Data manipulation (INSERT nodes/edges, DELETE, REMOVE, SET properties)
- Path quantifiers with correct GQL syntax:
((pattern)){1,5} , pattern* , pattern+
- Path modes: SHORTEST, ACYCLIC, SIMPLE, TRAIL, WALK
- Variable assignment with LET (not WITH - GQL doesn't use WITH for query composition)
- Filtering with FILTER statements
Data Definition & Schema
- Schema operations (CREATE/DROP SCHEMA, GRAPH, INDEX, USER, ROLE)
- Property graph management
- Type definitions and constraints
- CAST operations for type conversion
Session & Transaction Management
- Session commands (SESSION SET/RESET/CLOSE)
- Transaction control (START TRANSACTION, COMMIT, ROLLBACK)
- Parameter binding and configuration
Advanced Operations
- HDC (Heterogeneous Distributed Computing): Server management, graph distribution, algorithm execution
- EXEC Procedures: Procedure calls with graph context and parameter passing
- Set operations (UNION, INTERSECT, EXCEPT)
- Grouping and aggregation (GROUP BY, HAVING)
- System commands (SHOW, EXPLAIN, PROFILE, DEBUG)
Functions & Expressions
- Mathematical: ABS, CEIL, FLOOR, ROUND, LOG, EXP, POWER, SQRT, trigonometric functions
- String: UPPER, LOWER, TRIM (LEADING/TRAILING/BOTH), SUBSTRING, REPLACE, LENGTH functions
- Temporal: DATE, TIME, TIMESTAMP, DURATION operations
- Aggregation: COUNT, SUM, AVG, MIN, MAX, COLLECT_LIST, statistical functions
- Graph: ELEMENT_ID, PROPERTY_EXISTS, PATH_LENGTH, SAME, DIFFERENT
- Utility: COALESCE, NULLIF, SIZE, CARDINALITY
Installation
Install this extension from the VS Code Marketplace:
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "ISO GQL Language Support by Ultipa"
- Click Install
Usage
Basic Usage
Simply open any .gql file in VS Code and enjoy comprehensive language support:
- Syntax Highlighting: All ISO GQL keywords, functions, and operators are highlighted
- Auto-completion: Type keywords and get intelligent suggestions with documentation
- Hover Documentation: Hover over functions and keywords to see detailed descriptions
- Function Signatures: Get parameter hints when typing function calls
ISO GQL supports multiple comment styles:
-- SQL-style line comment (press Ctrl+/ or Cmd+/ to toggle)
// C-style line comment (also supported)
/* Block comment
spanning multiple lines */
Example GQL Code
-- Session and transaction management
SESSION SET SCHEMA company_database;
START TRANSACTION READ WRITE;
// Graph pattern matching with path quantifiers
MATCH path = ((person:Person)-[r:KNOWS]->(friend:Person)){1,3}
WHERE person.name = "Alice"
LET relationship_strength = AVG(r.weight)
RETURN person, friend, relationship_strength
ORDER BY relationship_strength DESC;
// HDC operations
HDC ADD SERVER "server1" WITH CONFIG "hdcConfig.json";
EXEC PROCEDURE analyze_network() WITH GRAPH social_network;
COMMIT;
Using ISO GQL File Icons
This extension provides a dedicated file icon theme for .gql files to distinguish them from GraphQL files:
- Press
Ctrl+Shift+P (or Cmd+Shift+P on Mac)
- Type "Preferences: File Icon Theme"
- Select "ISO GQL File Icons" from the list
- Your
.gql files will now display the ISO GQL icon in the file explorer
Note: If you're using another icon theme (like Material Icon Theme), it will take precedence. The language icon in the status bar and breadcrumbs will always show the ISO GQL icon when a .gql file is open.
Key Differences from Cypher/Neo4j
- Use
INSERT for creating nodes/edges (not CREATE )
- Use
LET for variable assignment (not WITH )
- Path quantifiers apply to entire patterns:
((pattern)){1,5}
CREATE is only for schemas, graphs, indexes, users, roles
- No
WITH clause for query composition
Contributing
Found a bug or have a feature request? Please open an issue on our GitHub repository.
Resources
License
MIT
Publisher
Ultipa - Leading Graph Database Technology Provider
Enjoy using ISO GQL Language Support! If you find this extension helpful, please consider rating it on the VS Code Marketplace.
| |