"... it seems likely that the verbosity of a query language might obscure important information or its syntax may emphasize unimportant query features rather than important ones." -- from thesis ["Database Queries in Java"] (http://infoscience.epfl.ch/record/153803) by Christopher Ming-Yee Iu, page 61.
YZ[ˈiːzi] is simple (easy), laconic, string-based, object query language. At the moment there is implementation for Clojure/Java in Clojure.
- Selection:
entity
- Projection:
entity[prop1 prop2]
- Filtering:
entity#(prop="sv")
- Joining:
entity1 (entity2)
- Union:
entity1, entity2
- Sorting:
↓entity
- Calling an user function:
entity[prop1 @(f &)]
- Recursive queries:
entity[*parent]
- Removing duplicates:
¹entity
- Limits:
1-10:entity
- Default property:
entity#(.="sv")
- Definition.
- Creating.
- Updating.
- [Java] (http://www.oracle.com/technetwork/java/)
- [Clojure] (http://clojure.org)
Project is in alpha stage and it is just prototype, not for production use.
Copyright 2011-2013 Vyacheslav Dimitrov, [Petrozavodsk State University] (http://petrsu.ru/Structure/structure_e.html).
YZ is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 only, as published by the Free Software Foundation.
YZ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with YZ. If not, see [http://www.gnu.org/licenses/] (http://www.gnu.org/licenses/).
- [Specification (grammatics, semantics, pragmatics)] (https://github.com/vdim/yz/blob/master/doc/SYNTAX.md)
- [Implementation (for Java/Clojure)] (https://github.com/vdim/yz/blob/master/doc/IMPLEMENTATION.md)
- [Our Environment] (https://github.com/vdim/yz/blob/master/doc/ENVIRONMENT.md)
- [Installation] (https://github.com/vdim/yz/blob/master/doc/INSTALLATION.md)
- [Usage] (https://github.com/vdim/yz/blob/master/doc/USAGE.md)
- [Testing and benchmarking] (https://github.com/vdim/yz/blob/master/doc/TESTING.md)
- [Bibliography] (https://github.com/vdim/yz/blob/master/doc/BIBLIOGRAPHY.md)