Comments (6)
I am very interested in that standard because it adds useful things on top of jsonpath making it a expression language that allows arithmetic operations, using variables, date conversion and more.
I found it available to download (copy right protect but free to read)
https://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip
After the first standard of jsonPath it could be possible to add some of the futures step by step or use this ideas for standards build on top of JSONPath something like a "Json Path Expression Language".
We could also already start collecting ideas like making brakets optional for filtering expressions for future versions of the standard.
from json-path-comparison.
I agree. It seems to me that for "legacy JSONPath", the only standard that matters is the emerging SQL/JSON standard, that is what Google, Amazon, Microsoft and Oracle appear to be coalescing around. It would be interesting to have some columns in the comparison table that show what they produce, also covering functions. "New JSONPath" that innovates will likely want to be compatible with that.
from json-path-comparison.
SQL/JSON path language has been standardized via ISO in 2016 and a new revision in 2021 (ISO/IEC 19075-6:2021, section 7). The syntax shares some parts with JSONPath and its is obviously inspired by it, but it is an independent query language. Here is a quote from a draft from 2014 (the current standard is not publicly available) to give some context:
We began by reviewing available query languages for JSON. We found the following:
- JPath
- JSONPath
- JAQL
- JSONiq
- Mongo
Although we found interesting ideas in each of these, we do not believe that any of them has emerged as a βwinnerβ in the marketplace. Consequently, we decided to define our own place-holder query language, which is called the SQL/JSON path language in the proposal.
From a technical point of view there is no need to include SQL/JSON Path in this comparison, but from a practical point of view it is very relevant because
- both language are likely to be confused
- there is a large overlap between both
- people will be interested which features can be used in both languages and/or how to translate between both languages
I think the issue could best be addressed by
- add a short section "What is JSONPath?" to the FAQ (this is useful anyway), mentioning SQL/JSON Path
- add "not to be confused with SQL/JSON Path" to the introduction line at the top of the home page
- create a comparison between both languages and link it from home page and FAQ
from json-path-comparison.
See #10 for a WIP implementation against Postgres' implementation.
from json-path-comparison.
Thanks for the context.
If you like to sponsor (even if it's just part of the changes), feel free to have at it!
from json-path-comparison.
I stumbled upon this issue while I was working on a service compliant with the Web of Things Thing Description Directory specification. As you can see the service exposes a search endpoint that accepts JSONPath.
Not sure if it might be helpful to somebody else but we ended up creating a simple library that translates the current IETF working draft to SQL/JSONPath. Sadly, it is a lossy conversion but it works quite well in our use cases. Currently, the known limitations are listed in the README but there are probably more when considering the Descendant Selector and AbsolutePaths in filters.
I want to thank @nichtich for #61 (comment) it was an eye opener π and I agree that some text would be helpful for newcomers.
from json-path-comparison.
Related Issues (20)
- Is it possible to provide JSONPath test cases based on consensus results HOT 7
- Show footnote 4 if applicable on the query detail page
- Need test for filter expression checking for local key in array with a null value
- Alignment with spec in its current state (a report) HOT 7
- Incorporating and merging with the compliance test suite HOT 3
- Add nimma
- Include github.com/SteelBridgeLabs/jsonpath HOT 1
- Failing build of Java implementations in the docker container HOT 1
- Unreliable Docker build HOT 3
- Clarify relationship to jsonpath-standard HOT 2
- Document how to run comparison natively (without Docker) HOT 3
- Should the implementations be scored? HOT 6
- Project governance HOT 7
- Link to reference implementation
- Support for path axis navigation HOT 11
- Issue with display of queries containing the * character HOT 1
- Expand on type of consensus HOT 2
- Tests for root reference in filter expressions. HOT 3
- Analysis HOT 2
- provide key for table contents HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-path-comparison.