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=68048#comment-68048 ] 

Andrii Berezovskyi commented on OSLCCORE-138:
---------------------------------------------

BTW, we declare that OSLC Query is defined in EBNF, but it's not! EBNF notation does not use ::=, requires semicolons etc. The "EBNF" definition fails the check via http://www.icosaedro.it/bnf_chk/bnf_chk-on-line.html

> 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]