Re: [basex-talk] Unexpected unary lookup result

2018-05-14 Thread Christian Grün
Hi Sebastian,

​Thanks for your bug report. I found the culprit, it was a little static
typing error​ in our lookup expression optimizations [1].

A new snapshot is available [2]; BaseX 9.0.2 will probably be released
around end of May.

Cheers,
Christian

[1] https://github.com/BaseXdb/basex/commit/75947cfee98d513ddb1620f84a092d
c883ebcc19
[2] http://files.basex.org/releases/latest/




On Fri, May 11, 2018 at 12:52 PM, Sebastian Zimmer <
sebastian.zim...@uni-koeln.de> wrote:

> Sorry to bother you again, but I think there is still something wrong with
> my code and I can't figure it out. This time I checked it consistently on
> BaseX 9.0.1 (Windows and Linux, console and web server), results are always
> the same:
>
> xquery version "3.1";
> declare namespace array = "http://www.w3.org/2005/xpath-functions/array; 
> ;
>
> let $array1 := []
> let $array2 := array:for-each([], function($i) { lower-case($i) })
> let $array3 := array:for-each([], function($i) { $i + 1 })
>
> return (
>   empty($array1!?*),
>   empty($array2!?*),
>   empty($array3!?*),
>   empty(
> for $i in 1 to array:size($array1)
> return $array1($i)
>   ),
>   empty(
> for $i in 1 to array:size($array2)
> return $array2($i)
>   ),
>   empty(
> for $i in 1 to array:size($array3)
> return $array3($i)
>   )
> )
>
> The results I get are:
> true
> false
> true
> true
> true
> true
>
> Why isn't the second result "true" too?
>
> Best regards,
> Sebastian
>
> Am 11.05.2018 um 11:12 schrieb Sebastian Zimmer:
>
> Hi again,
>
> the problem is gone now after a reboot. It seems that the web server was
> running on another version while the console was running with 9.0.1
>
> Sorry for the inconvenience.
>
> Best,
> Sebastian
> Am 11.05.2018 um 11:04 schrieb Sebastian Zimmer:
>
> Hi Giuseppe,
>
> thanks for checking. I double-checked again. The problem is even weirder
> now:
>
> When using the console, I too get 2x true:
>
> $ ./bin/basex "./webapp/array_test.xql"
> true
> true
>
> When using the web server, I still get this:
>
> $ curl localhost:8994/rest?run=array_test.xql
> false
> true
>
> At first I thought there was some cache at work, preventing the update,
> but it doesn't seem to be the case. I can edit the XQL und both outputs
> change accordingly, but the first boolean is still different.
>
> Best regards,
> Sebastian
>
> Am 11.05.2018 um 08:28 schrieb Giuseppe Celano:
>
> Hi Sebastian,
>
> In my Basex 9.0.1 and 8.6.7 you get two "true".
>
> Best,
> Giuseppe
>
> Universität Leipzig
> Institute of Computer Science, NLP
> Augustusplatz 10
> 
> 04109 Leipzig
> Deutschland
> E-mail: cel...@informatik.uni-leipzig.de
> 
> E-mail: giuseppegacel...@gmail.com
> Web site 1: http://www.dh.uni-leipzig.de/wo/team/
> Web site 2: https://sites.google.com/site/giuseppegacelano/
>
> On May 11, 2018, at 1:50 AM, Sebastian Zimmer <
> sebastian.zim...@uni-koeln.de> wrote:
>
> Hi,
>
> I have this script where I use the lookup operator to perform a unary
> lookup:
>
> xquery version "3.1";
> declare namespace array = "http://www.w3.org/2005/xpath-functions/array; 
> ;
>
> let $array := []
>
> return (
>   empty($array!?*),   (: returns false :)
>   empty(
> for $i in 1 to array:size($array)
> return $array($i)
>   )  (: returns true  :)
> )
>
> I'm curious that the first expression returns false even though it should
> be equivalent to the second expression, if I read the XQuery spec [1] right:
> If the context item is an array:
> If the KeySpecifier
> 
>  is a wildcard ("*"), the UnaryLookup
> 
>  operator is equivalent to the following expression:
>
> for $k in 1 to array:size(.)
> return .($k)
>
> But maybe I'm missing something. I'd be glad if you could help.
>
> Best regards,
> Sebastian Zimmer
>
> [1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup
> --
> Sebastian Zimmer
> sebastian.zim...@uni-koeln.de
>  
>
> Cologne Center for eHumanities 
> DH Center at the University of Cologne
>  @CCeHum
> 
>
>
>
> --
> Sebastian Zimmer
> sebastian.zim...@uni-koeln.de
> [image: CCeH Logo] 
>
> Cologne Center for eHumanities 
> DH Center at the University of Cologne
> [image: Twitter Logo] @CCeHum
> 
>
>
> --
> Sebastian Zimmer
> sebastian.zim...@uni-koeln.de
> [image: CCeH Logo] 
>
> Cologne Center for eHumanities 
> DH Center at the 

Re: [basex-talk] Unexpected unary lookup result

2018-05-11 Thread Giuseppe Celano
The error is in Basex 9.0.1 but not in 8.6.7. It seems to be caused by the 
presence of the function within the lambda function.

Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10
04109 Leipzig
Deutschland
E-mail: cel...@informatik.uni-leipzig.de
E-mail: giuseppegacel...@gmail.com
Web site 1: http://www.dh.uni-leipzig.de/wo/team/
Web site 2: https://sites.google.com/site/giuseppegacelano/

> On May 11, 2018, at 12:52 PM, Sebastian Zimmer 
>  wrote:
> 
> Sorry to bother you again, but I think there is still something wrong with my 
> code and I can't figure it out. This time I checked it consistently on BaseX 
> 9.0.1 (Windows and Linux, console and web server), results are always the 
> same:
> 
> xquery version "3.1";
> declare namespace array = "http://www.w3.org/2005/xpath-functions/array; 
> ;
> 
> let $array1 := []
> let $array2 := array:for-each([], function($i) { lower-case($i) })
> let $array3 := array:for-each([], function($i) { $i + 1 })
> 
> return (
>   empty($array1!?*),
>   empty($array2!?*),
>   empty($array3!?*),
>   empty(
> for $i in 1 to array:size($array1)
> return $array1($i)
>   ),
>   empty(
> for $i in 1 to array:size($array2)
> return $array2($i)
>   ),
>   empty(
> for $i in 1 to array:size($array3)
> return $array3($i)
>   )
> )
> The results I get are:
> true
> false
> true
> true
> true
> true
> 
> Why isn't the second result "true" too?
> 
> Best regards,
> Sebastian
> 
> Am 11.05.2018 um 11:12 schrieb Sebastian Zimmer:
>> Hi again,
>> 
>> the problem is gone now after a reboot. It seems that the web server was 
>> running on another version while the console was running with 9.0.1
>> 
>> Sorry for the inconvenience.
>> 
>> Best,
>> Sebastian
>> 
>> Am 11.05.2018 um 11:04 schrieb Sebastian Zimmer:
>>> Hi Giuseppe,
>>> 
>>> thanks for checking. I double-checked again. The problem is even weirder 
>>> now:
>>> 
>>> When using the console, I too get 2x true:
>>> 
>>> $ ./bin/basex "./webapp/array_test.xql"
>>> true
>>> true
>>> 
>>> When using the web server, I still get this:
>>> 
>>> $ curl localhost:8994/rest?run=array_test.xql
>>> false
>>> true
>>> At first I thought there was some cache at work, preventing the update, but 
>>> it doesn't seem to be the case. I can edit the XQL und both outputs change 
>>> accordingly, but the first boolean is still different.
>>> 
>>> Best regards,
>>> Sebastian
>>> 
>>> Am 11.05.2018 um 08:28 schrieb Giuseppe Celano:
 Hi Sebastian,
 
 In my Basex 9.0.1 and 8.6.7 you get two "true". 
 
 Best,
 Giuseppe
 
 Universität Leipzig
 Institute of Computer Science, NLP
 Augustusplatz 10
 04109 Leipzig
 Deutschland
 E-mail: cel...@informatik.uni-leipzig.de 
 
 E-mail: giuseppegacel...@gmail.com 
 Web site 1: http://www.dh.uni-leipzig.de/wo/team/ 
 
 Web site 2: https://sites.google.com/site/giuseppegacelano/ 
 
 
> On May 11, 2018, at 1:50 AM, Sebastian Zimmer 
> > 
> wrote:
> 
> Hi,
> 
> I have this script where I use the lookup operator to perform a unary 
> lookup:
> 
> xquery version "3.1";
> declare namespace array = "http://www.w3.org/2005/xpath-functions/array; 
> ;
> 
> let $array := []
> 
> return (
>   empty($array!?*),   (: returns false :)
>   empty(
> for $i in 1 to array:size($array)
> return $array($i)
>   )  (: returns true  :)
> )
> I'm curious that the first expression returns false even though it should 
> be equivalent to the second expression, if I read the XQuery spec [1] 
> right:
> 
> If the context item is an array:
> If the KeySpecifier 
> 
>  is a wildcard ("*"), the UnaryLookup 
> 
>  operator is equivalent to the following expression:
> for $k in 1 to array:size(.)
> return .($k)
> But maybe I'm missing something. I'd be glad if you could help.
> Best regards,
> Sebastian Zimmer
> [1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup 
> 
> -- 
> Sebastian Zimmer
> sebastian.zim...@uni-koeln.de 
>  
> Cologne Center for eHumanities 
> DH Center at the University of Cologne
>  @CCeHum 
> 

Re: [basex-talk] Unexpected unary lookup result

2018-05-11 Thread Sebastian Zimmer
Sorry to bother you again, but I think there is still something wrong 
with my code and I can't figure it out. This time I checked it 
consistently on BaseX 9.0.1 (Windows and Linux, console and web server), 
results are always the same:


xquery version "3.1";
declare namespace array = "http://www.w3.org/2005/xpath-functions/array;;

let $array1 := []
let $array2 := array:for-each([], function($i) { lower-case($i) })
let $array3 := array:for-each([], function($i) { $i + 1 })

return (
  empty($array1!?*),
  empty($array2!?*),
  empty($array3!?*),
  empty(
for $i in 1 to array:size($array1)
return $array1($i)
  ),
  empty(
for $i in 1 to array:size($array2)
return $array2($i)
  ),
  empty(
for $i in 1 to array:size($array3)
return $array3($i)
  )
)

The results I get are:
true
false
true
true
true
true

Why isn't the second result "true" too?

Best regards,
Sebastian


Am 11.05.2018 um 11:12 schrieb Sebastian Zimmer:


Hi again,

the problem is gone now after a reboot. It seems that the web server 
was running on another version while the console was running with 9.0.1


Sorry for the inconvenience.

Best,
Sebastian

Am 11.05.2018 um 11:04 schrieb Sebastian Zimmer:


Hi Giuseppe,

thanks for checking. I double-checked again. The problem is even 
weirder now:


When using the console, I too get 2x true:

$ ./bin/basex "./webapp/array_test.xql"
true
true

When using the web server, I still get this:

$ curl localhost:8994/rest?run=array_test.xql
false
true

At first I thought there was some cache at work, preventing the 
update, but it doesn't seem to be the case. I can edit the XQL und 
both outputs change accordingly, but the first boolean is still 
different.


Best regards,
Sebastian


Am 11.05.2018 um 08:28 schrieb Giuseppe Celano:

Hi Sebastian,

In my Basex 9.0.1 and 8.6.7 you get two "true".

Best,
Giuseppe

Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10
04109 Leipzig
Deutschland
E-mail: cel...@informatik.uni-leipzig.de 


E-mail: giuseppegacel...@gmail.com
Web site 1: http://www.dh.uni-leipzig.de/wo/team/
Web site 2: https://sites.google.com/site/giuseppegacelano/

On May 11, 2018, at 1:50 AM, Sebastian Zimmer 
> wrote:


Hi,

I have this script where I use the lookup operator to perform a 
unary lookup:


xquery version "3.1";
declare namespace array ="http://www.w3.org/2005/xpath-functions/array;;

let $array := []

return (
   empty($array!?*),   (: returns false :)
   empty(
     for $i in 1 to array:size($array)
     return $array($i)
   )  (: returns true  :)
)

I'm curious that the first expression returns false even though it 
should be equivalent to the second expression, if I read the XQuery 
spec [1] right:


If the context item is an array:
If theKeySpecifier 
is 
a wildcard ("|*|"), theUnaryLookup 
operator 
is equivalent to the following expression:

for $k in 1 to array:size(.)
return .($k)

But maybe I'm missing something. I'd be glad if you could help.

Best regards,
Sebastian Zimmer

[1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup

--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
 

Cologne Center for eHumanities 
DH Center at the University of Cologne
 @CCeHum 







--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





Re: [basex-talk] Unexpected unary lookup result

2018-05-11 Thread Sebastian Zimmer

Hi again,

the problem is gone now after a reboot. It seems that the web server was 
running on another version while the console was running with 9.0.1


Sorry for the inconvenience.

Best,
Sebastian

Am 11.05.2018 um 11:04 schrieb Sebastian Zimmer:


Hi Giuseppe,

thanks for checking. I double-checked again. The problem is even 
weirder now:


When using the console, I too get 2x true:

$ ./bin/basex "./webapp/array_test.xql"
true
true

When using the web server, I still get this:

$ curl localhost:8994/rest?run=array_test.xql
false
true

At first I thought there was some cache at work, preventing the 
update, but it doesn't seem to be the case. I can edit the XQL und 
both outputs change accordingly, but the first boolean is still different.


Best regards,
Sebastian


Am 11.05.2018 um 08:28 schrieb Giuseppe Celano:

Hi Sebastian,

In my Basex 9.0.1 and 8.6.7 you get two "true".

Best,
Giuseppe

Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10
04109 Leipzig
Deutschland
E-mail: cel...@informatik.uni-leipzig.de 


E-mail: giuseppegacel...@gmail.com
Web site 1: http://www.dh.uni-leipzig.de/wo/team/
Web site 2: https://sites.google.com/site/giuseppegacelano/

On May 11, 2018, at 1:50 AM, Sebastian Zimmer 
> wrote:


Hi,

I have this script where I use the lookup operator to perform a 
unary lookup:


xquery version "3.1";
declare namespace array ="http://www.w3.org/2005/xpath-functions/array;;

let $array := []

return (
   empty($array!?*),   (: returns false :)
   empty(
     for $i in 1 to array:size($array)
     return $array($i)
   )  (: returns true  :)
)

I'm curious that the first expression returns false even though it 
should be equivalent to the second expression, if I read the XQuery 
spec [1] right:


If the context item is an array:
If theKeySpecifier 
is 
a wildcard ("|*|"), theUnaryLookup 
operator 
is equivalent to the following expression:

for $k in 1 to array:size(.)
return .($k)

But maybe I'm missing something. I'd be glad if you could help.

Best regards,
Sebastian Zimmer

[1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup

--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
 

Cologne Center for eHumanities 
DH Center at the University of Cologne
 @CCeHum 







--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





Re: [basex-talk] Unexpected unary lookup result

2018-05-11 Thread Sebastian Zimmer

Hi Giuseppe,

thanks for checking. I double-checked again. The problem is even weirder 
now:


When using the console, I too get 2x true:

$ ./bin/basex "./webapp/array_test.xql"
true
true

When using the web server, I still get this:

$ curl localhost:8994/rest?run=array_test.xql
false
true

At first I thought there was some cache at work, preventing the update, 
but it doesn't seem to be the case. I can edit the XQL und both outputs 
change accordingly, but the first boolean is still different.


Best regards,
Sebastian


Am 11.05.2018 um 08:28 schrieb Giuseppe Celano:

Hi Sebastian,

In my Basex 9.0.1 and 8.6.7 you get two "true".

Best,
Giuseppe

Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10
04109 Leipzig
Deutschland
E-mail: cel...@informatik.uni-leipzig.de 


E-mail: giuseppegacel...@gmail.com
Web site 1: http://www.dh.uni-leipzig.de/wo/team/
Web site 2: https://sites.google.com/site/giuseppegacelano/

On May 11, 2018, at 1:50 AM, Sebastian Zimmer 
> wrote:


Hi,

I have this script where I use the lookup operator to perform a unary 
lookup:


xquery version "3.1";
declare namespace array ="http://www.w3.org/2005/xpath-functions/array;;

let $array := []

return (
   empty($array!?*),   (: returns false :)
   empty(
     for $i in 1 to array:size($array)
     return $array($i)
   )  (: returns true  :)
)

I'm curious that the first expression returns false even though it 
should be equivalent to the second expression, if I read the XQuery 
spec [1] right:


If the context item is an array:
If theKeySpecifier 
is 
a wildcard ("|*|"), theUnaryLookup 
operator 
is equivalent to the following expression:

for $k in 1 to array:size(.)
return .($k)

But maybe I'm missing something. I'd be glad if you could help.

Best regards,
Sebastian Zimmer

[1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup

--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
 

Cologne Center for eHumanities 
DH Center at the University of Cologne
 @CCeHum 







--
Sebastian Zimmer
sebastian.zim...@uni-koeln.de 
CCeH Logo 

Cologne Center for eHumanities 
DH Center at the University of Cologne
Twitter Logo @CCeHum 





Re: [basex-talk] Unexpected unary lookup result

2018-05-11 Thread Giuseppe Celano
Hi Sebastian,

In my Basex 9.0.1 and 8.6.7 you get two "true". 

Best,
Giuseppe

Universität Leipzig
Institute of Computer Science, NLP
Augustusplatz 10
04109 Leipzig
Deutschland
E-mail: cel...@informatik.uni-leipzig.de
E-mail: giuseppegacel...@gmail.com
Web site 1: http://www.dh.uni-leipzig.de/wo/team/
Web site 2: https://sites.google.com/site/giuseppegacelano/

> On May 11, 2018, at 1:50 AM, Sebastian Zimmer  
> wrote:
> 
> Hi,
> 
> I have this script where I use the lookup operator to perform a unary lookup:
> 
> xquery version "3.1";
> declare namespace array = "http://www.w3.org/2005/xpath-functions/array; 
> ;
> 
> let $array := []
> 
> return (
>   empty($array!?*),   (: returns false :)
>   empty(
> for $i in 1 to array:size($array)
> return $array($i)
>   )  (: returns true  :)
> )
> I'm curious that the first expression returns false even though it should be 
> equivalent to the second expression, if I read the XQuery spec [1] right:
> 
> If the context item is an array:
> If the KeySpecifier 
> 
>  is a wildcard ("*"), the UnaryLookup 
>  
> operator is equivalent to the following expression:
> for $k in 1 to array:size(.)
> return .($k)
> But maybe I'm missing something. I'd be glad if you could help.
> Best regards,
> Sebastian Zimmer
> [1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup 
> 
> -- 
> Sebastian Zimmer
> sebastian.zim...@uni-koeln.de 
>  
> Cologne Center for eHumanities 
> DH Center at the University of Cologne
>  @CCeHum 
>