- 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