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

Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs]

From: Guus Schreiber <guus.schreiber@vu.nl>
Date: Tue, 21 May 2013 23:56:10 +0200
Message-ID: <519BED7A.9060809@vu.nl>
To: Sandro Hawke <sandro@w3.org>
CC: RDF Working Group <public-rdf-wg@w3.org>
Just for the record:

Given that
- there was no formal proposal on the table to resolve "blan nodes as 
graph labels" [1] at the previous meeting.
- ther is now a new issue 131 being raised, that covers this topic,
we should we drop the resolution on "blan nodes as graph labels", and 
defer this to the reolsution of ISSUE 131.


[1] https://www.w3.org/2013/meeting/rdf-wg/2013-05-15#resolution_2

On 17-05-13 15:32, Sandro Hawke wrote:
> Talking to Richard helped clarify some aspects of this problem for me.
> Instead of jumping straight to the solution, I've raised the problem as
> this issue (131).
> Allowing blank node graph names is Option 4 for addressing that issue.
>         -- Sandro
> On 05/17/2013 09:24 AM, RDF Working Group Issue Tracker wrote:
>> RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset
>> without being a web server? [RDF Graphs]
>> http://www.w3.org/2011/rdf-wg/track/issues/131
>> Raised by: Sandro Hawke
>> On product: RDF Graphs
>> In general, the SPARQL definition of datasets (adopted into RDF 1.1 by
>> WG resolution on 29 October 2012) satisfies our charter deliverable of
>> allowing people to work with multiple graphs.   However, it requires
>> that each graph be labeled with an IRI, and creating such an IRI can
>> be problematic.
>> It's easy enough for software to make up IRIs for graphs if it happen
>> to be a web server, in charge of some range of web addresses.   But
>> how can other software do this?   For instance, how can a web client
>> create a dataset to send as one of several parameters in an HTTP POST
>> operation?   And how can a web client use datasets for HTTP PATCH (as
>> the LDP Working Group wants to do).  And how can something use
>> datasets in a UDP or TCP based protocol?
>> At the moment, a few options come to mind:
>> Option 1 - Use RFC-4122 Random UUIDs as graph names.   These are IRIs
>> that look like urn:uuid:7a745845-5a5e-46ad-9ae7-6ec202741183, where
>> the hex parts are 118 random bits, and 10 fixed bits.   In theory,
>> collision is unlikely if a good source of randomness is available.
>> Perhaps the randomness can be improved by including a hash of the
>> other parts of the dataset.   Note that use of non-resolvable IRIs
>> like this is bad practice for Linked Data.
>>    <urn:uuid:7a745845-5a5e-46ad-9ae7-6ec202741183> { ... contents of
>> graph ... }
>> Option 2 - Use a UUID-like string as an IRI base or prefix for graph
>> names.   (Slight variation on Option 1.)  By going outside the
>> RFC-4122 syntax, we can include a "local part" in the IRI.   Something
>> like:
>>    @prefix my:
>> <tag:w3.org,2013:uuid:7a745845-5a5e-46ad-9ae7-6ec202741183:>
>>    ...
>>    my:g2 { ... contents of graph 2 ... }
>> Option 3 - Use a "relative" dataset, where the graph names are written
>> as relative IRIs but the base for IRI-resolution is not known to the
>> system generating the dataset and is assigned to some new, unique IRI
>> base by each receiver.    This is arguably not licensed by the current
>> RDF drafts or the SPARQL 1.1 spec.  Some client libraries will not
>> store or serialize RDF with relative IRIs.
>>    <#g3> { ... contents of graph 3 ... }
>> Option 4 - Use blank nodes as graph names.  This is not allowed in
>> Datasets as defined in the current RDF drafts or the SPARQL 1.1 spec.
>> Some client libraries will not store or serialize RDF datasets with
>> blank node graph names.   As with other uses of blank nodes, knowing
>> they cannot be referenced by other documents allows certain
>> optimizations, and they can be Skolemized for use in systems that do
>> not want/allow blank nodes.
>>    _:g4 { ... contents of graph 4 ... }
>> Option 5 - Do not directly support this use case in RDF 1.1.
>> Instead, require systems to use an extended RDF which allows blank
>> node graph names, eg JSON-LD, or variations on TriG and N-Quads which
>> may arise for this purpose.
Received on Tuesday, 21 May 2013 21:56:43 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:02:13 UTC