[oslc-core] missing oslc query functionality

Joe Ross joeross at us.ibm.com
Tue Jul 17 14:47:16 EDT 2012


Nick, I think we are just talking about an extension in our implementation 
of the query syntax. 

Arthur, thanks for volunteering to review. We'll update the grammar to 
describe what we are doing, including precedence.

Joe

================================================
Joe Ross/Austin/IBM, joeross at us.ibm.com
Tivoli Autonomic Computing & Component Technologies
512-286-8311, T/L 363-8311



From:   Nick Crossley/Irvine/IBM
To:     Joe Ross/Austin/IBM at IBMUS, Arthur Ryman <ryman at ca.ibm.com>, 
Cc:     oslc-core at open-services.net
Date:   07/17/2012 12:57 PM
Subject:        Re: [oslc-core] missing oslc query functionality


Just to be quite clear, are you still talking about a provider or domain 
specific extension to the query language?

I think the bar for extending the query language required by OSLC Core 
should be very high.

Nick.




From:   Joe Ross/Austin/IBM at IBMUS
To:     Arthur Ryman <ryman at ca.ibm.com>, 
Cc:     oslc-core at open-services.net
Date:   07/17/2012 10:36 AM
Subject:        Re: [oslc-core] missing oslc query functionality
Sent by:        oslc-core-bounces at open-services.net



Well a unary "not" operator has more general applicability than a binary 
"never" operator. For example, someone could say 

oslc.where=not :topping in [:bacon,:cheese] 

or 

oslc.where=not :num < 5     
note that this is not the same as oslc.where=:num >= 5   if num is 
multivalued 

If we are extending the syntax, seems that adding "not" will be more 
useful. 


================================================
Joe Ross/Austin/IBM, joeross at us.ibm.com
Tivoli Autonomic Computing & Component Technologies
512-286-8311, T/L 363-8311 



From:        Arthur Ryman/Toronto/IBM at IBMCA 
To:        Joe Ross/Austin/IBM at IBMUS, 
Cc:        oslc-core at open-services.net 
Date:        07/17/2012 12:20 PM 
Subject:        Re: [oslc-core] missing oslc query functionality 


Joe, 

How about using "never" instead of "not", like so? 

oslc.where=:topping never :bacon 

Using "never" suggests we are looking at all the property values. 

Regards, 
___________________________________________________________________________ 

Arthur Ryman 

DE, Chief Architect, Reporting & 
Portfolio Strategy and Management 
IBM Software, Rational 

Toronto Lab | +1-905-413-3077 (office) | +1-416-939-5063 (mobile) 






From: 
Joe Ross/Austin/IBM at IBMUS 
To: 
Arthur Ryman/Toronto/IBM at IBMCA 
Cc: 
oslc-core at open-services.net 
Date: 
07/17/2012 11:02 AM 
Subject: 
Re: [oslc-core] missing oslc query functionality



Yes, that is the answer I would want. However, != operator would not give 
me that, since all three pizzas have a topping that is not bacon. 

So, I think we would need the following: 

oslc.where=not :topping=:bacon 
this would return all resources except those that have bacon (pizza-1 and 
pizza-2, but not pizza-3). 

Joe 

================================================
Joe Ross/Austin/IBM, joeross at us.ibm.com
Tivoli Autonomic Computing & Component Technologies
512-286-8311, T/L 363-8311 




From:        Arthur Ryman/Toronto/IBM at IBMCA 
To:        Joe Ross/Austin/IBM at IBMUS, 
Cc:        oslc-core at open-services.net 
Date:        07/17/2012 09:30 AM 
Subject:        Re: [oslc-core] missing oslc query functionality 


Joe, 

Just so I understand, for #1 you only want to return resources in which 
the specified property value never appears? 

Suppose we have the following member resources: 

:pizza-1 :topping :pepperoni , :olives, :mushrooms . 
:pizza-2 :topping :cheese, :olives, :onion . 
:pizza-3 :topping :bacon, :cheese, :mushrooms. 

Then the query oslc.where=:topping!=:bacon would return :pizza-1, 
:pizza-2.

Regards, 
___________________________________________________________________________ 

Arthur Ryman 

DE, Chief Architect, Reporting & 
Portfolio Strategy and Management 
IBM Software, Rational 

Toronto Lab | +1-905-413-3077 (office) | +1-416-939-5063 (mobile) 






