else List.assoc prop (match !prop_pool with Some l -> l | _ -> assert false)
;;
-(* automatically performes the union of a given list of patterns *)
-let rec pattern_list_ex = function
- | [] -> []
- | [(apreamble, apattern, afragid)] -> pattern_ex (apreamble, apattern, afragid)
- | (apreamble, apattern, afragid) :: tail ->
- union_ex (pattern_ex (apreamble, apattern, afragid)) (pattern_list_ex tail)
-
(* execute_ex env q *)
(* [env] is the attributed uri environment in which the query [q] *)
(* must be evaluated *)
use_ex (execute_ex env alist) asvar (get_prop_id "refObj") (* "F" (*"refObj"*) *)
| MQUse (alist, asvar) ->
use_ex (execute_ex env alist) asvar (get_prop_id "backPointer") (* "B" (*"backPointer"*) *)
- | MQPattern l ->
- pattern_list_ex l
+ | MQPattern (apreamble, apattern, afragid) ->
+ pattern_ex (apreamble, apattern, afragid)
| MQUnion (l1, l2) ->
union_ex (execute_ex env l1) (execute_ex env l2)
| MQDiff (l1, l2) ->