
HTSQL – A comprehensive navigational query language for relational databases - networked
http://htsql.org/
======
seibelj
This tech / company was profiled a few years ago in the NYT
[http://mobile.nytimes.com/2011/03/24/business/smallbusiness/...](http://mobile.nytimes.com/2011/03/24/business/smallbusiness/24sbiz.html)

Essentially no way to profit from it, so the founder gave up

~~~
clarkevans
HTSQL forms the basis of RexDB ( [https://rexdb.org](https://rexdb.org)
[https://bitbucket.org/rexdb/](https://bitbucket.org/rexdb/)
[https://dist.rexdb.org/packages/](https://dist.rexdb.org/packages/) ), which
is a very active project. That said, HTSQL is not being commercially supported
apart from Prometheus Research's RexDB installations. HTSQL itself is actively
maintained but will not see any significant new features. Even so, HTSQL is
quite productive to use, will be supported for quite some time for our
products and clients, and it's used extensively internally here at Prometheus
Research.

The next generation this effort is called Rabbit (MIT licensed) and we will
announce it sometime this year or early next year. The RexDB API for Rabbit
will be called rex.query
([https://bitbucket.org/rexdb/rex.query](https://bitbucket.org/rexdb/rex.query))
and, till Rabbit is fully developed enough to replace HTSQL, rex.query be
targeting the HTSQL/PostgreSQL backend.

------
Twisell
This could have been great but to be useful to me it would need to have a way
to use parameters in DB functions.

I know this is specific so here I go to find the source code and see if it's
possible to add this... After 5 pages... No clear way to source code... Meh...

>For works that we would incorporate into our repository, we do require
intellectual property assignment. In exchange, we give our word as a open
source covenant that we will maintain this work and not take it soley
proprietary with your contributions; else, we will release this entire work
under the Apache license if future support is not forthcoming. We do not have
a contribution agreement yet prepared, but when needed, we intend to model it
after the Contributor Agreement, described by Bruce Perens’ The Covenant - A
New Approach to Open Source Cooperation.

I guess it's time to go Apache don't you think? You gave you word ;)

~~~
clarkevans
[https://bitbucket.org/prometheus/htsql/](https://bitbucket.org/prometheus/htsql/)
and sure, we could make it Apache licensed if someone outside Prometheus
Research wishes to use it.

That said, this code base has reached peak complexity (given the features it
has) and would require some significant rework to incorporate even more
features. We're moving on to a next generation query language we now call
Rabbit.

------
nyir
Still think this is an awesome syntax for exploration and interactive use -
the way results are accumulated, respectively shown, is also rather nice even
though some particular ways to query data can be harder than in pure SQL.

One extension (for an independent implementation) I'm working on is even more
defaults / heuristics for finding paths between tables, such that if you have
a HTSQL query with /x.y.z you can leave out the y if it's clear from the
context (or set by user preference).

Another thing that's practically missing is a defined standard grammar, the
description in the documentation isn't suitable except as guidance.

------
DEinspanjer
Interesting and powerful looking, but no releases or significant community
activity since 2013? There are some answers in StackOverflow, so it doesn't
seem to be dead by any means, but worrisome.

~~~
jsprogrammer
A complete implementation shouldn't need new releases... ever. Is there a bug
or feature that is not implemented?

~~~
jsprogrammer
I'm curious what type of development activity people expect to see on a
feature-complete system?

~~~
the_duke
Environments change. Operating systems change. Dependenciens change. Bugs are
found. Feedback might lead to new features.

There is no such thing as "complete" in software development.

Any project wihout relatively recent commits or releases usually signifies
abandonment and makes it worrisome to use, for me at least.

------
crudbug
Gremlin [0] over RDBMS, SQLg [1, 2], is also an interesting take on this
problem.

[0] [http://tinkerpop.apache.org](http://tinkerpop.apache.org)

[1]
[https://github.com/pietermartin/sqlg](https://github.com/pietermartin/sqlg)

[2] [https://github.com/unipop-graph/unipop](https://github.com/unipop-
graph/unipop)

------
noisy_boy
I was wondering if for a REST api, it might be a good idea to provide a htsql
endpoint beside regular REST endpoints. E.g. a /htsql/<htsql_expression>; what
do people think?

