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

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

Eclipse Lyo defines the grammar using Antlr. I did something similar for the Global Configuration Management application's implementation of OSLC Query using an updated Antlr grammar.

The other thing the spec should probably say is that using a wildcard for a property might not be supported by an implementation. For RDF persistence and SPARQL, it's easy to specify a graph match and filter. But for RDB persistence with SQL, then the implementation is awkward, involving potential many terms to separately query multiple columns and potentially multiple tables. Hence an implementation might choose to report wildcard property names as an error.

The spec currently does not provide any advice about how a client discovers such limitations.


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