Sorry, I meant http://docs.marklogic.com/cts:values-tuples. Confusingly, both accept multiple references..
Cheers From: <[email protected]<mailto:[email protected]>> on behalf of Geert Josten <[email protected]<mailto:[email protected]>> Reply-To: MarkLogic Developer Discussion <[email protected]<mailto:[email protected]>> Date: Monday, August 17, 2015 at 2:22 PM To: MarkLogic Developer Discussion <[email protected]<mailto:[email protected]>> Subject: Re: [MarkLogic Dev General] Natural Join in MarkLogic, Hi Sachin, You can also use the more generic http://docs.marklogic.com/cts:values You might want to rethink your search strategy though. The below files look like intermediate results. Why are you storing them, and why in that shape? Cheers, Geert From: <[email protected]<mailto:[email protected]>> on behalf of Arvind Kumar <[email protected]<mailto:[email protected]>> Reply-To: MarkLogic Developer Discussion <[email protected]<mailto:[email protected]>> Date: Monday, August 17, 2015 at 11:00 AM To: MarkLogic Developer Discussion <[email protected]<mailto:[email protected]>> Subject: Re: [MarkLogic Dev General] Natural Join in MarkLogic, Hi Sachin, You can try cts:element-value-co-occurrences. Regards, Arvind Kr. On Mon, Aug 17, 2015 at 12:26 PM, Sachin Sharma <[email protected]<mailto:[email protected]>> wrote: Hi, I wish to know concept of joins(natural join) in MarkLogic. I am fetching records from 3 files. The files are having following structure First File.xml <Result> <Details><Name>Ashish</Name><Age>25</Age></Details> <Details><Name>Sachin</Name><Age>23</Age></Details> </Result> Second File.xml <Result> <Details><Name>Ashish</Name><Age>25</Age></Details> <Details><Name>Sachin</Name><Age>23</Age></Details> <Details><Name>Mohan</Name><Age>26</Age></Details> <Details><Name>Parth</Name><Age>27</Age></Details> </Result> Third File.xml <Result> <Details><Name>Ashish</Name><Age>25</Age></Details> <Details><Name>Sachin</Name><Age>23</Age></Details> <Details><Name>Neha</Name><Age>14</Age></Details> </Result> I want to fetch common records from all three files. Currently I am fetching values of <s> using cts:element-values, storing it in map and comparing 2 maps using following code: declare function local:intersection($a as xs:string*,$b as xs:string*) as xs:string* { let $desig-map := map:map() let $temp-map := map:map() let $sachin:=map:map() let $m1:=for $i in $a return map:put($desig-map, $i, "a") let $m2:=for $j in $b return map:put($temp-map, $j, "a") let $q:= ($desig-map)-($temp-map) let $r:=($temp-map)-($desig-map) let $total:=($temp-map)+ ($desig-map) let $final:=($total - ($q + $r)) return map:keys($final) }; The current implementation of fetching common records is time consuming as it keeps on comparing all 3 values. I want to know the fastest and best approach to fetch common records from multiples files. Regards Sachin Sharma _______________________________________________ General mailing list [email protected]<mailto:[email protected]> Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
