ISSUE-131: How can one create an RDF dataset without being a web server?

mobile-datasets

How can one create an RDF dataset without being a web server?

State:
CLOSED
Product:
RDF Graphs
Raised by:
Sandro Hawke
Opened on:
2013-05-17
Description:
https://www.w3.org/2013/meeting/rdf-wg/2013-06-12#resolution_1

RESOLVED: We change the definition of RDF Datasets to allow blank node graph names. We note (in rdf-concepts) that earlier definitions of datasets did not include blank node graph names, and Skolemizaiton may be useful in providing compatiblity. This closes ISSUE-131

===========

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 122 random bits, and 6 fixed bits (RFC-4122, sec 4.4). 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.
Related Actions Items:
No related actions
Related emails:
  1. Re: Agenda for 12 June 2013 (from antoine.zimmermann@emse.fr on 2013-06-12)
  2. Re: Agenda for 12 June 2013 (from david@3roundstones.com on 2013-06-11)
  3. Re: Official response to RDF-ISSUE-132: JSON-LD/RDF Alignment -- Sub-issue on the relationship between JSON-LD and RDF (from david@dbooth.org on 2013-06-11)
  4. Re: Official response to RDF-ISSUE-132: JSON-LD/RDF Alignment -- Sub-issue on the relationship between JSON-LD and RDF (from sandro@w3.org on 2013-06-11)
  5. Re: rdf semantics first? PWD (from sandro@w3.org on 2013-06-11)
  6. rdf semantics first? PWD (from pfpschneider@gmail.com on 2013-06-10)
  7. Re: Agenda for 12 June 2013 (from sandro@w3.org on 2013-06-10)
  8. Agenda for 12 June 2013 (from david@3roundstones.com on 2013-06-09)
  9. Re: Bound and Unbound Datasets (from sandro@w3.org on 2013-06-04)
  10. Re: Bound and Unbound Datasets (from phayes@ihmc.us on 2013-06-04)
  11. Re: Bound and Unbound Datasets (from sandro@w3.org on 2013-06-03)
  12. Re: Bound and Unbound Datasets (from sandro@w3.org on 2013-06-03)
  13. Re: Bound and Unbound Datasets (from phayes@ihmc.us on 2013-06-03)
  14. Re: Bound and Unbound Datasets (from gregg@greggkellogg.net on 2013-06-03)
  15. Bound and Unbound Datasets (from sandro@w3.org on 2013-06-03)
  16. RE: bNodes as graph identifiers (ISSUE-131) (from markus.lanthaler@gmx.net on 2013-06-03)
  17. Re: bNodes as graph identifiers (ISSUE-131) (from steve.harris@garlik.com on 2013-06-03)
  18. RE: bNodes as graph identifiers (ISSUE-131) (from markus.lanthaler@gmx.net on 2013-06-03)
  19. Re: bNodes as graph identifiers (ISSUE-131) (from steve.harris@garlik.com on 2013-06-03)
  20. Re: bNodes as graph identifiers (ISSUE-131) (from phayes@ihmc.us on 2013-06-02)
  21. Re: bNodes as graph identifiers (ISSUE-131) (from phayes@ihmc.us on 2013-06-02)
  22. Re: bNodes as graph identifiers (ISSUE-131) (from sandro@w3.org on 2013-06-01)
  23. Re: bNodes as graph identifiers (ISSUE-131) (from andy@apache.org on 2013-06-01)
  24. Re: bNodes as graph identifiers (ISSUE-131) (from phayes@ihmc.us on 2013-06-01)
  25. Re: bNodes as graph identifiers (ISSUE-131) (from sandro@w3.org on 2013-06-01)
  26. Re: bNodes as graph identifiers (ISSUE-131) (from phayes@ihmc.us on 2013-05-31)
  27. Re: bNodes as graph identifiers (ISSUE-131) (from sandro@w3.org on 2013-05-31)
  28. Re: bNodes as graph identifiers (ISSUE-131) (from andy.seaborne@epimorphics.com on 2013-05-31)
  29. Re: bNodes as graph identifiers (ISSUE-131) (from sandro@w3.org on 2013-05-31)
  30. Re: bNodes as graph identifiers (ISSUE-131) (from andy.seaborne@epimorphics.com on 2013-05-31)
  31. Re: bNodes as graph identifiers (ISSUE-131) (from sandro@w3.org on 2013-05-31)
  32. Re: [All] Agenda for 29 May 2013 (from david@3roundstones.com on 2013-05-28)
  33. Re: [All] Agenda for 29 May 2013 (from andy.seaborne@epimorphics.com on 2013-05-28)
  34. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from andy.seaborne@epimorphics.com on 2013-05-23)
  35. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from pierre-antoine.champin@liris.cnrs.fr on 2013-05-22)
  36. Re: minutes for 22 April teleconference (from pfpschneider@gmail.com on 2013-05-22)
  37. Re: minutes for 22 April teleconference (from ivan@w3.org on 2013-05-22)
  38. Re: Agenda 22 May telecon (from guus.schreiber@vu.nl on 2013-05-22)
  39. Re: Agenda 22 May telecon (from sandro@w3.org on 2013-05-22)
  40. Re: Agenda 22 May telecon (from andy.seaborne@epimorphics.com on 2013-05-22)
  41. Re: API for loading datasets; was Re: TriG being disjoint from Turtle (from sandro@w3.org on 2013-05-21)
  42. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from guus.schreiber@vu.nl on 2013-05-21)
  43. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from sandro@w3.org on 2013-05-21)
  44. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from richard@cyganiak.de on 2013-05-17)
  45. Re: RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from sandro@w3.org on 2013-05-17)
  46. RDF-ISSUE-131 (mobile-datasets): How can one create an RDF dataset without being a web server? [RDF Graphs] (from sysbot+tracker@w3.org on 2013-05-17)

Related notes:

Minor: UUID version 4 are 122 random bits.

Andy Seaborne, 17 May 2013, 14:12:26

https://www.w3.org/2013/meeting/rdf-wg/2013-06-12#resolution_1

RESOLVED: We change the definition of RDF Datasets to allow blank node graph names. We note (in rdf-concepts) that earlier definitions of datasets did not include blank node graph names, and Skolemizaiton may be useful in providing compatiblity. This closes ISSUE-131

Sandro Hawke, 19 Jun 2013, 14:37:05

Display change log ATOM feed


Guus Schreiber <guus.schreiber@vu.nl>, Chair, Ivan Herman <ivan@w3.org>, Sandro Hawke <sandro@w3.org>, Staff Contacts
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: 131.html,v 1.1 2014-07-09 12:17:56 carine Exp $