-
Notifications
You must be signed in to change notification settings - Fork 2
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
rdf:JSON value space too liberal #87
Comments
Can you elaborate on this, perhaps with some JSON examples that illustrate the problem. Regarding "value space contains elements like the list that is its only member", if you're saying that a value can be a list with no members (e.g.,
Where do you think such a statement should go? |
In most programming languages data structures can be self-referential. So the list that has itself as its only member is fine in these languages, e.g., LISP. The list that has itself as its only member is not the empty list. Nor is it the list that has one member that is a list that has one member that is a list that has one member that is a list etc. But all three of these are in the definition. To remove these non-well-founded elements a common practice in some areas is to say something like "The value space is the smallest set containing strings, ...." There are many other ways of saying the same thing, and I do not know if this wording is currently acceptable in programming language or data structure specifications. |
The notion of self-including is similar to that we describe for Triple Terms:
I think the concern you're expressing about lists having themselves as a member is similar. In both cases, the grammars do not provide a way to create lists that have themselves as entries, either directly or recursively. Same for maps. |
Except that triple terms are grammar elements and thus can be said to be created. rdf:JSON values just exist. |
I don't see any practical issue there. You can objectively conclude from the lexical-to-value mapping that such anomalous values could never be encoded using Is there a merit to having the theoretical value space bigger than what can be encoded? Perhaps: :p rdfs:range rdf:JSON . This means that such a property accepts not only traditional JSON strings, but potentially also other extensions that map to the value space of By the way, there are datatypes whose lexical space is empty: |
The value space contains elements like the list that is its only member. There is nothing wrong with this, but I don't believe that such values are part of JSON and they certainly cause problems in serialization. If these values are not wanted a datatypes expert should be consulted to provide the best wording for excluding them.
My wording change would be to add "the smallest set containing" to the definition.
The text was updated successfully, but these errors were encountered: