Re: What is an RDF Query?

Hi Sandro,

[...]
> There is a shift in complexity if we go with the interpretation of RDF
> "anonymous nodes" as existential variables.  That simplifies things by
> saying the pattern is just an RDF graph like any other, but it
> complicates things by allowing the dataset to have variables too.
> This seems to be equivalent to trying to perform unification [1]
> between the two sets as conjunctions of their triples, with the
> complication that the elements have no intrinsic ordering.  (Does that
> turn this into a much harder problem, or is there a trick to making it
> not matter?)

Well, trick or not, we do it in 35 line of Java code
and assume anonymous nodes identified by their
content (the thing between the N3 []'s)
This is like a cheap linear-for-exponential trade
in inferencing time, but it is not enough e.g.
F(acts)
  :paris :oneway :orleans.
  :paris :oneway :chartres.
  :paris :oneway :amiens.
  :orleans :oneway :blois.
  :orleans :oneway :bourges.
Q(uery)
  [ :oneway :orleans, :amiens].
R(esult)
   {:paris :oneway :orleans.
    :paris :oneway :amiens} log:implies
  {[ :oneway :orleans; :oneway :amiens]}.
so here we have (a non explicitly written)
existential introduction rule at work [1]
(still a cheap trade)

--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

[1] http://www.agfa.com/w3c/euler/#27.067

Received on Friday, 7 September 2001 19:34:56 UTC