hej monet-db-useres, i maybe forgot a very basic thing here, but how do you perform in monet an equi-join on two attributes. it seems such a normal task that there must be something easier than what i did now (see attachment: generating first example instances, then do the join with 'intersect') you should have the same problem when you select on a qname (namespace and tagname), but i could not find that example. if i underspecified my problem, just let me know in advance ;-) best -henning var x_a := new(void,int).seqbase(0@0); x_a.append(1); x_a.append(1); x_a.append(1); x_a.append(2); x_a.append(2); x_a.append(2); x_a := [oid](x_a); var x_b := new(void,int).seqbase(0@0); x_b.append(1); x_b.append(2); x_b.append(4); x_b.append(1); x_b.append(2); x_b.append(4); x_b := [oid](x_b); var y_c := new(void,int).seqbase(0@0); y_c.append(1); y_c.append(2); y_c := [oid](y_c); var y_d := new(void,int).seqbase(0@0); y_d.append(2); y_d.append(1); y_d := [oid](y_d); print(x_a,x_b); print(y_c,y_d); var x_y := join(x_a,y_c.reverse()); var x_d := join(x_y,y_d); intersect(x_b,x_d).print();