Re: blank nodes

Hi Ruben,

On Friday 31 October 2014 10:57:33 Ruben Verborgh wrote:
> Hi Markus,
> 
> >> It should probably even become a MUST;
> >> i.e., blank nodes MUST be mapped to IRIs,
> >> the RDF 1.1 spec SHOULD be followed for this.
> > 
> > Hmm... is that really necessary? Sure, you can't construct a request but
> > what about simply including all statements about such a blank node
> > directly
> > in the response (so that there's no need for a separate query)?
> 
> You can never know whether all statements are there.
> I.e., suppose we need to solve the following query:
> 
> SELECT * {
>   ?person a foaf:Person.
>   ?person foaf:firstName ?name.
>   ?otherPerson foaf:knows ?person.
> }
> 
> To solve this, we would need to get this triple pattern fragment:
>     predicate: rdf:type, object: foaf:Person
> 
> This could return the following result:
> 
> dbpedia:Barack_Obama a foaf:Person.
> _:b0 a foaf:Person.
> _:b0 foaf:name "Somebody".
> 
> (Let's, for the sake of example, ignore that people likely wouldn't be blank
> nodes.) As per your suggestion, I included other triples about this blank
> node in the response.
> 
> However, how can the client know that these are really all triples?

Well, that would be part of the contract (i.e., in the same manner as the 
client is guaranteed to see all matching triples for the triple pattern).

> And if they are not, how can it ask for more?
> 
> There might still be triples like:
>    _:b0 foaf:firstName "Some".
>    dbpedia:Barack_Obama foaf:knows _:b0.

Assuming this is the same bnode as in the server response above, as per 
Markus' proposal the server should have included them in the response .

Essentially, what we are talking about here is a notion of a bounded 
description, along the lines of what the following document specifies:

http://www.w3.org/Submission/CBD/


> The server cannot tell "here is everything I have about _:b0".
> Sure, we could spec this, but that would put a hard burden on servers.

I can see that. By requiring the inclusion of bounded descriptions, TPF 
requests cannot anymore simply be answered by a single index scan on the 
server side. And it can become really ugly if there are chains of bnodes.

> Easier to just not have blank nodes.

Agreed.

Cheers,
Olaf


> Best,
> 
> Ruben

Received on Friday, 31 October 2014 15:08:24 UTC