W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2006

Re: Blank nodes and predicates

From: Pat Hayes <phayes@ihmc.us>
Date: Mon, 30 Jan 2006 13:14:38 -0600
Message-Id: <p06230903c00412e5f4f6@[]>
To: Enrico Franconi <franconi@inf.unibz.it>
Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>

>On 30 Jan 2006, at 12:28, Seaborne, Andy wrote:
>>At the moment, rq23 allows blank nodes in the predicate position 
>>both in the definition of a triple pattern and in the grammar.  I 
>>changed the definition recently to make the syntax and the 
>>definitions consistent.  There are approved syntax tests with 
>>bnodes in the predicate position but, being syntax tests, the tests 
>>do not given any clue as to what is supposed to happen.
>>The text in 2.5.2 that describes how to do simple entailment 
>>matching would cover the case of blank nodes in the predicate 
>>position.  Pat said in the telecon (26 jan 06) that a blank node in 
>>the predicate position would never match under entailment.
>That's correct, since the query wouldn't be well formed for simple entailment.
>>We need to be consistent: if they can match then we can allow them 
>>in both syntax and definition of a triple pattern.  If they don't, 
>>then I see it as confusing to allow them in the syntax or 
>>definition of triple pattern.
>In the case of SPARQL intended as subgraph matching, allowing bnodes 
>in predicate position seems natural, and of course it would work 
>easily. However, when we formalise subgraph matching with standard 
>simple entailment (as we are doing now), we loose the ability to 
>express queries with bnodes in predicate position, since standard 
>simple entailment is not defined for them.

Seems to me that the issue is over whether or not to treat query 
bnodes as 'blank variables'. I still find this idea attractive, and 
it seems obvious to implementors, apparently.

For the record, the entailments defined in the RDF spec all hold 
between 'generalized RDF' graphs which allow bnodes in predicate 
position (and literals in subject position) in the obvious way, and 
the lemmas stated there all apply, with appropriate syntactic 
relaxings of the inference rules, without changing any of the RDF 
semantic concepts at all: one simply has to remove the purely 
syntactic restrictions. In fact, the completeness theorems are 
simpler in the extended version without the syntactic constraints, 
since the proof theory lines up better with the model theory: the bug 
in the RDFS lemma noted by Herman ter Horst goes away, for example. 
So, simple entailment is fully defined for this RDF extension. But I 
agree, the syntactic requirement does mean that right now, as stated 
in the specs, these are indeed not legal RDF.


>My personal suggestion would be to forbid them. Remember, that this 
>is no loss of expressivity at all, since you could use a variable in 
>predicate position (instead of a bnode) to get the same result:
>@prefix : <http://example/> .
>:x :p 1 .
>{ ?x ?y 1  } => { ?x :q 2 } .
>you get :x :q 2 . in the resulting graph.
>Attachment converted: betelguese2:smime 16.p7s (    /    ) (00230500)

IHMC		(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.	(850)202 4416   office
Pensacola			(850)202 4440   fax
FL 32502			(850)291 0667    cell
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Monday, 30 January 2006 19:14:52 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:50 UTC