Re: Blank nodes as predicates Re: Blank Nodes Re: Toward easier RDF: a proposal

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