Re: Expressiveness of RDF as Rule Conclusion Language (was Re: W hat is an RDF Query? )

>    [me]
>    >I can think of two
>    >responses:
>    >
>    >a) Don't require it to be a legal RDF graph.  Make it an "RDF graph
>    >schema," that is, something containing variables that becomes an RDF
>    >graph when nodes are substituted for the variables.
> 
>    [Pat Hayes]
>    That *is* a legal RDF graph. RDF graphs have blank nodes which have 
>    exactly the semantics of existential variables. 
> 
>    [me]
>    [This idea] leave[s] the variables without explicit scope, as in
>    >Prolog.  If you want explicit scope, things get more interesting.
> 
>    True; the implied scope is the graph. This makes things much easier.
> 
> Okay, if you change Sandro's "document scope" to "graph scope," you're
> right.  But then a rule like 
> 
>  (R1 ?x ?y) |-   (R2 ?y ?x)
> 
> becomes unstatable, because the ?x and ?y in the graph on the left are
> different variables from the ?x and ?y in the graph on the right.
> 
> Unless I'm missing something.

This is where I'm stuck, too.  It seems like this approach is very
close to being dirt simple and fairly useful, but I can't quite get it
to work.  :-)       That's what I meant by asking for ideas about how
to make certain nodes variables, and how it would be nice to just use
bNodes, but I don't know how.

I was just reading Russel & Norvig [1] saying that a KB should, when
asked "does there exist x, y such that P(x,y)" not only say "Yes", but
also give you bindings from the existential variables to terms in the
KB.  Which suggests it's not too strange to refer to variables outside
their scope.    Unfortunately, RDF/XML makes it really hard -- it's
not like RDF/N-Triples where you do know a label for the node, you're
just not supposed to use it.

   -- sandro

[1] http://www.cs.berkeley.edu/~russell/aima.html

Received on Tuesday, 9 October 2001 14:41:34 UTC