OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

oslc-core message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (OSLCCORE-138) OSLC Query BNF for wildcards seems questionable


    [ https://issues.oasis-open.org/browse/OSLCCORE-138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=68060#comment-68060 ] 

David Honey commented on OSLCCORE-138:
--------------------------------------

Another use of wildcard is in nested queries. For example:

* { foaf:name = "username" }

This is even more problematic for implementations using RDB persistence. Again, there does not appear to be any way for a client to discover whether this wildcard use case is supported by an implementation.

> OSLC Query BNF for wildcards seems questionable
> -----------------------------------------------
>
>                 Key: OSLCCORE-138
>                 URL: https://issues.oasis-open.org/browse/OSLCCORE-138
>             Project: OASIS OSLC Lifecycle Integration Core (OSLC Core) TC
>          Issue Type: Bug
>          Components: Query
>            Reporter: Andrii Berezovskyi
>            Assignee: James Amsden
>
> I was about to answer this question https://jazz.net/forum/questions/227587/how-to-use-rm-apioslc-where-clause-using-not-equal-null-conditions with the link to the OSLC Query spec but then I saw !="*" on the linked docs in https://www.ibm.com/support/knowledgecenter/SSZRHJ/com.ibm.mif.doc/gp_intfrmwk/oslc/r_oslc_query_params.html.
> That made me read BNF extra carefully and from the shortened subset below you can see my concern:
> oslc_where    ::= "oslc.where=" compound_term
> compound_term ::= simple_term (space? boolean_op space? simple_term)*
> simple_term   ::= term | scoped_term
> space         ::= " " /* a space character */
> boolean_op    ::= "and"
> term          ::= identifier_wc comparison_op value | identifier_wc space in_op space? in_val
> scoped_term   ::= identifier_wc "{" compound_term "}"
> identifier_wc ::= identifier | wildcard
> This query is valid:
> oslc.where=* > 10
> While this one is invalid:
> oslc.where=name=*
> Now that I look at my examples, this actually makes sense (leaving aside a question why would you filter by any property being greater than a certain number), while IBM manual's "The parent!="*" query is semantically equivalent to the parent="NULL" query." does not!
> Do you have any automatic BNF validators to check the sanity of the BNF further?



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]