- From: Gregg Kellogg <gregg@greggkellogg.com>
- Date: Mon, 1 Jul 2013 09:21:11 -0600
- To: Markus Lanthaler <markus.lanthaler@gmx.net>
- Cc: "'David Booth'" <david@dbooth.org>, "'Pat Hayes'" <phayes@ihmc.us>, "'www-archive'" <www-archive@w3.org>, "'Andy Seaborne'" <andy@apache.org>, "'Manu Sporny'" <msporny@digitalbazaar.com>, "'Hawke, Sandro'" <sandro@w3.org>, "'Wood, David'" <david@3roundstones.com>, "'David Longley'" <dlongley@digitalbazaar.com>
On Jul 1, 2013, at 8:33 AM, Markus Lanthaler <markus.lanthaler@gmx.net> wrote: > On Monday, July 01, 2013 4:07 PM, David Booth wrote: >> On 07/01/2013 05:41 AM, Markus Lanthaler wrote: >>> You seem to suggest that we remove a mechanism that allows to map >>> data to something close enough to RDF that some RDF systems already >>> support. >> >> 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. It seems to me that this is not a JSON-LD issue, but an issue about Generalized RDF Triples. These are described in [RDF11-Concepts] [1]. Given the description of an Generalized RDF Triple/Graph/Dataset, is it required that there be some form of transformation from a generalized version to a RDF Triple? If so, then it affects BNode predicates, but also literal subject/predicate. IMO, I think it's sufficient to say that we generate a generalized RDF Dataset and provide some advice on how a Generalized Dataset (at least the subset of these created by JSON-LD) can be turned into an RDF Dataset, ideally referencing something that is not JSON-LD specific. Gregg [1] https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-generalized-rdf >>> IMO, that's also information loss. >> >> I would consider it a feature loss rather than information loss, since a >> user could still represent the information. The user would just have to >> use a URI instead of a blank node. Is there an important use case for >> permitting blank nodes in the JSON-LD position that would map them to >> blank node predicates in RDF? If so, what is it? > > If you look at JSON, you could say that all properties are effectively > bnodes because they have just local meaning. Sometimes you wanna preserve > that data when transforming the JSON-LD using one of the transformation > algorithms. > > Another use case is, for instance, if just wanna extract nodes of a certain > type. Let's say all persons that occur in a graph. In that case it is enough > to map the properties you are interested in to IRIs and threat all the > others as blank node predicates. > > 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). > > > > -- > Markus Lanthaler > @markuslanthaler >
Received on Monday, 1 July 2013 15:21:42 UTC