W3C home > Mailing lists > Public > public-rdf-wg@w3.org > February 2013

Re: Using bnode identifiers for predicates, graph names

From: Manu Sporny <msporny@digitalbazaar.com>
Date: Tue, 05 Feb 2013 21:27:55 -0500
Message-ID: <5111BFAB.5020801@digitalbazaar.com>
To: public-rdf-wg@w3.org
On 02/05/2013 05:27 PM, Pat Hayes wrote:
>>>> Could we introduce the concept of a 'blank graph identifier'?
>>> Sure - (1) create your own URI scheme or (2) a systematic way to
>>>  generate UUIDs based on doc and position of the graph in the
>>> doc
>> If we do #1 or #2, we're basically going to re-invent blank node 
>> identifiers.
> No, if you do #1, you will be using IRIs, which is in conformance 
> with (the letter of the) specs. So why not just do that? Its not hard
> to do: just use a short alphanumeric string instead of "_" before the
> colon.

Okay, in this case, we are going to use "_g:". Would that be okay?

> Why are you making so much fuss about it?

_g: is effectively a blank-node-like identifier. We could generalize
this and merge blank graph identifiers and blank node identifiers into a
unified concept called the "dataset-local identifier". I think that
would be a cleaner design than the "_g:" hack.

More importantly, "_g:" is not just going to be the solution we use for
the Web Payments / PaySwarm work, but it will be a part of another W3C
specification called "RDF Dataset Normalization", which explains how to
normalize an RDF Dataset, assigning blank graph identifiers to graphs
that were not provided a name by their producers. So, this decision will
bleed from JSON-LD, into RDF Dataset Normalization.

I want the RDF WG to be fully aware of the ramifications of their
decisions (or non-decisions) before we march forward and implement
things in this way.

I'm also making a fuss about it because JSON-LD is being unnecessarily
limited by having to align too closely to the RDF data model. I'd be
just as happy if this is somewhere that we didn't have to align with the
RDF data model, but that just kicks the can down the road because when
we go to serialize these blank graph identifiers, we're going to
serialize them to something NQuads like... and so NQuads will have to
support blank graph identifiers at that point as well. So, the decision
will bleed from RDF Dataset Normalization to NQuads. It won't stop
there, because when RDFa Next comes along, it too will absorb the
ability to use blank graph identifiers since both JSON-LD, RDF Dataset
Normalization, and NQuads supports it.

I'm making a fuss to try to make sure that the RDF WG makes a good
design decision here, both for the data model and for developers. :)

-- manu

Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: Aaron Swartz, PaySwarm, and Academic Journals
Received on Wednesday, 6 February 2013 02:28:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:04:25 UTC