SQUALL (Semantic Query and Update High-Level Language) is a controlled natural language (CNL) for querying and updating RDF graphs. The main advantage of CNLs is to reconcile the high-level and natural syntax of natural languages, and the precision and lack of ambiguity of formal languages. SQUALL has a strong adequacy with RDF, and covers all constructs of SPARQL, and many of SPARQL 1.1. Its syntax completely abstracts from low-level notions such as bindings and relational algebra. It features disjunction, negation, quantifiers, built-in predicates, aggregations with grouping, and n-ary relations through reification.
Principles and Examples
Examples can be found in the papers (see below), andas active links to their translation, and for some of them, to their answers on DBpedia.
Ais now available to translate SQUALL sentences to SPARQL queries and updates.
If you find an error or an unexpected answer, you can send me a message.
The source code is available as a. It is written in , a multi-paradigm functional language, which is ideal for coding Montague grammars. It depends on syntax extensions for indeteministic parsing (dcg-constructs), and indeterministic printing (ipp-constructs). It also depends on the for the Web form, but a command line translator is also available (file main.ml).
The syntax, semantics, translation to SPARQL as well as examples, are available in details in the following publications. The SQUALL semantics is given as.
- S. Ferré. SQUALL: The expressiveness of SPARQL 1.1 made available as a controlled natural language. Data & Knowledge Engineering, 26p, 2014. Elsevier.
- S. Ferré. SQUALL: A Controlled Natural Language as Expressive as SPARQL 1.1. Applications of Natural Language to Information Systems (NLDB), 2013,
- S. Ferré. SQUALL: a Controlled Natural Language for Querying and Updating RDF Graphs. Controlled Natural Languages (CNL), 2012. , Springer.
- S. Ferré. SQUALL: a High-Level Language for Querying and Updating the Semantic Web. Research Report , IRISA, 2011.
SQUALL is designed and implemented by.