- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Tue, 2 Jul 2013 10:40:22 +0200
- To: <public-linked-json@w3.org>
On Tuesday, July 02, 2013 12:22 AM, David Booth wrote: > On 07/01/2013 10:33 AM, Markus Lanthaler wrote: > > On Monday, July 01, 2013 4:07 PM, David Booth wrote: > >> Yes, I am suggesting that the feature of permitting blank nodes in > >> that JSON-LD position -- the position that would result in blank > >> predicates > >> in the RDF model -- be removed. Users would instead be required to > >> use URIs in those cases instead of blank nodes. > > > > Or, more likely, they would just not map those properties at all and the > > data would be lost due to that. > > I was referring to the JSON-LD document authors. Do you mean that you > think authors would would only include those data elements in their > JSON-LD if they could use blank node predicates? Yes > > For example, you may have a JSON representation of a blog post and > > all its comments: > > > > ... > > comments: [ > > { > > text: ... > > author: > > { > > name: ... > > .. other properties you are interested in ... > > } > > } > > ] > > > > You could extract the all persons by mapping name to foaf:name etc. > > and all other properties to blank nodes: > > > > { > > "@context": { > > "@vocab": "_:", > > "name": "http://xmlns.com/foaf/0.1/name", > > ... > > } > > } > > > > and then just filter out the nodes which have a foaf:name. > > > > If you wouldn't map all other properties to blank nodes you wouldn't get any > > triples at all as we ignore unmapped properties (and their complete > > subtrees). > > AFAICT we seem to be talking about different things. I am trying to > address the problem of what should be the standard RDF interpretation of > a JSON-LD document -- not what a particular client might choose to use > or ignore from that document. I don't think so. It may be the author of the document who decides to just expose parts of a JSON-LD document as "RDF". I anticipate that there will be quite some APIs that will gradually transform the JSON APIs to JSON-LD APIs. Without allowing bnode-predicates this becomes considerably harder to do as the example illustrates. > Any client may ignore any information it > wants, but it is important that different JSON-LD standards-compliant > parsers, both parsing the same JSON-LD document in an attempt to obtain > the JSON-LD standards-compliant RDF interpretation of that JSON-LD > document, should obtain the same set of RDF triples (except for blank > node labels and possibly data type conversion). And that's the case right now. Every compliant JSON-LD parser is required to produce exactly the same generalized RDF dataset. > One possible way to achieve this is for the JSON-LD spec to disallow > blank nodes in positions that would be mapped to RDF predicates. I > believe this means disallowing blank nodes as keys. Instead, a user > would have to use a relative URI, a Compact URI or an absolute URI. > > Are there any important use cases that would be significantly impacted > by this change? Didn't I just answer that question? -- Markus Lanthaler @markuslanthaler
Received on Tuesday, 2 July 2013 08:40:57 UTC