
arXiv: 1907.10914
AbstractThis paper proposes the use of Constraint Logic Programming (CLP) to model SQL queries in a data-independent abstract layer by focusing on some semantic properties for signalling possible errors in such queries. First, we define a translation from SQL to Datalog, and from Datalog to CLP, so that solving this CLP program will give information about inconsistency, tautology, and possible simplifications. We use different constraint domains which are mapped to SQL types, and propose them to cooperate for improving accuracy. Our approach leverages a deductive system that includes SQL and Datalog, and we present an implementation in this system which is currently being tested in classroom, showing its advantages and differences with respect to other approaches, as well as some performance data.
FOS: Computer and information sciences, constraint logic programming, SQL, Computer Science - Logic in Computer Science, semantic checking, Computer Science - Programming Languages, Computer Science - Artificial Intelligence, Database theory, Datalog educational system, 68T35 (Primary) 68N17, 68P15 (Secondary), Databases (cs.DB), Logic programming, Logic in Computer Science (cs.LO), Artificial Intelligence (cs.AI), Computer Science - Databases, Programming Languages (cs.PL)
FOS: Computer and information sciences, constraint logic programming, SQL, Computer Science - Logic in Computer Science, semantic checking, Computer Science - Programming Languages, Computer Science - Artificial Intelligence, Database theory, Datalog educational system, 68T35 (Primary) 68N17, 68P15 (Secondary), Databases (cs.DB), Logic programming, Logic in Computer Science (cs.LO), Artificial Intelligence (cs.AI), Computer Science - Databases, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
