Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christian Grün
Just my guess ;) Thanks, Bridger. Here are some general comparisons
with their correct results:

 () = () : false
 () != () : false
 (1,2) = (2,3) : true
 (1,2) != (2,3) : true
 (1) > (10,20,30,40,0) : true
 (5) < (1,2,3,4) : false


On Tue, Mar 26, 2019 at 1:58 PM Bridger Dyson-Smith
 wrote:
>
> Chris -
> thanks for sharing your solution (IMO it will help future searchers/readers 
> of the list, or others with similar problems searching the list archive)!
>
> Note that the `!=` is an existential quantifier in XPath; i.e. it returns 
> `true` if *any* value on the left is not equal to *any* value of the right*. 
> So you might have had an expression problem earlier.
>
> Cheers,
> Bridger
> * -- I totally and completely cribbed that note from Mr. Liam Quin, who is 
> often giving away advice like that on the xml freenode IRC channel. Credit to 
> him :).
>
> On Tue, Mar 26, 2019 at 8:48 AM Christopher Yocum  wrote:
>>
>> Hi Bridger,
>>
>> The solution was indeed using is-value-in-sequence:
>>
>> import module namespace functx = 'http://www.functx.com';
>> let $biblFull := distinct-values(collection('edil/Prologue Merged
>> 2013.xml')//biblFull/@id)
>> let $biblStruct := distinct-values(collection('edil/Prologue Merged
>> 2013.xml')//biblStruct/@id)
>> let $bibl := distinct-values(collection('edil/Prologue Merged
>> 2013.xml')//bibl/@id)
>> for $title in collection('edil/eDIL-A.xml')//entry//title
>> where not(functx:is-value-in-sequence($title/@target, $biblFull))
>> and not(functx:is-value-in-sequence($title/@target, $biblStruct))
>> and not(functx:is-value-in-sequence($title/@target, $bibl))
>> return $title
>>
>> It is also pretty speedy as well.
>>
>> All the best,
>> Chris
>>
>> On Tue, Mar 26, 2019 at 12:47 PM Bridger Dyson-Smith
>>  wrote:
>> >
>> > Chris,
>> >
>> > please don't leave us hanging :). What was your solution?
>> >
>> > Best,
>> > Bridger
>> >
>> > On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum  wrote:
>> >>
>> >> Hi,
>> >>
>> >> Of course the instant you say that, you fix it.  Thanks for everyone's 
>> >> support.
>> >>
>> >> All the best,
>> >> Chris
>> >>
>> >> On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum  
>> >> wrote:
>> >> >
>> >> > Hi Everyone,
>> >> >
>> >> > I just tried using functx:is-value-in-sequence: where
>> >> > not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
>> >> > getting erroneous results.  At this point, I very near offering money
>> >> > for someone to help me fix this.  It looks like a bug though to me.  I
>> >> > should not be getting the results that I am.
>> >> >
>> >> > All the best,
>> >> > Chris
>> >> >
>> >> > On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum  
>> >> > wrote:
>> >> > >
>> >> > > Hi,
>> >> > >
>> >> > > > If you are allowed to share some snippets of the actual documents, 
>> >> > > > it
>> >> > > > will be easier to see how the query needs to be phrased.
>> >> > > >
>> >> > >
>> >> > > Sadly, probably not.  I can probably do something off list but even
>> >> > > then I would hesitate.
>> >> > >
>> >> > > I tried your proposal from your other email and I am getting the same
>> >> > > results as with all other attempts.  I feel like this should be very
>> >> > > straightforward and I am just missing something small.
>> >> > >
>> >> > > > Have you verified that $biblFull and $biblStruct actually contain
>> >> > > > strings? If not, do you need to declare a default namespace? The
>> >> > > > vocabulary looks like TEI, so
>> >> > > >
>> >> > > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
>> >> > > >
>> >> > >
>> >> > > It is TEI-like.  It is not exactly TEI and I very much doubt it would 
>> >> > > validate.
>> >> > >
>> >> > > > may be necessary. And if it is TEI, the ID attributes are probably
>> >> > > > called @xml:id rather than @id.
>> >> > > >
>> >> > >
>> >> > > No, the XML documents are explicit about the @id as I checked.
>> >> > >
>> >> > > Thank you for your help.
>> >> > >
>> >> > > All the best,
>> >> > > Chris


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Bridger Dyson-Smith
Chris -
thanks for sharing your solution (IMO it will help future searchers/readers
of the list, or others with similar problems searching the list archive)!

Note that the `!=` is an existential quantifier in XPath; i.e. it returns
`true` if *any* value on the left is not equal to *any* value of the
right*. So you might have had an expression problem earlier.

Cheers,
Bridger
* -- I totally and completely cribbed that note from Mr. Liam Quin, who is
often giving away advice like that on the xml freenode IRC channel. Credit
to him :).

On Tue, Mar 26, 2019 at 8:48 AM Christopher Yocum  wrote:

> Hi Bridger,
>
> The solution was indeed using is-value-in-sequence:
>
> import module namespace functx = 'http://www.functx.com';
> let $biblFull := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//biblFull/@id)
> let $biblStruct := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//biblStruct/@id)
> let $bibl := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//bibl/@id)
> for $title in collection('edil/eDIL-A.xml')//entry//title
> where not(functx:is-value-in-sequence($title/@target, $biblFull))
> and not(functx:is-value-in-sequence($title/@target, $biblStruct))
> and not(functx:is-value-in-sequence($title/@target, $bibl))
> return $title
>
> It is also pretty speedy as well.
>
> All the best,
> Chris
>
> On Tue, Mar 26, 2019 at 12:47 PM Bridger Dyson-Smith
>  wrote:
> >
> > Chris,
> >
> > please don't leave us hanging :). What was your solution?
> >
> > Best,
> > Bridger
> >
> > On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum 
> wrote:
> >>
> >> Hi,
> >>
> >> Of course the instant you say that, you fix it.  Thanks for everyone's
> support.
> >>
> >> All the best,
> >> Chris
> >>
> >> On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum 
> wrote:
> >> >
> >> > Hi Everyone,
> >> >
> >> > I just tried using functx:is-value-in-sequence: where
> >> > not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
> >> > getting erroneous results.  At this point, I very near offering money
> >> > for someone to help me fix this.  It looks like a bug though to me.  I
> >> > should not be getting the results that I am.
> >> >
> >> > All the best,
> >> > Chris
> >> >
> >> > On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum 
> wrote:
> >> > >
> >> > > Hi,
> >> > >
> >> > > > If you are allowed to share some snippets of the actual
> documents, it
> >> > > > will be easier to see how the query needs to be phrased.
> >> > > >
> >> > >
> >> > > Sadly, probably not.  I can probably do something off list but even
> >> > > then I would hesitate.
> >> > >
> >> > > I tried your proposal from your other email and I am getting the
> same
> >> > > results as with all other attempts.  I feel like this should be very
> >> > > straightforward and I am just missing something small.
> >> > >
> >> > > > Have you verified that $biblFull and $biblStruct actually contain
> >> > > > strings? If not, do you need to declare a default namespace? The
> >> > > > vocabulary looks like TEI, so
> >> > > >
> >> > > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
> >> > > >
> >> > >
> >> > > It is TEI-like.  It is not exactly TEI and I very much doubt it
> would validate.
> >> > >
> >> > > > may be necessary. And if it is TEI, the ID attributes are probably
> >> > > > called @xml:id rather than @id.
> >> > > >
> >> > >
> >> > > No, the XML documents are explicit about the @id as I checked.
> >> > >
> >> > > Thank you for your help.
> >> > >
> >> > > All the best,
> >> > > Chris
>


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christian Grün
Hi Chris,

I’m glad to hear you found a solution.

I was surprised to hear that functx:is-value-in-sequence did the job,
though. The body of this function is nothing else than a general
comparison: $value = $seq [1] (and I would even have guessed that your
query will be eventually rewritten to a representation in which the
function body is completely inlined).

The query should be even faster if the import of the FunctX library
can be avoided. If the data is confidential, feel free to send us the
output of the Info View panel of the GUI.

Cheers,
Christian

[1] http://www.xqueryfunctions.com/xq/functx_is-value-in-sequence.html


On Tue, Mar 26, 2019 at 1:48 PM Christopher Yocum  wrote:
>
> Hi Bridger,
>
> The solution was indeed using is-value-in-sequence:
>
> import module namespace functx = 'http://www.functx.com';
> let $biblFull := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//biblFull/@id)
> let $biblStruct := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//biblStruct/@id)
> let $bibl := distinct-values(collection('edil/Prologue Merged
> 2013.xml')//bibl/@id)
> for $title in collection('edil/eDIL-A.xml')//entry//title
> where not(functx:is-value-in-sequence($title/@target, $biblFull))
> and not(functx:is-value-in-sequence($title/@target, $biblStruct))
> and not(functx:is-value-in-sequence($title/@target, $bibl))
> return $title
>
> It is also pretty speedy as well.
>
> All the best,
> Chris
>
> On Tue, Mar 26, 2019 at 12:47 PM Bridger Dyson-Smith
>  wrote:
> >
> > Chris,
> >
> > please don't leave us hanging :). What was your solution?
> >
> > Best,
> > Bridger
> >
> > On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum  wrote:
> >>
> >> Hi,
> >>
> >> Of course the instant you say that, you fix it.  Thanks for everyone's 
> >> support.
> >>
> >> All the best,
> >> Chris
> >>
> >> On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum  
> >> wrote:
> >> >
> >> > Hi Everyone,
> >> >
> >> > I just tried using functx:is-value-in-sequence: where
> >> > not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
> >> > getting erroneous results.  At this point, I very near offering money
> >> > for someone to help me fix this.  It looks like a bug though to me.  I
> >> > should not be getting the results that I am.
> >> >
> >> > All the best,
> >> > Chris
> >> >
> >> > On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum  
> >> > wrote:
> >> > >
> >> > > Hi,
> >> > >
> >> > > > If you are allowed to share some snippets of the actual documents, it
> >> > > > will be easier to see how the query needs to be phrased.
> >> > > >
> >> > >
> >> > > Sadly, probably not.  I can probably do something off list but even
> >> > > then I would hesitate.
> >> > >
> >> > > I tried your proposal from your other email and I am getting the same
> >> > > results as with all other attempts.  I feel like this should be very
> >> > > straightforward and I am just missing something small.
> >> > >
> >> > > > Have you verified that $biblFull and $biblStruct actually contain
> >> > > > strings? If not, do you need to declare a default namespace? The
> >> > > > vocabulary looks like TEI, so
> >> > > >
> >> > > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
> >> > > >
> >> > >
> >> > > It is TEI-like.  It is not exactly TEI and I very much doubt it would 
> >> > > validate.
> >> > >
> >> > > > may be necessary. And if it is TEI, the ID attributes are probably
> >> > > > called @xml:id rather than @id.
> >> > > >
> >> > >
> >> > > No, the XML documents are explicit about the @id as I checked.
> >> > >
> >> > > Thank you for your help.
> >> > >
> >> > > All the best,
> >> > > Chris


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christopher Yocum
Hi Bridger,

The solution was indeed using is-value-in-sequence:

import module namespace functx = 'http://www.functx.com';
let $biblFull := distinct-values(collection('edil/Prologue Merged
2013.xml')//biblFull/@id)
let $biblStruct := distinct-values(collection('edil/Prologue Merged
2013.xml')//biblStruct/@id)
let $bibl := distinct-values(collection('edil/Prologue Merged
2013.xml')//bibl/@id)
for $title in collection('edil/eDIL-A.xml')//entry//title
where not(functx:is-value-in-sequence($title/@target, $biblFull))
and not(functx:is-value-in-sequence($title/@target, $biblStruct))
and not(functx:is-value-in-sequence($title/@target, $bibl))
return $title

It is also pretty speedy as well.

All the best,
Chris

On Tue, Mar 26, 2019 at 12:47 PM Bridger Dyson-Smith
 wrote:
>
> Chris,
>
> please don't leave us hanging :). What was your solution?
>
> Best,
> Bridger
>
> On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum  wrote:
>>
>> Hi,
>>
>> Of course the instant you say that, you fix it.  Thanks for everyone's 
>> support.
>>
>> All the best,
>> Chris
>>
>> On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum  wrote:
>> >
>> > Hi Everyone,
>> >
>> > I just tried using functx:is-value-in-sequence: where
>> > not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
>> > getting erroneous results.  At this point, I very near offering money
>> > for someone to help me fix this.  It looks like a bug though to me.  I
>> > should not be getting the results that I am.
>> >
>> > All the best,
>> > Chris
>> >
>> > On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum  
>> > wrote:
>> > >
>> > > Hi,
>> > >
>> > > > If you are allowed to share some snippets of the actual documents, it
>> > > > will be easier to see how the query needs to be phrased.
>> > > >
>> > >
>> > > Sadly, probably not.  I can probably do something off list but even
>> > > then I would hesitate.
>> > >
>> > > I tried your proposal from your other email and I am getting the same
>> > > results as with all other attempts.  I feel like this should be very
>> > > straightforward and I am just missing something small.
>> > >
>> > > > Have you verified that $biblFull and $biblStruct actually contain
>> > > > strings? If not, do you need to declare a default namespace? The
>> > > > vocabulary looks like TEI, so
>> > > >
>> > > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
>> > > >
>> > >
>> > > It is TEI-like.  It is not exactly TEI and I very much doubt it would 
>> > > validate.
>> > >
>> > > > may be necessary. And if it is TEI, the ID attributes are probably
>> > > > called @xml:id rather than @id.
>> > > >
>> > >
>> > > No, the XML documents are explicit about the @id as I checked.
>> > >
>> > > Thank you for your help.
>> > >
>> > > All the best,
>> > > Chris


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Bridger Dyson-Smith
Chris,

please don't leave us hanging :). What was your solution?

Best,
Bridger

On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum  wrote:

> Hi,
>
> Of course the instant you say that, you fix it.  Thanks for everyone's
> support.
>
> All the best,
> Chris
>
> On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum 
> wrote:
> >
> > Hi Everyone,
> >
> > I just tried using functx:is-value-in-sequence: where
> > not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
> > getting erroneous results.  At this point, I very near offering money
> > for someone to help me fix this.  It looks like a bug though to me.  I
> > should not be getting the results that I am.
> >
> > All the best,
> > Chris
> >
> > On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum 
> wrote:
> > >
> > > Hi,
> > >
> > > > If you are allowed to share some snippets of the actual documents, it
> > > > will be easier to see how the query needs to be phrased.
> > > >
> > >
> > > Sadly, probably not.  I can probably do something off list but even
> > > then I would hesitate.
> > >
> > > I tried your proposal from your other email and I am getting the same
> > > results as with all other attempts.  I feel like this should be very
> > > straightforward and I am just missing something small.
> > >
> > > > Have you verified that $biblFull and $biblStruct actually contain
> > > > strings? If not, do you need to declare a default namespace? The
> > > > vocabulary looks like TEI, so
> > > >
> > > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
> > > >
> > >
> > > It is TEI-like.  It is not exactly TEI and I very much doubt it would
> validate.
> > >
> > > > may be necessary. And if it is TEI, the ID attributes are probably
> > > > called @xml:id rather than @id.
> > > >
> > >
> > > No, the XML documents are explicit about the @id as I checked.
> > >
> > > Thank you for your help.
> > >
> > > All the best,
> > > Chris
>


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christopher Yocum
Hi,

Of course the instant you say that, you fix it.  Thanks for everyone's support.

All the best,
Chris

On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum  wrote:
>
> Hi Everyone,
>
> I just tried using functx:is-value-in-sequence: where
> not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
> getting erroneous results.  At this point, I very near offering money
> for someone to help me fix this.  It looks like a bug though to me.  I
> should not be getting the results that I am.
>
> All the best,
> Chris
>
> On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum  wrote:
> >
> > Hi,
> >
> > > If you are allowed to share some snippets of the actual documents, it
> > > will be easier to see how the query needs to be phrased.
> > >
> >
> > Sadly, probably not.  I can probably do something off list but even
> > then I would hesitate.
> >
> > I tried your proposal from your other email and I am getting the same
> > results as with all other attempts.  I feel like this should be very
> > straightforward and I am just missing something small.
> >
> > > Have you verified that $biblFull and $biblStruct actually contain
> > > strings? If not, do you need to declare a default namespace? The
> > > vocabulary looks like TEI, so
> > >
> > > declare default element namespace "http://www.tei-c.org/ns/1.0;;
> > >
> >
> > It is TEI-like.  It is not exactly TEI and I very much doubt it would 
> > validate.
> >
> > > may be necessary. And if it is TEI, the ID attributes are probably
> > > called @xml:id rather than @id.
> > >
> >
> > No, the XML documents are explicit about the @id as I checked.
> >
> > Thank you for your help.
> >
> > All the best,
> > Chris


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christopher Yocum
Hi Everyone,

I just tried using functx:is-value-in-sequence: where
not(functx:is-value-in-sequence($title/@id, $biblFull)).  I am still
getting erroneous results.  At this point, I very near offering money
for someone to help me fix this.  It looks like a bug though to me.  I
should not be getting the results that I am.

All the best,
Chris

On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum  wrote:
>
> Hi,
>
> > If you are allowed to share some snippets of the actual documents, it
> > will be easier to see how the query needs to be phrased.
> >
>
> Sadly, probably not.  I can probably do something off list but even
> then I would hesitate.
>
> I tried your proposal from your other email and I am getting the same
> results as with all other attempts.  I feel like this should be very
> straightforward and I am just missing something small.
>
> > Have you verified that $biblFull and $biblStruct actually contain
> > strings? If not, do you need to declare a default namespace? The
> > vocabulary looks like TEI, so
> >
> > declare default element namespace "http://www.tei-c.org/ns/1.0;;
> >
>
> It is TEI-like.  It is not exactly TEI and I very much doubt it would 
> validate.
>
> > may be necessary. And if it is TEI, the ID attributes are probably
> > called @xml:id rather than @id.
> >
>
> No, the XML documents are explicit about the @id as I checked.
>
> Thank you for your help.
>
> All the best,
> Chris


Re: [basex-talk] Compare List Membership in XQuery

2019-03-26 Thread Christopher Yocum
Hi,

> If you are allowed to share some snippets of the actual documents, it
> will be easier to see how the query needs to be phrased.
>

Sadly, probably not.  I can probably do something off list but even
then I would hesitate.

I tried your proposal from your other email and I am getting the same
results as with all other attempts.  I feel like this should be very
straightforward and I am just missing something small.

> Have you verified that $biblFull and $biblStruct actually contain
> strings? If not, do you need to declare a default namespace? The
> vocabulary looks like TEI, so
>
> declare default element namespace "http://www.tei-c.org/ns/1.0;;
>

It is TEI-like.  It is not exactly TEI and I very much doubt it would validate.

> may be necessary. And if it is TEI, the ID attributes are probably
> called @xml:id rather than @id.
>

No, the XML documents are explicit about the @id as I checked.

Thank you for your help.

All the best,
Chris