Skip to content
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

remove rdf:JSON if it doesn't meet the requirements of an RDF datatype #90

Open
pfps opened this issue Jun 27, 2024 · 7 comments
Open
Labels
spec:substantive Issue or proposed change in the spec that changes its normative content

Comments

@pfps
Copy link
Contributor

pfps commented Jun 27, 2024

If rdf:JSON does not meet the requirements of an RDF datatype then it should be removed from RDF concepts.

@pfps pfps added the spec:substantive Issue or proposed change in the spec that changes its normative content label Jul 18, 2024
@IS4Code
Copy link

IS4Code commented Aug 10, 2024

Thesis please?

@pfps
Copy link
Contributor Author

pfps commented Aug 10, 2024

There are requirements for RDF datatypes in RDF Concepts. The description of rdf:JSON does not meet these requirements.

@domel
Copy link
Contributor

domel commented Aug 10, 2024

Which fragment of the RDF Concepts spec does define these requirements?

@pfps
Copy link
Contributor Author

pfps commented Aug 10, 2024

@domel
Copy link
Contributor

domel commented Aug 10, 2024

I can't find a relevant quote in this fragment that would support your opinion.

@pfps
Copy link
Contributor Author

pfps commented Aug 10, 2024

For example, "A JSON Array is mapped to a list by performing this mapping on each array value." is inadequate because it does not say how the list is constructed.

A large part of specifications is taking what might appear to be obvious and writing it down so that there can be no misunderstandings.

The value space is has ordered maps. What is the order? How is it supposed to be "ignored"?

"A JSON String is mapped to a string." What is the string?

And more.

@gkellogg
Copy link
Member

For example, "A JSON Array is mapped to a list by performing this mapping on each array value." is inadequate because it does not say how the list is constructed.

You may quibble with the wording, but the spec does address how to map a JSON Array to a list:

A JSON Array is mapped to a list by performing this mapping on each array value.

Rather than saying that it does nothing, you might instead suggest how this definition can be improved. Perhaps by being even more exploit by saying "... by creating a new list which each value of that list is created by performing this mapping on that value and placing it at the same index within the target list." IMO, the meaning is already pretty clear.

A large part of specifications is taking what might appear to be obvious and writing it down so that there can be no misunderstandings.

The value space is has ordered maps. What is the order? How is it supposed to be "ignored"?

From the definition of map equality, order doesn't matter, thus it can be ignored.

A JSON Object is mapped to a map by transforming each object member into a map entry with the key taken from the member name and value taken by performing this mapping to the member value. Map entries are treated as being unordered.

Also, IMO, the last sentence doesn't add any value as order never comes into any operation on this component.

"A JSON String is mapped to a string." What is the string?

More wording could be taken from, say, Turtle on the specific mapping:

A JSON string is used with escape sequences unescaped to form the RDF string of the lexical form.

Please make (or respond to) suggestions for improving the wording rather than trow bricks at the entire effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec:substantive Issue or proposed change in the spec that changes its normative content
Projects
None yet
Development

No branches or pull requests

4 participants