w3c / json-ld-syntax

JSON-LD 1.1 Specification
https://w3c.github.io/json-ld-syntax/
Other
111 stars 22 forks source link

Kill "IRI"? #355

Open dhh1128 opened 4 years ago

dhh1128 commented 4 years ago

The heavy use of "IRI" as terminology in the spec, referencing RFC 3987, raises a number of thorny issues and actually makes JSON-LD out-of-sync with the latest developments at W3C. See https://www.w3.org/International/wiki/IRIStatus. (Also, the status of RFC 3987 has never moved past PROPOSED.)

If the spec continues to use the term, then there should probably be a section added to the spec to explain how JSON-LD proposes to solve the IRI problems such as inconsistent use of punycode and percent encoding. I suspect it would be simpler to use "URL" everywhere, per W3C recommendations, with a simple (foot)note explaining that the intent of "URL" is to encompass internationalization as originally envisioned by the IRI effort, but will track the work of the new URL working group for the particulars.

pchampin commented 4 years ago

The spec being a Proposed Recommendation, this is not the kind of change we can make in JSON-LD 1.1.

Now, about considering that for a future version: since RDF refers to IRIs, I don't think it would be wise to change that in JSON-LD before RDF itself is updated. That being said, it might be an interesting suggestion to make in https://github.com/w3c/EasierRDF :-)

dhh1128 commented 4 years ago

Okay. In that case, perhaps it would be appropriate to tweak this paragraph:

This document almost exclusively uses the term IRI (Internationalized Resource Indicator) when discussing hyperlinks. Many Web developers are more familiar with the URL (Uniform Resource Locator) terminology. The document also uses, albeit rarely, the URI (Uniform Resource Indicator) terminology. While these terms are often used interchangeably among technical communities, they do have important distinctions from one another and the specification goes to great lengths to try and use the proper terminology at all times.

Perhaps to something like this:

This document almost exclusively uses the term IRI (Internationalized Resource Indicator) when discussing hyperlinks. Many Web developers are more familiar with the URL (Uniform Resource Locator) terminology. The document also uses, albeit rarely, the URI (Uniform Resource Indicator) terminology. At the time this specification was developed, these terms had important technical distinctions from one another; they still do for some audiences. However, the IRI RFC has not matured beyond the PROPOSED STANDARD status since its introduction 15 years ago, and has not resolved some outstanding issues related to conflicting internationalization of domain names with punycode. Also, popular inertia has made it increasingly unusual to retain the distinction using the "IRI" term. Collective wisdom at the W3C now embraces the idea of "URL" as a generic cover term, as documented on the wiki page for IRI status. For now, the specification maintains its original strategy of using "IRI" very carefully, which helps it align with its RDF foundation. Future versions may align the terminology to broader W3C usage without intending substantive changes to the meaning.

iherman commented 4 years ago

Unfortunately, this is too late at this point. The Proposed Recommendation vote has just closed. Although we are in discussion with some of the official commentors to settle their issues before publishing the recommendation, we are not supposed to do any change of the level you propose.

I have set the ErratumRaised flag on this issue. The future JSON-LD maintenance group may then consider this in a future release.

iherman commented 4 years ago

(My previous comment was an admin one, this is closer to the issue itself).

JSON-LD is (also) a serialization of RDF. I know this issue has been raised for RDF and, in my view, that is the place where it should be solved. A deviation in terminology between JSON-LD and RDF would be detrimental.

azaroth42 commented 3 years ago

+1 to @iherman. This isn't a technical error in the specification and thus does not deserve an errata. It was considered during the WG and IRI was the resolution. The resolution is here: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-02-08-json-ld#section5-4

I propose that the errata be marked as considered, and defer-future-version and blocked (by a new version of RDF).

aucampia commented 2 years ago

@dhh1128 https://www.w3.org/International/wiki/IRIStatus is a wiki page mostly written by one person, is there any other source for the mentioned developments? I'm specifically interested in some official recommendation suggesting that the usage of the term URI should be replace with URL.

Standardize on the term URL. URI and IRI are just confusing. In practice a single algorithm is used for both so keeping them distinct is not helping anyone. URL also easily wins the search result popularity contest.

Would also be interested in similar efforts to replace IETF RFC 3986 with an updated standard that no longer mentions URIs or URNs.

aucampia commented 2 years ago

Would also be interested in similar efforts to replace IETF RFC 3986 with an updated standard that no longer mentions URIs or URNs.

Okay I guess it is this:

https://url.spec.whatwg.org/

Standardize on the term URL. URI and IRI are just confusing. In practice a single algorithm is used for both so keeping them distinct is not helping anyone. URL also easily wins the search result popularity contest.

aucampia commented 2 years ago

Would also be interested in similar efforts to replace IETF RFC 3986 with an updated standard that no longer mentions URIs or URNs.

Okay I guess it is this:

https://url.spec.whatwg.org/

Sad that they have not published any grammar for it https://github.com/whatwg/url/issues/479

gkellogg commented 1 year ago

As there is no technical issue with the spec's use of IRI, I don't see how an ErratumRaised is appropriate here. There have been some long-standing discussions about replacing IRI with URL in RDF specs (which, presumably, the RDF-star WG could consider, but probably won't). Until RDF Concepts, and related specs are updated to use https://url.spec.whatwg.org, it would be inappropriate to make a change to JSON-LD. (IMHO, the lack of an ABNF grammar for a URL is a show-stopper).

That said, adding some editorial language to compare IRI with URL might be reasonable, but I think the proposed update is inappropriate for this spec; a side-by-side critique of both IRI and URL can be done elsewhere. Of course, it would be good for the community to settle this matter.

gkellogg commented 1 year ago

After consideration in the RDF-star Working Group (see w3c/rdf-concepts#15), the term IRI was determined to be current and continues to be the basis for RDF specs going forward. Note that the ABNF from RFC3987 (and follow-ons) was pulled in to RDF Concepts. A future version of the specs may update references to the RDF 1.2 Concepts version.