- From: David Booth <david@dbooth.org>
- Date: Thu, 22 Nov 2018 18:49:12 -0500
- To: Tim Berners-Lee <timbl@w3.org>
- Cc: SW-forum Web <semantic-web@w3.org>
On 11/22/18 9:14 AM, Tim Berners-Lee wrote: >> On 2018-11 -22, at 13:54, Martin G. Skjæveland <martige@ifi.uio.no> wrote: >> On 22/11/18 13:02, Tim Berners-Lee wrote: >>>> On 2018-11 -21, at 22:40, David Booth wrote: >>>> Blank nodes are special second-class citizens >>>> in RDF. They cannot be used as predicates, >>> Agreed it messes up the symmetry. Actually in most of my code you can use a blank node as a predicate. That said, RDF is unusual in having as much symmetry. >> >> I like symmetry. Can we get a ✅ for blank nodes as predicates too? > > Yes, please! Not so fast please. While I fully agree with the symmetry objective, I think adding *more* blank nodes would be going in exactly the *wrong* direction. We *do* need the convenience that blank nodes currently provide, but we *don't* need blank nodes themselves, as Skolem IRIs have already demonstrated. IMO a much better route for *easier* RDF would be to *eliminate* blank nodes entirely -- or at least make them invisible to users -- while *still* retaining the convenience that they currently provide. I think this is achievable, but it will require some creativity and careful engineering, to: - Make IRIs *easy* to allocate; and - Adopt higher-level RDF language constructs that eliminate or hide blank nodes. As you suggest in a separate message, I think the implicit blank node constructs of [] and () that N3 and Turtle provide are an excellent step toward meeting the second of these requirements. But I don't think they are quite enough. David Booth
Received on Thursday, 22 November 2018 23:49:36 UTC