-
Notifications
You must be signed in to change notification settings - Fork 157
Treat reverse term definitions more like regular definitions #253
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
Comments
As already mentioned in an email, the change to support
I think we can threat that as a bug fix without going through another LC.
You probably meant
|
PROPOSAL 1: Allow The required spec changes are:
PROPOSAL 2: Remove the The required spec changes are:
|
PROPOSAL 1: +1, presuming that the group agrees that it is a clarification of an ambiguity. I don't really get PROPOSAL 2; if this reverses subject and object, then the object certainly must be an IRI or BNode, and there's no way to specify the subject as being anything other than an IRI or BNode, so how does this actually apply? |
Yes, that’s right. If the value of a reverse property is not a node but a literal, an error will be thrown. The reason to remove the implicit type-coercion to @id is to allow a user to control the shape of the data in compaction. Without that, “node references” will be compacted to strings and nodes with properties other than @id will be objects. So proposal 2 does nothing else than allowing the user to decide whether node references should be compacted to strings or not. The effect is that you have to specify @type: @id if you want to use strings, just as with normal properties. Is this any clearer? :-) |
Okay, +1 to PROPOSAL 2, that makes sense. |
Thanks Markus! That's precisely what I'm after. PROPOSAL 1: +1 |
PROPOSAL 1: +1 |
RESOLVED: Allow RESOLVED: Remove the |
There is a problem with the following rule in the JSON-LD Syntax, section "B.7 Context Definitions":
The definition should allow "@container": "@set", to tell a compaction mechanism to always use an array? And/or use "@type": "@id" to allow for use of IRIs as strings.
Although the specified compaction doesn't make use of that (since it only uses reverses if it's explicitly given in the expanded form), another compaction mechanism (e.g. using repeated re-embedding) could make use of @container or @type here. So I'm not sure if it's good to disallow this syntactically...
An example of desired usage:
(I.e. declaratively state that "instances" is an array even if it only contains one object.)
Also, as noted by Markus:
I figure the data would be unpredictable otherwise. This should be under the control of the context author, via the regular @container mechanism.
The text was updated successfully, but these errors were encountered: