- 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