"SUQL stands for Structured and Unstructured Query Language. It augments SQL with several important free text primitives for a precise, succinct, and expressive representation. It can be used to build chatbots for relational data sources that contain both structured and unstructured information."

Ok, that's kind of a crazy concept. Let's have a look. You can do queries like:

SELECT answer("Event year Info", 'where is this event held?') FROM table WHERE "Name" = 'XXXI';

(Where was the XXXl Olympic held? )

SELECT "Name" FROM table WHERE answer("Event year Info", 'is this event held in Rio?') = 'Yes';

(What was the name of the Olympic event held in Rio?)

SELECT answer("Flag Bearer Info", 'when is this person born?') FROM table WHERE answer("Event year Info", 'is this event held in Rio?') = 'Yes';

(When was the flag bearer of Rio Olympic born?)

SELECT "Flag Bearer" FROM table WHERE "Gender" = 'Male' AND answer("Flag Bearer Info", 'did this person participate in Men's 100kg event?') = 'Yes';

(Which male bearer participated in Men's 100kg event in the Olympic game?)

SELECT MAX(answer("Flag Bearer Info", 'when is this person born?')::date) FROM table WHERE "Event year" IN ('2016', '2012');

(For the 2012 and 2016 Olympic Event, when was the younger flag bearer born?)

SELECT "Event year" FROM table ORDER BY answer("Flag Bearer Info", 'when is this person born?')::date DESC LIMIT 1;

(When did the youngest Burmese flag bearer participate in the Olympic opening ceremony?)

In addition to the "answer" keyword that this adds to SQL, they also added a "summary" keyword.

The way the system works is they have added a "large language model with in-context learning" to the SQL database system.

SUQL (Structured and Unstructured Query Language)

#solidstatelife #ai #genai #llms #sql