- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Fri, 31 Oct 2014 14:37:02 +0100
- To: "'Ruben Verborgh'" <ruben.verborgh@ugent.be>
- Cc: "'Hydra'" <public-hydra@w3.org>, "'Eric Prud'hommeaux'" <eric@w3.org>, "'Gregory Williams'" <greg@evilfunhouse.com>
On 31 Okt 2014 at 10:57, 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? > 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. > The server cannot tell "here is everything I have about _:b0". > Sure, we could spec this, Yeah, that's what I had in mind > but that would put a hard burden on servers. > Easier to just not have blank nodes. Probably true. -- Markus Lanthaler @markuslanthaler
Received on Friday, 31 October 2014 13:37:38 UTC