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

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

From: Pat Hayes <phayes@ihmc.us>
Date: Sun, 16 Jun 2013 12:45:43 -0500
Cc: "'public-rdf-comments'" <public-rdf-comments@w3.org>
Message-Id: <A3D5A5EF-58DD-4980-A6B6-DC433AA8F0C3@ihmc.us>
To: "Markus Lanthaler" <markus.lanthaler@gmx.net>

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
> 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. 

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. 

Have I missed something? This all seems kind of obvious.


> Thanks,
> Markus
> --
> Markus Lanthaler
> @markuslanthaler

IHMC                                     (850)434 8903 or (650)494 3973   
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Sunday, 16 June 2013 17:46:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:59:34 UTC