let _ =
if !usedb then
- Mqint.init "dbname=helm_mowgli" ;
-(* Mqint.init "host=mowgli.cs.unibo.it dbname=helm_mowgli user=helm" ; *)
+ begin
+ Mqint.set_database Mqint.postgres_db ;
+ (* Mqint.init "dbname=helm_mowgli" ; *)
+ Mqint.init "host=mowgli.cs.unibo.it dbname=helm_mowgli user=helm" ;
+ end ;
ignore (GtkMain.Main.init ()) ;
initialize_everything () ;
if !usedb then Mqint.close ();
let locate s =
let module M = MathQL in
- let q = M.Ref (M.Fun "objectName" (M.Const [s])) in
- execute_query q
+ let q =
+ M.Ref (M.Attribute true M.RefineExact ("objectName", []) (M.Const [s]))
+ in
+ execute_query q
let searchPattern e c t level =
let module M = MathQL in
let v_pos = M.Const ["MainConclusion"; "InConclusion"] in
- let q_where = M.Sub (M.RefOf (
- M.Select ("uri",
- M.Relation (M.ExactOp, ["refObj"], M.RVar "uri0", ["pos"]),
- M.Ex ["uri"] (M.Meet (M.VVar "positions", M.Record ("uri", "pos")))
- )), M.VVar "universe"
- )
- in
+ let q_where =
+ M.Sub
+ (M.RefOf
+ (M.Select
+ ("uri",
+ M.Relation
+ (false, M.RefineExact, ("refObj", []), M.RVar "uri0", ["pos"]),
+ M.Ex ["uri"]
+ (M.Meet (M.VVar "positions", M.Record ("uri", ("pos", []))))
+ )
+ ),
+ M.VVar "universe"
+ ) in
let uri_of_entry (r, b, v) = r in
let rec restrict level = function
| [] -> []
else restrict level tail
in
let build_select (r, b, v) =
- let pos = if b then "MainConclusion" else "InConclusion" in
+ let pos = if b then "MainConclusion" else "InConclusion" in
M.Select
("uri",
- M.Relation (M.ExactOp, ["backPointer"], M.Ref (M.Const [r]), ["pos"]),
- M.Ex ["uri"] (M.Sub (M.Const [pos], M.Record ("uri", "pos")))
- )
- in
+ M.Relation
+ (false,
+ M.RefineExact,
+ ("backPointer", []),
+ M.Ref (M.Const [r]),
+ ["pos"]),
+ M.Ex ["uri"] (M.Sub (M.Const [pos], M.Record ("uri", ("pos", []))))) in
let rec build_intersect = function
| [] -> M.Pattern (M.Const [".*"])
| [hd] -> build_select hd