W3C home > Mailing lists > Public > public-sparql-dev@w3.org > July to September 2010

Re: First order logic and SPARQL

From: Bijan Parsia <bparsia@cs.man.ac.uk>
Date: Mon, 6 Sep 2010 09:14:21 +0100
Cc: Semantic Web <semantic-web@w3.org>, public-sparql-dev@w3.org
Message-Id: <91E91384-797F-49CB-8C2B-0DE5A3D67802@cs.man.ac.uk>
To: Pat Hayes <phayes@ihmc.us>
On 6 Sep 2010, at 02:29, Pat Hayes wrote:
> This is NOT non-monotonic. The NOT EXISTS conclusion that a triple  
> does not occur in an identified RDF graph is a perfectly monotonic  
> inference. It becomes non-monotonic only when you go on to conclude  
> that if said triple does not occur there, it is false.

That can't be right. I get a non-monotonic consequence relation if I  
conclude it is true based on its absence.

> However, neither RDF nor SPARQL supports this further conclusion.  
> Thus, while the SPARQL in query #13 in [1] is (of course) correct,  
> the English gloss given to is subtly incorrect. What that query asks  
> is not, as Lee claims, "Find me members of the Senate Armed Service  
> committee's Strategic Forces subcommittee who do not also serve on  
> the Personnel subcommittee.", but rather ""Find me members of the  
> Senate Armed Service committee's Strategic Forces subcommittee who  
> are not listed in the Personnel subcommittee RDF graph."

But this is exactly epistemic reflection.

The fundamental marker of non-monotonic consequence is that for some  
KB, some assertion (A), and some consequence (C), KB |- C and (KB + A)  
|\- C, where the plus is simple set-theoretic expansion.

NOT EXISTS seems to meet that criterion. The set of answers shrinks as  
we set theoretically add triples to the graph. You can preserve  
monotonicity of the consequence relation by treating the "real" KB as  
some sort of expanded with the consequences (e.g., filling out the  
"blank" part of the table with explicit nulls). But then, you no  
longer merely add A, but you also retract the null. But this just  
shifts the non-monotonicity to insertion time.

> (And similarly for all other uses of !bound trickery.)

? !bound says "Entail some answer iff the variable in the graph  
pattern isn't bound, i.e., there is no corresponding ground entailment".

> Now, of course, I am being pendantic, since we all know that this  
> RDF graph is complete, so that if someone isn't listed there, then  
> they aren't serving on the subcommittee. But *that* inference is not  
> part of the RDF graph, is not represented by the RDF graph, s not  
> justified by the semantics of the RDF graph, and is not used by the  
> SPARQL machinery or justified by the SPARQL semantics.

I don't see that. (Even before, I thought !bound introduced non- 

> So, Bijan's brain fart was in fact not a fart at all.

I think it was, even if, contrary to fact, I had gotten the right  
answer. I was overeager to refute the connection between being  
commutative and having a formal spec. My bad.

> The semantics of SPARQL, even with all the tricks and Bob  
> MacGregor's complaints to the contrary,  is perfectly monotonic.

On 6 Sep 2010, at 07:56, Pat Hayes wrote:
> I guess it is in a sense, though I'd like to see the example before  
> committing myself. My point however was directed at the assumption  
> that implementing not-exists queries itself made the logic  
> nonmonotonic, which is incorrect.

The consequence relation which includes, in its consequence language  
"NOT EXISTS", even in the form you asserted above, has to be non-mon.  
It doesn't make the consequence relation between RDF graphs non-mon  
(obviously), but one can lose "NOT EXISTS" answers (entailments)  
merely by adding statements.

Received on Monday, 6 September 2010 08:14:51 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:15:50 UTC