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

On 11/22/2018 7:31 PM, Nathan Rixham wrote:
> blank node identifiers in a surface syntax are a pita, issue causing, 
> troublesome, discussion causing, skolemization causing
> as for blank nodes themselves, I see no issue personally, or reason to 
> preclude them from any position in a triple - I'd rather have no IRI 
> than a useless one.
> I can't remember ever seeing somebody say I want to have two json 
> objects in a document that are the same json object but encoded and 
> presented as two in that document, using some random identifier only 
> valid to this serialization of the data to allow me to see they should 
> be considered the same document, with x,y,z rules to combine them 
> together and deserialize then reserialize, perhaps with skolemization of 
> ... please no.

For that matter, elements in an XML document are not intrinsically 
identified, just named (which amounts to giving them a type).  Each 
instance of an element is normally considered to have a separate 
identity.  Works fine there.

> Graph = Set of Triple
> Triple = Node, Node, Node
> Why complicate it further?
> On Thu, Nov 22, 2018 at 11:52 PM David Booth < 
> <>> wrote:
>     On 11/22/18 9:14 AM, Tim Berners-Lee wrote:
>      >> On 2018-11 -22, at 13:54, Martin G. Skjæveland
>     < <>> 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 Friday, 23 November 2018 03:22:14 UTC