]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/property.ml
MQueryInterpreter: interface updated
[helm.git] / helm / ocaml / mathql_interpreter / property.ml
index 84382fc74a88d889c26d67e403359ef243eb1819..34a75aa9a3b4b7922fb0d0f0a6dfcef2f7b0bf90 100644 (file)
@@ -40,7 +40,7 @@ let getpid p =
 (*
  * implementazione delle funzioni dublin core
  *)
-let rec property_ex rop path inv = function
+let rec property_ex handle rop path inv = function
     [] -> []
   | s::tl -> let mprop = fst path in
              prerr_endline mprop;
@@ -56,7 +56,7 @@ let rec property_ex rop path inv = function
               prerr_endline mprop;
               let mpid = getpid mprop in
               let res =
-              let c = pgc () in
+              let c = MQIConn.pgc handle in
                let quoted_s =
                 Str.global_substitute (Str.regexp "'")
                  (function _ -> "\\'") s in
@@ -65,7 +65,7 @@ let rec property_ex rop path inv = function
                 prerr_endline q;
                pgresult_to_string_list (c#exec q)
               in
-                append (res,(property_ex rop path inv tl))
+                append (res,(property_ex handle rop path inv tl))
               
                           (*Rimane da capire cosa restituire  nelle inverse!!!!*)
                           
@@ -74,45 +74,45 @@ let rec property_ex rop path inv = function
             | "refSort" ->
             if inv then     (* restituisco gli uri che il valore della prop richiesta uguale a s *)
                let res =
-               let c = pgc () in
+               let c = MQIConn.pgc handle in
               let q = ("select distinct h" ^ mprop ^ ".uri from h" ^ mprop ^ " where h" ^ mprop ^ "." ^ prop ^ "= '" ^ s ^ "' order by h" ^ mprop ^ ".uri") in
                 prerr_endline q;
                 pgresult_to_string_list (c#exec q)
                in
-                 append (res,(property_ex rop path inv tl))
+                 append (res,(property_ex handle rop path inv tl))
                
             else
               let res =         (* restituisco il valore della prop relativo all'uri rappresentato da s*)
-               let c = pgc () in
+               let c = MQIConn.pgc handle in
                let quoted_s =
                 Str.global_substitute (Str.regexp "'")
                  (function _ -> "\\'") s in
                let q = ("select distinct h" ^ mprop ^ "." ^ prop ^" from h" ^ mprop ^ " where h" ^ mprop ^ ".uri = '" ^ quoted_s ^ "' order by h" ^ mprop ^ "." ^ prop) in
                  pgresult_to_string_list (c#exec q)
               in
-                 append (res,(property_ex rop path inv tl))
+                 append (res,(property_ex handle rop path inv tl))
             
             
             | _ ->        (* metadati DC  !!!! Controllare se i nomi delle tabelle cominciano con h !!!!*)
             prerr_endline "DC";
             if inv then
                let res =
-               let c = pgc () in
+               let c = MQIConn.pgc handle in
               let q = ("select " ^ mprop ^ ".uri from " ^ mprop ^ " where " ^ mprop ^ ".value = '" ^ s ^ "'") in
                 prerr_endline q;
                 pgresult_to_string_list (c#exec q)
                in
-                 append (res,(property_ex rop path inv tl))
+                 append (res,(property_ex handle rop path inv tl))
              else
               let res =
-               let c = pgc () in
+               let c = MQIConn.pgc handle in
                let quoted_s =
                 Str.global_substitute (Str.regexp "'")
                  (function _ -> "\\'") s in
               let q = ("select " ^ mprop ^ ".value from " ^ mprop ^ " where " ^ mprop ^ ".uri = '" ^ quoted_s ^ "'") in
                 pgresult_to_string_list (c#exec q)
                in
-                 append (res,(property_ex rop path inv tl))
+                 append (res,(property_ex handle rop path inv tl))
 
 ;;