You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Marcel Reutegger <ma...@gmx.net> on 2006/04/03 09:13:00 UTC

query feature extensions

Jackrabbit currently supports a limited set of XPath features, basically 
the mandatory feature set as specified by jsr-170 plus some extended 
capability where predicates can stated.

I would like to invite everyone (or at least whoever is interested...) 
to put together a list of 3 query features that are missing the most in 
jsr-170/jackrabbit regarding XPath support. Of course you may post a 
longer list but I'm primarily interested in getting a feeling where the 
priorities are.

e.g. here is my list:

1) child axis support in predicates. See also:
http://issues.apache.org/jira/browse/JCR-247

2) fn:name() and some of the functions for substring matching
This allows more sophisticated matching of node names. currently only 
'*' and exact name are possible.

3) union operator
searching only under certain nodes excluding the jcr:system node is 
currently not possible. Using union operator would allow this.

regards
  marcel


Re: query feature extensions

Posted by Cédric Damioli <ce...@anyware-tech.com>.
Marcel Reutegger a écrit :
> Jackrabbit currently supports a limited set of XPath features, 
> basically the mandatory feature set as specified by jsr-170 plus some 
> extended capability where predicates can stated.
>
> I would like to invite everyone (or at least whoever is interested...) 
> to put together a list of 3 query features that are missing the most 
> in jsr-170/jackrabbit regarding XPath support. Of course you may post 
> a longer list but I'm primarily interested in getting a feeling where 
> the priorities are.
>
> e.g. here is my list:
>
> 1) child axis support in predicates. See also:
> http://issues.apache.org/jira/browse/JCR-247
>
> 2) fn:name() and some of the functions for substring matching
> This allows more sophisticated matching of node names. currently only 
> '*' and exact name are possible.
>
> 3) union operator
> searching only under certain nodes excluding the jcr:system node is 
> currently not possible. Using union operator would allow this.
>
> regards
>  marcel
>
My two first points would be same as yours :

1) Add more axis support (child axis and maybe ascendant axis, to be 
able to construct queries such as "//element(*, whatever)/..")
2) To be able to query Nodes names.

And I would add :

3) To be able to order on Node names (eg "//* order by fn:name()"), and 
also to be able to choose the case sensibility of a query ordering (eg 
"//* order by @whatever case insensitive")

Regards,

-- 
Cédric Damioli
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com


Re: query feature extensions

Posted by Thomas Scheffler <th...@uni-jena.de>.
Am Montag, 3. April 2006 09:13 schrieb Marcel Reutegger:
> Jackrabbit currently supports a limited set of XPath features, basically
> the mandatory feature set as specified by jsr-170 plus some extended
> capability where predicates can stated.
>
> I would like to invite everyone (or at least whoever is interested...)
> to put together a list of 3 query features that are missing the most in
> jsr-170/jackrabbit regarding XPath support. Of course you may post a
> longer list but I'm primarily interested in getting a feeling where the
> priorities are.
>
> e.g. here is my list:
>
> 1) child axis support in predicates. See also:
> http://issues.apache.org/jira/browse/JCR-247

+1 for this one. This is my most missed function because it shifts to much 
logic to the application, e.g. to remove double hits afterwards. IMHO it 
should had been included in the standard. This feature should also be 
included in the Ordering Specifier (6.6.3.5) then, which is currently also 
limited to the attribute axis. So another +1 for enhancing the Ordering 
Specifier.

regards

Thomas

Re: query feature extensions

Posted by Helio <pi...@ibest.com.br>.
Marcel Reutegger <marcel.reutegger <at> gmx.net> writes:

