X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2Fproperty.ml;fp=helm%2Focaml%2Fmathql_interpreter%2Fproperty.ml;h=0000000000000000000000000000000000000000;hp=1158d30122c8a45896b90cb33e10255bb1858c9d;hb=869549224eef6278a48c16ae27dd786376082b38;hpb=89262281b6e83bd2321150f81f1a0583645eb0c8 diff --git a/helm/ocaml/mathql_interpreter/property.ml b/helm/ocaml/mathql_interpreter/property.ml deleted file mode 100644 index 1158d3012..000000000 --- a/helm/ocaml/mathql_interpreter/property.ml +++ /dev/null @@ -1,109 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(* - * - *) - -open Dbconn;; -open Utility;; -open Intersect;; - - -let getpid p = - if (p = "refObj") then "F" - else "B" -;; - -(* - * implementazione delle funzioni dublin core - *) -let rec property_ex rop path inv = function - [] -> [] - | s::tl -> let mprop = fst path in - print_endline mprop; - let l_sub_p = snd path in - - let prop = (if (l_sub_p <> []) then List.hd l_sub_p - else "") - in - match mprop with - - "refObj" (* in base al valore di prop restituisco i valori del relativo campo della tabella relativa all'uri rappresentata da s *) - | "backPointer" -> - print_endline mprop; - let mpid = getpid mprop in - let res = - let c = pgc () in - let tv = pgresult_to_string (c#exec ("select distinct id from registry where uri='" ^ s ^ "' order by id")) in - let q = "select distinct t" ^ tv ^ "." ^ prop ^ " from t" ^ tv ^ " where prop_id= '" ^ mpid ^ "' order by t" ^ tv ^ "." ^ prop in - print_endline q; - pgresult_to_string_list (c#exec q) - in - append (res,(property_ex rop path inv tl)) - - (*Rimane da capire cosa restituire nelle inverse!!!!*) - - - | "refRel" - | "refSort" -> - if inv then (* restituisco gli uri che il valore della prop richiesta uguale a s *) - let res = - let c = pgc () in - let q = ("select distinct h" ^ mprop ^ ".uri from h" ^ mprop ^ " where h" ^ mprop ^ "." ^ prop ^ "= '" ^ s ^ "' order by h" ^ mprop ^ ".uri") in - print_endline q; - pgresult_to_string_list (c#exec q) - in - append (res,(property_ex rop path inv tl)) - - else - let res = (* restituisco il valore della prop relativo all'uri rappresentato da s*) - let c = pgc () in - let q = ("select distinct h" ^ mprop ^ "." ^ prop ^" from h" ^ mprop ^ " where h" ^ mprop ^ ".uri = '" ^ s ^ "' order by h" ^ mprop ^ "." ^ prop) in - pgresult_to_string_list (c#exec q) - in - append (res,(property_ex rop path inv tl)) - - - | _ -> (* metadati DC !!!! Controllare se i nomi delle tabelle cominciano con h !!!!*) - print_endline "DC"; - if inv then - let res = - let c = pgc () in - let q = ("select " ^ mprop ^ ".uri from " ^ mprop ^ " where " ^ mprop ^ ".value = '" ^ s ^ "'") in - print_endline q; - pgresult_to_string_list (c#exec q) - in - append (res,(property_ex rop path inv tl)) - else - let res = - let c = pgc () in - let q = ("select " ^ mprop ^ ".value from " ^ mprop ^ " where " ^ mprop ^ ".uri = '" ^ s ^ "'") in - pgresult_to_string_list (c#exec q) - in - append (res,(property_ex rop path inv tl)) - -;; -