Lists in RDF and JSON-LD

Dear all,

I participated in the JSON-LD conference call this morning and there was a
thorough discussion of the lists with identity issue.

The proposal was to allow lists to have identity, with a keyword "@list" to
convey the values.

eg:
  {"@id" : "uri-for-list",
   "@list" : [1,2,3,4,5]}

The discussion was transcribed and will be in the call minutes, however the
summary is:

* Lists with identity is not a common pattern
* While RDF doesn't prevent non blank-node lists ("it is not illegal ..."),
the primer [1] is pretty much against it "applications ... should be
written to check that the collection vocabulary is being used appropriately"
* It makes the compaction algorithm more complex as sometimes it will be a
json array and sometimes an object.  This makes client applications more
complex as they would have to check if it's an object or an array.
* The same issue exists in the other serializations, eg both turtle and
rdf/xml.  This would make round tripping and multiple serializations harder
than necessary
* Introducing it would complicate future compatibility if RDF 1.1 (or
later) makes the rules about lists more concrete
* The structure ends up the same if there's a predicate from an identified
object that refers to the list.  Instead of the magic @list above, it could
be listItems, listHead or listValue (etc).

The proposed resolution was that the issue would be raised in the RDF 1.1
Working Group as to whether it was reasonable to:
a) make the recommendations stronger about collection patterns, and more
importantly
b) add a predicate to, perhaps, the rdf ontology or a new ontology for the
listItems idea above so that multiple communities can use it, rather than
everyone reinventing the same very small wheel.

The anticipated time frame was in the vicinity of 2-3 months which, in my
opinion, is ideal timing for our purposes and much faster than it might
have been in the past for such things.

My recommendations based on this discussion:

* We should change the model for oa:List to use this pattern, and
especially before moving to a WG structure
* We should wait until the RDF WG has had time to consider their options
regarding predicates
 -- If they agree to formalize one, we should use it
 -- If not, then the JSON-LD CG have agreed to work with us to formalize
one between the two communities initially and hope that it would be picked
up elsewhere
* If there are members of the RDF WG here (Hi David W!), please do consider
this proposal seriously. The issue is entirely domain independent, so
having a single, clearly defined and well recognized predicate would be a
significant advantage for the entire RDF world, not just our little
community group :)

As the Digital Publishing Interest Group [2] is starting up, and the IDPF
has agreed to use Open Annotation for EPub annotations, this is an issue
that we need to fix sooner rather than later so that implementers have the
confidence to move ahead with it before any formal endorsement.

Your thoughts are very much appreciated :)

Rob


1. http://www.w3.org/TR/rdf-primer/#collections
2. http://www.w3.org/2013/02/digpubig.html

Received on Tuesday, 2 July 2013 16:09:50 UTC