Re: Existentially Quantified Variables (bNodes) in RDF-like-languages

> I think that the existential-conjunctive (EC) subset of FOL that is 
> expressible in RDF is a very interesting waypoint from simple propositional 
> assertions (e.g. a relational database) to full FOL.  It is simple enough 
> to be easily processed, yet rich enough to capture ideas with a degree of 
> abstraction.  A striking example from John Sowa's book Knowledge 
> Representation is the mapping of musical notation to EC logic.

My question is what does EC give you that propositional assertions
dont?   I know in a formal sense, but I can't think of a semantic-web
use case.    That may have to do with my vision of how the semantic
web works -- perhaps this discussion will flush that out.

> I'm interested in your claim that RDF query languages don't use this 
> approach.  To the extent that they are expressible in basic RDF, I cannot 
> see how this can be.

An RDF query language certainly involves some kind of variables --
whether existentially or universally quantified is largely a matter of
perspective -- but that language is not itself RDF, and those features
don't need to be in RDF.   The RDF query languages I've seen do NOT
use bNodes as their query variables; they use their own sort of query
variables.   

> Your point 4 doesn't make sense to me.  Using existentials is not a matter 
> of being fuzzy;  it seems to me a case of being very precise that the 
> particular identity or instance of some resource is unknown.

The fuzziness in #4 is about how a shared naming is established among
parties communicating via the Semantic Web.  I understand this is
something philosphers have been debating for a long time.  I have my
own theory of how it works, but until I convince the world of it, I'll
still say it's a gray area.  (My theory is you constrain the models
until you're sufficiently convinced no "reasonable" person could have
an interpretation materially different from yours.  Dialog makes this
much easier.  The W3C spec-writing process is all about this, as far
as I can tell.)

So it's quite clear, yes, that using an existential means you are not
using a name for some object, but it's *not* perfectly clear what
using a name for an object means.  It means at least that if the same
name is used by two parties, they are by definition talking about the
same object.  But since we can use UUIDs to prevent that from
happening accidentally, I'm at a loss to find an application scenario
where existentials are particularly useful.

I should add Reason #5, paraphrase from Dave Beckett on IRC: in some
computing environments (handhelds) it may be impossible to generate
good UUIDs.  My response is that it's okay to have existentials in
some serialization languages, for these cases and for human authors,
but to have the model encourage Skolemization as soon as it's
practical.

Reason #6, reading between the lines of something else Dave said, is
that it's harder to debug parsers which are doing Skolemization,
because the output is harder to compare.   I don't have an answer to
that one right now, but I don't think it's a compelling reason in and
of itself.   We can help parser writers without complicating the model
theory. 

    -- sandro

Received on Thursday, 4 April 2002 18:24:09 UTC