Please remove me from this list.
Frank Jurgens Director, North America Financial Services Cell: +1 860 235 6721 -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Michael Blakeley Sent: Wednesday, August 28, 2013 11:33 AM To: MarkLogic Developer Discussion Subject: Re: [MarkLogic Dev General] querying with multiple fragment roots Yes, it's tricky because positions are word-based. Proximity 11-13 does what you want, but only for this specific case not in the general case, and it breaks in the opposite direction at 14. For a general solution I think you need the indexes to map more closely to your group elements. Duplicating the data into additional fragments would be one way to do that. Another way might be to think of it as a semantic query problem, and model a, b, and c as triples. -- Mike On 27 Aug 2013, at 23:54 , "Whitby, Rob" <[email protected]> wrote: > Hi Gary, > > That would be great, but it doesn't work like that as far as I can > tell (on 6.0-3.2 at least). The test below doesn't match a2,c2. Or am > I missing something? > > xdmp:document-insert("groups.xml", > <doc> > <group> > <a>a1</a> > <b>b1</b> > <c>c1</c> > </group> > <group> > <a>a2</a> > <b>b2 with lots of words in to affect the proximity?</b> > <c>c2</c> > </group> > <group> > <a>a3</a> > <b>b3</b> > <c>c3</c> > </group> > </doc>) > > ; > > declare default collation "http://marklogic.com/collation/codepoint"; > declare variable $options := ("ordered", "proximity=2"); > > for $p in cts:value-tuples(( > cts:element-reference(xs:QName("a")), > cts:element-reference(xs:QName("c")) > ), $options, cts:document-query("groups.xml")) return > fn:string-join(json:array-values($p), ",") > > > > ==> > > a1,c1 > a3,c3 > > > > > > > > > On 27/08/2013 18:41, "Gary Vidal" <[email protected]> wrote: > >> Rob, >> >> I believe the proximity in co-occurrence is the distance from one >> node to another not a word(as stated in documentation). So if group >> is always expressed Group (A, B, C, D) >> >> Then the proximity of A->C = 2. You can confirm this by using >> cts:value-tuples against a single document passing the promixity. >> >> cts:value-tuples(( >> cts:element-reference(xs:QName("a")), >> cts:element-reference(xs:QName("c")) >> ),("proximity=2","ordered") >> ) >> >> >> >> Gary Vidal >> Media Consultant >> MarkLogic Corporation >> [email protected] >> Phone: +1 917 576-5794 >> Skype: ml-garyvidal >> www.marklogic.com >> >> >> _______________________________________________ >> General mailing list >> [email protected] >> http://developer.marklogic.com/mailman/listinfo/general >> > > > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general > _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
