persvr / rql

Resource Query Language
http://www.persvr.org/
269 stars 49 forks source link

Spec inconsistencies and like/match. #55

Open vincer opened 9 years ago

vincer commented 9 years ago

There's the spec in this repo as well as this page: https://doc.apsstandard.org/2.1/spec/rql/ which references this repo

The later specifies a "like" operator for string matching with wildcards. I've also seen references to this but named "match" instead of like including in the javascript implementation in this repo. But it doesn't show up at all, either as like or match, in the spec in this repo.

So the most important question I have is:

Where is the official spec for RQL, most importantly around operators and their definitions? Maybe there's another place that I missed?

Depending on the answer to that and what the spec is I may have follow up questions for this javascript implementation.

wshager commented 9 years ago

There isn't any official spec, that's the problem. I've been trying to get a response on this too, but never heard anything. I kinda gave up and follow my own spec based on xpath, which javascript developers may or may not like, but at least it's a decent and concise standard and easy to understand. Considering your question, I'd opt for matches.

wshager commented 9 years ago

I never saw that aps link, it looks slightly better, but it isn't implemented either afaik.

vincer commented 9 years ago

Re-reading the aps doc, this is more APS's own interpretation of RQL and not official (hence the line "APS uses a subset of the RQL operators and adds some APS-specific functions"). I'm guessing they ran into similar issues, added the operators they needed and named that one "like".

So, unless someone else can clarify the only "official" spec is the one in this repo. But now we're back to the question of why it doesn't match the implementation?

Its too bad. For URL encoded queries, RQL looked to be the best in terms of simplicity and clarity, its just lacking some rigorousness.

burashka commented 7 years ago

Hi, all! I am work in APS Team. @vincer mentioned our specification. Unfortunately our code and the code persvr greatly broke up. We published our version with the operators added by us ('like' and 'not'): https://www.npmjs.com/package/aps-rql. You are welcome!