> 
> Cédric Damioli wrote:
> > Jukka Zitting a écrit :
> >> 2) Support for predicates in location steps:
> >>
> >>    
> >> //element(*,nt:file)[ <at> jcr:created>'...']/jcr:content[ <at>
jcr:lastModified<'...'] 
> >>
> >>  
> >>
> > This one already works, don't it ?
> > I run many queries like this one in my app.
> > I don't know if it belongs to JCR 1.0, but Jackrabbit handles it correctly.
> 
> as per the jcr specification only a predicate at the last location step 
> must be supported. so, this is an extension to the jcr 1.0 spec that 
> might find its way into jsr-283.
> 
> btw, thanks for the priority lists sent so far.
> 
> regards
>   marcel
> 
> 
My wish is that jackrabbit supports searches expressions like this (in sql):
SELECT * FROM my:base WHERE jcr:path LIKE '/FOLDER1/F%'
(where "jcr:path would be whatever other word that could refers to the path...)

So whatever the name of the child nodes of /FOLDER1, if it begins with "F" and
it is kind of "my:base", it will be returned and theirs child nodes too.
I don't know if this kind of wish was already posted by someone, but, only to
increase this list, here you are.

Thanks
Helio.





Re: query feature extensions

Posted by Marcel Reutegger <ma...@gmx.net>.
Cédric Damioli wrote:
> Jukka Zitting a écrit :
>> 2) Support for predicates in location steps:
>>
>>    
>> //element(*,nt:file)[@jcr:created>'...']/jcr:content[@jcr:lastModified<'...'] 
>>
>>  
>>
> This one already works, don't it ?
> I run many queries like this one in my app.
> I don't know if it belongs to JCR 1.0, but Jackrabbit handles it correctly.

as per the jcr specification only a predicate at the last location step 
must be supported. so, this is an extension to the jcr 1.0 spec that 
might find its way into jsr-283.

btw, thanks for the priority lists sent so far.

regards
  marcel

Re: query feature extensions

Posted by Cédric Damioli <ce...@anyware-tech.com>.
Jukka Zitting a écrit :

>Hi,
>
>On 4/3/06, Marcel Reutegger <ma...@gmx.net> wrote:
>  
>
>>I would like to invite everyone (or at least whoever is interested...)
>>to put together a list of 3 query features that are missing the most in
>>jsr-170/jackrabbit regarding XPath support.
>>    
>>
>
>1) Placeholders in queries:
>
>    //element(*,nt:file)[@jcr:created>?]
>
>2) Support for predicates in location steps:
>
>    //element(*,nt:file)[@jcr:created>'...']/jcr:content[@jcr:lastModified<'...']
>  
>
This one already works, don't it ?
I run many queries like this one in my app.
I don't know if it belongs to JCR 1.0, but Jackrabbit handles it correctly.

>3) Support for child axis in predicates:
>
>    //element(*,nt:file)[@jcr:created>'...' and
>jcr:content[@jcr:lastModified<'...']]
>
>  
>



Re: query feature extensions

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On 4/3/06, Marcel Reutegger <ma...@gmx.net> wrote:
> I would like to invite everyone (or at least whoever is interested...)
> to put together a list of 3 query features that are missing the most in
> jsr-170/jackrabbit regarding XPath support.

1) Placeholders in queries:

    //element(*,nt:file)[@jcr:created>?]

2) Support for predicates in location steps:

    //element(*,nt:file)[@jcr:created>'...']/jcr:content[@jcr:lastModified<'...']

3) Support for child axis in predicates:

    //element(*,nt:file)[@jcr:created>'...' and
jcr:content[@jcr:lastModified<'...']]

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - info@yukatan.fi
Software craftsmanship, JCR consulting, and Java development

Re: query feature extensions

Posted by Alexandru Popescu <th...@gmail.com>.
IMO all included so far are pretty good. I would add only the
position() > | < N, for allowing not jsr-170 dependent paging queries.

./alex
--
.w( the_mindstorm )p.


