AlaSQL / alasql

AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.
http://alasql.org
MIT License
7.04k stars 659 forks source link

Let's' dream! #267

Closed agershun closed 1 year ago

agershun commented 9 years ago

Sometime I am thinking about a purpose of library and imagine how it can be used for intelligent software in the future.

Here we can have two direction of development: a) very pragmatic - the target is mobile + reliable backend b) less pragmatic - use for AI tasks, for example combine with libraries like this

mathiasrw commented 9 years ago

I love dreaming !

Are you dreming of having AI in alasql or having a vision for how alasql can be implemented into AI projects?

I dream of working on the to-go-to solution for javascript DB - and have a feeling that a modular setup for query generation combined with SQL compatible flavours and modular connection to different backends and a strong test disciplin is the way to go :)

wuxianliang commented 9 years ago

even more

  1. Probabilistic programming for the web http://webppl.org
  2. A Bayesian database table for querying the probable implications of data as easily as SQL databases query the data itself http://probcomp.csail.mit.edu/bayesdb/
agershun commented 9 years ago

Prolog. I thought about realize Prolog queies along with graph queries.

For example we can think about nodes and edges in the terms of atoms and terms:

CREATE GRAPH John > loves > Mary;
// internaly equivalent to
:- loves(John, Mary);

So we can search over graph:

SEARCH @x> loves > Mary;
?- loves(@x,Mary);
wuxianliang commented 9 years ago

In my understanding today, this kind of query only tells me what I input ever, if so AlaSQL is a database. But based on a lot of json which mention John in AlaSQL, AlaSQL can tell me John is the most probable boy who loves Mary which is not inputed by me. It is AI. Probabilistic programming make sense here.

During revolution of industry, steam engine is not most smart part but transmission device. If AlaSQL is database only, it is a toy. If AlaSQL glues all kinds of libraries in front end together by most simple way to handle all types of data, it is a standard.

Never mind I am dreaming.

agershun commented 9 years ago

@wuxianliang Inspirational! Thank you!

mathiasrw commented 9 years ago

:+1: for gluing

agershun commented 9 years ago

I like this BQL (Bayesian Query Language) http://probcomp.csail.mit.edu/bayesdb/docs/0.2/bql.html. I already worked with Bayesian probabilities and expert system.

agershun commented 9 years ago

Predictions on JavaScript in the next 12 months

Content (I marked with bold the items which affect on AlaSQL):

  1. Fewer people will write JavaScript without a compilation step
  2. Smaller libraries (and the composing of) will be preferred over large frameworks-
  3. Focus on libraries that do one thing and one thing well
  4. Large, fully-featured frameworks will remain rightly popular
  5. The use of compilers (Babel etc.) will be abstracted for us by generic build tools
  6. Running the same JavaScript client and server side will be common
  7. As ES2015 implementations complete, we'll be writing ES7 already
  8. The rate of new frameworks will begin to slow down
mathiasrw commented 9 years ago

Regarding 4. What in your vision the one thing alasql does that it does well?

agershun commented 9 years ago

... WebSQL compatible replacer on top of IndexedDB working in Corodva

mathiasrw commented 9 years ago

:+1:

agershun commented 9 years ago

So, let's do it :)

Some idea of our next plan:

After we finish with:

We can start to prepare to release 0.2, before that we will:

Then in version 0.2 we can continue to fight for:

mathiasrw commented 9 years ago

I vote for this plan !

gregaubert commented 9 years ago

:+1: