Re: JSON-LD bnode canonical naming algorithm

On Jun 19, 2011, at 7:56 AM, Manu Sporny wrote:

> On 06/18/2011 09:52 PM, glenn mcdonald wrote:
>> Just to be a little more precise about these two: I don't believe that
>> direct and completely reversible transcriptions of RDFa or Microformat
>> data with exact semantic correspondence should necessarily be a core
>> requirement of JSON-LD. 
> 
> I agree that it doesn't need to be a /core/ requirement. It is for the
> PaySwarm use case, as our company reads data from the distributed Web in
> RDFa and stores it in JSON-LD format. However, lossless translation from
> RDFa/Microformats/Microdata to JSON-LD doesn't have to be a core
> requirement. That being said, JSON-LD does support this now as a
> side-effect of supporting RDF.
> 
>> I agree that directed, labeled graphs
>> represented in RDFa or Microformats (or RDF or Topic Maps or whatever
>> else) should be straightforwardly translatable to JSON-LD, but to me
>> this is exactly the same as saying that JSON-LD exists to represent
>> directed, labeled graphs in JSON in the first place...
> 
> It seems as if we're agreeing on that point - what am I missing?

I think it's important that JSON-LD be capable of representing core RDF representations. It represents RDFa because RDFa can be represented as RDF triples.

The question started out, not what the basic JSON-LD representations are, but what is necessary for canonicalization. Ideally, C14N of RDF is orthogonal to JSON-LD, as the algorithm described by Dave could be performed on any RDF representation. Performing C14N of arbitrary JSON-LD formats, including named BNodes, becomes something that should be done at the triple level, not the JSON-LD level, and doing it here is a way of shoe-horning it into RDF.

In my mind, it's not a question of if JSON-LD supports named triples, I think it must to be able to represent arbitrary RDF graphs, but can graphs containing named BNodes be canonicalized?

Manu has a use case for doing this, but I'm not convinced that fragids can't serve the same purpose. If you can create named BNodes, you can also create fragids off of the document's base URI. They're not existential quantifiers, but quantification is really a requirement for query, not representation. A SPARQL query using an existential quantifier will match a fragid; that's the whole point.

> -- manu
> 
> -- 
> Manu Sporny (skype: msporny, twitter: manusporny)
> President/CEO - Digital Bazaar, Inc.
> blog: PaySwarm Developer Tools and Demo Released
> http://digitalbazaar.com/2011/05/05/payswarm-sandbox/
> 

Gregg

Received on Sunday, 19 June 2011 16:22:30 UTC