From: 
Joe Ross/Austin/IBM at IBMUS 
To: 
Arthur Ryman <ryman at ca.ibm.com> 
Cc: 
oslc-core at open-services.net 
Date: 
07/13/2012 10:30 AM 
Subject: 
Re: [oslc-core] missing oslc query functionality




Thanks, Arthur. So, it sounds like these were intentional simplifications, 
and we could implement our own extensions or SPARQL if we want. 

> 1. Correct. What semantics do you want for multi-value properties? Are 
you 
> looking for the existence of one value that does not equal the given 
> value? 
In this particular case we are looking for resources that don't have a 
particular value for a multi-valued property. If we were simply looking 
for the existence of a value that doesn't equal the give value, I think != 
would handle that. 

> 2. Correct. However, you could approximate this effect by comparing the 
> property to a value that you are sure does not exist. e.g. if 
ex:estimate 
> is always non-negative, then ex:estimate > -1 would return resource that 

> had any value for ex:estimate. 

That is actually how we are doing it now . Using != with a value we know 
won't ever exist. 

Joe 

================================================
Joe Ross/Austin/IBM, joeross at us.ibm.com
Tivoli Autonomic Computing & Component Technologies
512-286-8311, T/L 363-8311 

Arthur Ryman <ryman at ca.ibm.com> wrote on 07/13/2012 09:11:06 AM:

> From: Arthur Ryman <ryman at ca.ibm.com> 
> To: Joe Ross/Austin/IBM at IBMUS, 
> Cc: oslc-core at open-services.net, oslc-core-bounces at open-services.net 
> Date: 07/13/2012 09:11 AM 
> Subject: Re: [oslc-core] missing oslc query functionality 
> 
> Joe,
> 
> The query language was scoped to be simple to implement. It is not 
> intended to be a fully general query language. For more complex 
> requirements, services can implement a standard query language. SPARQL 
is 
> recommended.
> 
> 1. Correct. What semantics do you want for multi-value properties? Are 
you 
> looking for the existence of one value that does not equal the given 
> value?
> 
> 2. Correct. However, you could approximate this effect by comparing the 
> property to a value that you are sure does not exist. e.g. if 
ex:estimate 
> is always non-negative, then ex:estimate > -1 would return resource that 

> had any value for ex:estimate.
> 
> Regards, 
> 
___________________________________________________________________________ 

> 
> Arthur Ryman 
> 
> DE, Chief Architect, Reporting &
> Portfolio Strategy and Management
> IBM Software, Rational 
> 
> Toronto Lab | +1-905-413-3077 (office) | +1-416-939-5063 (mobile) 
> 
> 
> 
> 
> 
> From:
> Joe Ross <joeross at us.ibm.com>
> To:
> oslc-core at open-services.net
> Date:
> 07/12/2012 06:39 PM
> Subject:
> [oslc-core] missing oslc query functionality
> Sent by:
> oslc-core-bounces at open-services.net
> 
> 
> 
> We've had a couple of scenarios that don't seem to be addressable using 
> the OSLC core 2.0 query syntax: 
> 
> 1. Finding all resources that don't have a particular value for a 
> property. 
> The != operator won't work for this, because in the case of multi-valued 

> properties, records will be returned as long as there is a value that is 

> not equal, even if there is also a value that is equal. This would 
require 
> a unary "not" logical operator. 
> 
> 2. Finding all resources that have any value for a particular property 
> (matching on predicate, regardless of value). 
> This is probably would probably be best handled by a unary "exists" 
> operator, or support for wildcard as the value in oslc.where clauses. 
> Currently the grammar seems to only allow for wildcard for the 
predicate. 
> 
> So, am I correct in this assessment? If so, was this omission 
intentional 
> (and if so what was the reason), or an oversight? 
> 
> ================================================
> Joe Ross/Austin/IBM, joeross at us.ibm.com
> Tivoli Autonomic Computing & Component Technologies
> 512-286-8311, T/L 
363-8311_______________________________________________
> Oslc-Core mailing list
> Oslc-Core at open-services.net
> http://open-services.net/mailman/listinfo/oslc-core_open-services.net
> 
> 
> 

_______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20120717/ffe7ddb0/attachment-0003.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 360 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20120717/ffe7ddb0/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 360 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20120717/ffe7ddb0/attachment-0001.gif>


More information about the Oslc-Core mailing list