On 4/3/06, Aarnout van der Meulen <Aa...@e-office.com> wrote:
> At this moment, I only have 2 query features at my wish list:
>
> 1) use of fn:lower-case() and fn:upper-case() while searching
> property-values
> At this moment, full-text search with jcr:contains is case-insensitive,
> while other searches are case-sensitive. I would like to execute queries
> like:
> //*[fn:lower-case(@my:title)="test"]
> and
> //*[jcr:like(fn:lower-case(@title),'tes%')]
>
> 2) child axis support in predicates
>
> Regards,
> Aarnout
>
>
>
>
> Marcel Reutegger <ma...@gmx.net>
> 03-04-2006 09:13
> Please respond to
> dev@jackrabbit.apache.org
>
>
> To
> dev@jackrabbit.apache.org
> cc
>
> Subject
> query feature extensions
>
>
>
>
>
>
> Jackrabbit currently supports a limited set of XPath features, basically
> the mandatory feature set as specified by jsr-170 plus some extended
> capability where predicates can stated.
>
> I would like to invite everyone (or at least whoever is interested...)
> to put together a list of 3 query features that are missing the most in
> jsr-170/jackrabbit regarding XPath support. Of course you may post a
> longer list but I'm primarily interested in getting a feeling where the
> priorities are.
>
> e.g. here is my list:
>
> 1) child axis support in predicates. See also:
> http://issues.apache.org/jira/browse/JCR-247
>
> 2) fn:name() and some of the functions for substring matching
> This allows more sophisticated matching of node names. currently only
> '*' and exact name are possible.
>
> 3) union operator
> searching only under certain nodes excluding the jcr:system node is
> currently not possible. Using union operator would allow this.
>
> regards
>   marcel
>
>
>
>
>
> De informatie in dit e-mailbericht (inclusief aanhangsels) is vertrouwelijk en is alleen bestemd voor de beoogde ontvanger(s). Indien u dit bericht onterecht heeft ontvangen, wordt u verzocht het bericht te retourneren en de ontvangen informatie op geen enkele wijze te gebruiken.
>
> The information contained in this e-mail (attachments included) may be confidential and is intended solely for the person(s) indicated in the message. Should you have received this e-mail unintentionally, please return it to the sender and do not use the content of the message in any way.
>

Re: query feature extensions

Posted by Aarnout van der Meulen <Aa...@e-office.com>.
At this moment, I only have 2 query features at my wish list:

1) use of fn:lower-case() and fn:upper-case() while searching 
property-values
At this moment, full-text search with jcr:contains is case-insensitive, 
while other searches are case-sensitive. I would like to execute queries 
like:
//*[fn:lower-case(@my:title)="test"]
and
//*[jcr:like(fn:lower-case(@title),'tes%')]

2) child axis support in predicates

Regards,
Aarnout




Marcel Reutegger <ma...@gmx.net> 
03-04-2006 09:13
Please respond to
dev@jackrabbit.apache.org


To
dev@jackrabbit.apache.org
cc

Subject
query feature extensions






Jackrabbit currently supports a limited set of XPath features, basically 
the mandatory feature set as specified by jsr-170 plus some extended 
capability where predicates can stated.

I would like to invite everyone (or at least whoever is interested...) 
to put together a list of 3 query features that are missing the most in 
jsr-170/jackrabbit regarding XPath support. Of course you may post a 
longer list but I'm primarily interested in getting a feeling where the 
priorities are.

e.g. here is my list:

1) child axis support in predicates. See also:
http://issues.apache.org/jira/browse/JCR-247

2) fn:name() and some of the functions for substring matching
This allows more sophisticated matching of node names. currently only 
'*' and exact name are possible.

3) union operator
searching only under certain nodes excluding the jcr:system node is 
currently not possible. Using union operator would allow this.

regards
  marcel





De informatie in dit e-mailbericht (inclusief aanhangsels) is vertrouwelijk en is alleen bestemd voor de beoogde ontvanger(s). Indien u dit bericht onterecht heeft ontvangen, wordt u verzocht het bericht te retourneren en de ontvangen informatie op geen enkele wijze te gebruiken. 

The information contained in this e-mail (attachments included) may be confidential and is intended solely for the person(s) indicated in the message. Should you have received this e-mail unintentionally, please return it to the sender and do not use the content of the message in any way.