jsongraph / json-graph-specification

A proposal for representing graph structure (nodes / edges) in JSON.
http://jsongraphformat.info/
Other
449 stars 35 forks source link

High confusion as to current status of JGF #45

Closed ArSn closed 3 years ago

ArSn commented 3 years ago

Hi all,

TL;DR: Is JGF dead?

Disclaimer: To make myself clear, I do not want to complain about anything with JFG nor the work that is being done on it (or the lack thereof?). I still think its a great project and has merit.

However, I was about to implement support for version 2 into my JS package that I built last year and stumbled upon some confusion I could not clarify with any of the available documentation.

  1. Is v2 still a draft? How can I tell? All I see on the spec is one commit which looks like the file was mostly just renamed. I did however do a diff on the two versions and things are indeed a bit different. I wonder though, where does this new version come from / was it discussed?
  2. Does the structure description represent version 1 or version 2? Or both?
  3. IF(!) v2 is still a draft, what are its goals?
  4. If v2 is NOT(!) still a draft, what are its differences to version 1 and for what reason?
  5. If v2 is NOT(!) still a draft, is v1 deprecated? And if so, where is this noted?
  6. It appears the tests have not been running since the start of the year. I appreciate that 2020 was a tough one for everyone, I just wonder if they will ever work again as it (at least to me) looks pretty broken. I would be happy to provide a pull request to transition this from travis to github actions and make it work again if you want me to, but since I don't know a lot of ruby it would probably be something else.

For a little bit background on why I am asking all this and why I also built the mentioned before package: I never really got around to it, but I was planning on doing a piece of software that does (for one part) outline the schema/map of airports using JFG. If JGF is more vital than it currently appears to me, I am happy to work on the package and provide compatibility with version 2, however, if JGF is a dead in the water, it does not appear to make very much sense to me at this point.

Thanks for all your answers and again, I really do not want to complain and appreciate how much work it is working on these things, just want to carry on with my decision making process.

P.S.: Now this has more of a question-style than a real issue which I am aware of, but maybe it would make sense to update some things in the repo in order to avoid this kind of questions in the future. I'd be happy to help out with that (once I know whats up, that is).

wshayes commented 3 years ago

JGF is still alive and well. Version 2 made a major change in that the nodes are a Map now instead of a list. V2 was added via https://github.com/jsongraph/json-graph-specification/pull/43 and was created from various issue requests.

We do need to update the documentation on it - it's aged a bit but it's pretty clear that V2 is out there. Some people are still using V1 which is why the spec is still listed prominently.

I'm very interested in getting rid of any Ruby code and converting it over to python for schema validation. I'm also interested in shifting all of the docs over to mkdocs to make it easier to update.

I'll make a quick change now to the README to make it clear that the README is discussing V2. I've been a bit buried in other work (which actually relies heavily on JGF - it's a key part of how we manage our graphs (import/export and even storage).

Suggestions and help/PR's are greatly appreciated.

ArSn commented 3 years ago

Thanks for the awesome quick response, @wshayes.

Understood! And also, thanks a bunch for clarifying some things in the readme to make even slow people like me sure of what the current state is. Maybe it would be feasible to have a section to display the current state of each version, like "DRAFT", "ACTIVE", "DEPRECATED". This would enable JGF to deprecate old versions sometime (I found it really hard to find a validator for draft4-schemas in javascript, so I kind of see that coming somewhere on the horizon).

Anyways, I think once the linked PR is merged (or something along the lines) my confusion is fully solved and I am looking forward to investing more time into JGF (and the tools where I plan to use it).

So, again: Thanks!

wshayes commented 3 years ago

That's the power of open source and Github (like) tools - many eyes - it just never occurred to me that it was confusing due to my vantage point. Thanks for the PR. Reviewing it now.

ArSn commented 3 years ago

All cleared up now, thanks!