Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Split Overview into the two specific use cases (resubmission) #1579

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
gregsdennis wants to merge 1 commit into main
base: main
Choose a base branch
Loading
from gregsdennis/awwright-overview-updates

Conversation

Copy link
Member

@gregsdennis gregsdennis commented Jan 19, 2025

What kind of change does this PR introduce?

Issue & Discussion References

Replaces #1370

Summary

Note

This is a resubmission of @awwright's #1370. Please refer there for extensive conversation. The below text is also from that PR.

This is an alternative to #1244, and like that issue, this one should be incorporated prior to #1365. This PR makes a clearer distinction between validation uses and annotation uses that 1365 will draw on (it relies on classifying which use each keyword is being used for, since validation use is different from annotation use).

This PR moves vocabulary-related discussion deeper into the specification, and replaces Overview with a specific description of what a JSON Schema can do, especially in terms of its output.

Once its capabilities are described, the rest of the specification can describe how you write a schema that can do these things.

This replaces the Overview section, which is a little bit redundant with the above Abstract, then Introduction, sections.

Does this PR introduce a breaking change?

No.

awwright reacted with thumbs up emoji
Comment on lines +50 to +52
A JSON Schema document describes a validator (also known as a "recognizer" or
"acceptor") which classifies a provided JSON document as "accepted" or
"rejected."
Copy link
Member

@karenetheridge karenetheridge Jan 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is introducing a lot of new terms, which could cause confusion -- generally we have been saying "evaluator" and "valid" or "invalid". I would prefer we stick to one set of terms rather than introducing new overlapping ones.

jdesrosiers reacted with thumbs up emoji
Copy link
Member

@karenetheridge karenetheridge Jan 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Further, the JSON Schema document itself is not the evaluator/validator, but rather describes rules for evaluation, when applied against a provided JSON document ("data instance").

jdesrosiers reacted with thumbs up emoji
Copy link
Member

@awwright awwright Mar 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The goal of this phrasing is to relate the concepts behind JSON Schema to the general concepts that pre-exist JSON Schema. If you're from the world of computer languages, grammars, and parsers, then this will introduce you to the terms used in JSON Schema in terms that you're already familiar with. If you're from the world of JSON then this will introduce you to the terminology that you will inevitably end up seeing elsewhere.

Copy link
Member

@karenetheridge karenetheridge Mar 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never seen "recognizer" or "acceptor" used, either in the world of JSON Schema or outside it. "Validator" and "parser" have much higher recognition IMO.

Copy link
Member

@awwright awwright Mar 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider the page https://en.wikipedia.org/wiki/Finite-state_machine (of which the vast majority of keywords in JSON Schema fall within a https://en.wikipedia.org/wiki/Pushdown_automaton specifically) — the word "valid" doesn't even show up. This passage helps build a bridge to this audience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@karenetheridge karenetheridge karenetheridge left review comments

@awwright awwright awwright left review comments

At least 1 approving review is required to merge this pull request.

Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /