Hacker News new | ask | show | jobs
by geonik 4178 days ago
XPath for JSON? Who would have thought of that! Now add namespaces and you reinvented XML 10 years later
5 comments

Except that, with certain caveats, XML has a slightly nicer syntax for text-heavy documents, and JSON is slightly nicer for hardcore data representation. For example, I'd much rather have a web page in HTML than JSON, but I'd rather have a config file in the latter.
There is a fairly straightforward generalization of the 'axis' concept to allow graph traversal: 'GPath'. (You have to add an annotation for a traversal kind, and an identifier for a property map.) XPath can be straightforwardly desugared to GPath. I implemented this years ago for an EDG IPR[1] back-end, hooked up a number of 'standard queries' over C++ to Todd Veldhuizen's live OpenGL force-directed graph-viewer [2], and watched EDG compile code---pretty wild stuff watching expressions 'bloom', and classes 'become referenced', etc.

[1] https://parasol.tamu.edu/pivot/ [2] http://ubietylab.net

Probably most people would have thought of it.

You wouldn't make that same comparison with regular expressions(tool) and a text document(data) would you? As in, the tool is not part and parcel of the data.

XPath(and JSONPath) are powerful tools for programatically pulling data from complex data structures.

How about Xpath for every configuration file?

    http://augeas.net/