====== MAGIK Meetings Minutes ====== This document contains meeting minutes based on the discussion about the MAGIK development. ====== 17/05/2013 ====== **Attendes**: Paramita, Ognjen **Topic**: Start of the MAGIK 3 implementation ===== Important Steps (First to Do) ===== ==== Develop and Implement Controller Modul ==== * **(First attempt)** We will create a external module (a web service) that will have a vector of connections of max size n. Once a new MAGIK instance request a db connection we use this vector as FIFO structure and provide a new connection by killing the oldest one. * The problem 1 is that an instance and the controller have to communicate via object reference of new established db connection (but how?) * The problem 2 is that even if we have the above described mechanism how we can be sure that the object created with ''connection = DriverManager.getConnection(url, props);'' we can kill? By ''connection.close()'' * **(Second attempt)** Use Hibernate for saving and loading on the level of schemas (//hopefully it will do all necessary job of closing unused connections for us//) - **We try this one** ==== Hibernate ==== * Implement //proper Hibernate// controller that saves on the level of schemas * Done within **(Second attempt)** above ==== Query Approximizations ==== * Develop and implement algorithm that computes specializations of max size k for an incomplete query (TuProlog - to be investigated) * Develop and implement algorithm that computes generalization for an incomplete query (DLV) ==== Integrate VLDB and CIKM version ==== * Issue 1: Reasoning with one query at the time (CIKM version) or several queries at once (as in VLDB version) * Issue 2: TC Suggestion at the main page or move it to the analytic page with query approximizations * Consult Werner * **First Approach** (button-up) * TC suggestions on main page (as before) * On the main page link to the analytic page ===== Do Later ===== ==== TC-statements ==== * Constants in TC-statements should be represented with using single-quotes, **Done by Alex** * e.g., ''pupil('John', '1', 'b')'', * in other words, instead of convention that //a constant is term that starts with a lower-case letter// it should be //a constant is a term between single quotes// * Note that ''a'' is different from ''"a"'' in DLV!!! (change query encoding accordingly to use double quotes) ==== Look and feel (low priority) ==== * Representing TC-statements in a datalog form instead of the current format (consult Werner?). * For example,'' pupil_a(Name,Level,Code) ← pupil_i(Name,Level,Code) , learns_i(Name,'French').'' * Implement JS tables that allow re-arraignment of table raws - up and down. (later) * Return coloring and style to the previous version (MAGIK CIKM) ====== 17/05/2013 (Ognjen and Werner) ====== Try to create a concrete task for Alex that he can work on * Double quotes problem? * Generalization algorithm? ====== 21/05/2013 ====== Attendees: Alex, Ognjen Topic: Introducing double quotes in the encoding of DLV (**Ended in 28 May**) * Replace constants in SQL (unders single quotes) into double quotes in the CQ version of that query * Introduce single quotes constants into TC-statements. Then when they are parsed single quotes are replaced with the double quotes * Approach: First test within the JUnit and then implement it in the code Topic: Generalization algorithm