W3C home > Mailing lists > Public > public-rdf-comments@w3.org > June 2013

Re: Input needed from RDF group on JSON-LD skolemization

From: David Booth <david@dbooth.org>
Date: Sun, 16 Jun 2013 20:20:58 -0400
Message-ID: <51BE566A.7070206@dbooth.org>
To: Pat Hayes <phayes@ihmc.us>
CC: Markus Lanthaler <markus.lanthaler@gmx.net>, 'public-rdf-comments' <public-rdf-comments@w3.org>
On 06/16/2013 01:45 PM, Pat Hayes wrote:
>
> On Jun 16, 2013, at 6:17 AM, Markus Lanthaler wrote:
>
>> On Saturday, June 15, 2013 7:41 PM, Pat Hayes wrote:
>>> I do not see any point in using a different suffix. The logic of
>>> skolemization is the same in both cases. There is no need to
>>> 'flag' an IRI to prevent it being made back into a bnode in a
>>> situation where it is in any case illegal to make it into a
>>> bnode. I think the use of another suffix encoding achieves
>>> nothing of value and is likely to produce confusion. For example,
>>> would it be an error to use a json-ld- genid (of gen-genid)
>>> skolem ID in a situation where it *would* be legal to replace it
>>> with a bnode? Therefore I suggest simply using genid for these
>>> skolemizations just like the others.
>>
>> I second that but let me ask another question which was the main
>> question that triggered this thread. The to-RDF algorithm in the
>> JSON-LD specification currently produces quads which may contain
>> blank node identifiers in the predicate position. The spec also
>> contains the following sentence:
>>
>> This algorithms converts a JSON-LD document to an RDF dataset.
>> Please note that RDF does not allow a blank node to be used as a
>> graph name or property, while JSON-LD does. JSON-LD-RDF Converters
>> can work around this restriction, when converting JSON-LD to RDF,
>> by converting such blank nodes to IRIs, minting new "Skolem IRIs"
>> as per Replacing Blank Nodes with IRIs of [RDF11-CONCEPTS].
>>
>> The question is whether skolemization should be required. That
>> would mean that the algorithm would not emit blank node identifiers
>> in the predicate position anymore - not even for system that
>> support them.
>>
>> Our reasoning was that it is simple enough to do skolemization at a
>> layer above the to-RDF algorithm. As we all know, it is
>> theoretically impossible to mint *new, globally unique IRIs* -
>> especially if you are a client and not a server, i.e., if you don't
>> even have a IRI space that "belongs to you". On the other hand,
>> David argues that skolemization MUST be done to produce valid RDF
>> and achieve interoperability.
>>
>> I would like to hear more opinions on that.
>
> Well, I guess that I agree with David that if you call it JSON-to-RDF
> and say it converts to RDF datasets, then it ought to actually
> convert to RDF datasets. You could fix this my just changing the
> first sentence above, which is not strictly true at present. The
> algorithm changes JSON-LD to something like an RDF dataset that is
> sometimes an RDF dataset.

that would make the claim true, but at the expense of larger goals, 
because it would make JSON-LD significantly less useful as an RDF 
serialization.

>
> But I don't see why you would need to go to RFC2119 to do this, just
> either change the claim for the algorithm, or put the skolemization
> step into the algorithm itself.

the point is to require skolemization in the algorithm, rather than 
making it optional as it is currently stands.  wehether that is achieved 
through careful prose or standard 2119 terminology is an editorial matter.

>
> Have I missed something?

I don't think so.

David
Received on Monday, 17 June 2013 00:21:25 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:57 UTC