Designing Queries (SQL or the like) using Block Programming paradigm

735 views
Skip to first unread message

Miguel

unread,
Aug 17, 2016, 10:13:36 AM8/17/16
to Blockly
Hi,
I developed a Blockly-based UI to design structured queries on Linked Data, based on the standard SPARQL query language: sparqlblocks.org

I assume that the Block Programming paradigm has already been used for designing structured queries (e.g., SQL queries) but I have a hard time finding such systems.

Some systems, like the MIT App Inventor, have blocks dedicated to interact with databases and tables but nothing (to the best of my knowledge) to actually build queries with blocks (queries are either extremely simple or entirely represented as text). 

So far, I mainly had second hand accounts. I found online just the following video (previously posted to this mailing list).

Maybe someone in this mailing list has more information on existing or in-progress work on query building environments based on the block programming paradigm.

I will greatly appreciate any help. 

Best regards,
Miguel

Austin Bart

unread,
Aug 17, 2016, 11:21:48 AM8/17/16
to Blockly
One of my collaborators is interested in adding SQL commands to BlockPy, so I've done a little bit of investigating in this area. To my knowledge, though, no one has created any Blockly versions of SQL, which surprised me (but something could have easily slipped past me). However, I am familiar with two relevant projects:

Bags, which was published at SIGCSE a couple years ago: https://w3.cs.jmu.edu/mayfiecs/pubs/bags_sigcse14.pdf
DBSnap, which was published at SIGCSE last year: http://www.public.asu.edu/~ynsilva/dbsnap/

But surely someone has created SQL in Blockly? I was toying around with some interfaces, but I was a little dissatisfied with what I came up with. I'll be interested in trying your's when I sit down to work on this subject.

So far, I like your interface, in particular the "Save as Gist" feature. I found the execution model a little confusing (I spent several seconds looking for a Run button before noticing my query was already executing). The use of blocks as output is very cool, albeit a little confusing visually. It would be interesting to be able to see the generated code. Overall, seems like a very well-done tool.

What's your goal for this system? Educational application, business use case?

~Cory

Miguel

unread,
Aug 17, 2016, 7:03:56 PM8/17/16
to blo...@googlegroups.com
Hi Cory,
thank you very much for the pointers and the feedback on the tool!

Bags, which was published at SIGCSE a couple years ago: https://w3.cs.jmu.edu/mayfiecs/pubs/bags_sigcse14.pdf
DBSnap, which was published at SIGCSE last year: http://www.public.asu.edu/~ynsilva/dbsnap/

I was not aware of these works on relational algebra operators as blocks, they are definitely interesting.

So far, I like your interface, in particular the "Save as Gist" feature. I found the execution model a little confusing (I spent several seconds looking for a Run button before noticing my query was already executing). The use of blocks as output is very cool, albeit a little confusing visually. It would be interesting to be able to see the generated code. Overall, seems like a very well-done tool.

I have received other similar feedbacks on expecting a Run button, so I guess I should do something to review/clarify this aspect of the interface.

The generated code can be accessed through two features of the context menu (right click) on a query: "Save Query as SPARQL" to download the query as a file and "Open Query in YASGUI" to open the query in an online (textual) SPARQL editor.
 
What's your goal for this system? Educational application, business use case?

The goal would be to be a tool for users that want to explore and build structured queries on Linked Data but are not familiar with SPARQL.
It is also envisioned as a possible step towards learning the textual syntax of SPARQL and the specifics of querying Linked Data.

As a complete tool there are still a lot of limitations, also because the problem of helping in querying heterogenous (regarding the schemas and the sources) Linked Data is in itself quite complex.
But we aim to show that our solution, thanks to block programming, offer an interactive and less-error-prone way of designing queries, while keeping most of the flexibility and expressivity of the textual syntax.

Best,
Miguel


~Cory

On Wednesday, August 17, 2016 at 10:13:36 AM UTC-4, Miguel Ceriani wrote:
Hi,
I developed a Blockly-based UI to design structured queries on Linked Data, based on the standard SPARQL query language: sparqlblocks.org

I assume that the Block Programming paradigm has already been used for designing structured queries (e.g., SQL queries) but I have a hard time finding such systems.

Some systems, like the MIT App Inventor, have blocks dedicated to interact with databases and tables but nothing (to the best of my knowledge) to actually build queries with blocks (queries are either extremely simple or entirely represented as text). 

So far, I mainly had second hand accounts. I found online just the following video (previously posted to this mailing list).

Maybe someone in this mailing list has more information on existing or in-progress work on query building environments based on the block programming paradigm.

I will greatly appreciate any help. 

Best regards,
Miguel

--
You received this message because you are subscribed to the Google Groups "Blockly" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blockly+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages