Re: SPARQL WG action on property paths

Dear Lee,

Thank you very much for letting us know about this proposal. Below
please find my personal opinion about it.

I read the proposal carefully, and I don't think this is a good way to
define the semantics of property paths. It is said in the proposal
that there is a need to count when using the operator / and not to
count when using the operator * to be able to deal with use cases such
as the one mentioned in the following text (which is taken from
http://lists.w3.org/Archives/Public/public-rdf-dawg/2012JanMar/0285.html):


"This takes the F&R uses cases as natural user expectations and so to
suggest the path operators needed and their semantics.

{ ?list rdf:rest*/rdf:first ?member } is a good illustration.

If the list is (1 2 1), we want the results to be
(?member=1, ?member=2, ?member=1) i.e. 1 twice.  So "/" is not distinct.

rdf:rest* is the same for either distinct or counting * on a well-formed
list.  It's a chain, you get the same results either way."


However, the semantics in the proposal is not strictly needed to
handle use cases like the previous one. In fact, this type of use
cases can be easily handled by using a pure existential semantics for
property paths (all the operators in property paths are evaluated by
using an existential semantics, so no form of counting is considered
when evaluating property paths):

SELECT ?list ?member
WHERE
{
  ?list  rdf:rest*  ?x .
  ?x  rdf:first  ?member .
}

In fact, given the way the semantics of property paths is defined in
the proposal, it will always be possible to rewrite a
SPARQL query under this semantics as an equivalent SPARQL query with a
pure existential semantics for property paths, so I don't see a reason
to keep a limited form of counting for property paths (for the
operators /, | and !). Besides, I find difficult to justify why
counting is used in some operators (/, |, !) and not in others (*, +,
?).

Cheers,

Marcelo


On Tue, Apr 3, 2012 at 11:19 AM, Lee Feigenbaum <lee@thefigtrees.net> wrote:
> Hi Wim, Jorge, Jeen, Marcelo, and Sebastian,
>
> (Please note that this is not an official working group response to your
> respective comments on property paths in the current SPARQL 1.1 Query last
> call working draft.)
>
> I want to thank you all again for your research, experiences, suggestions,
> and comments on SPARQL 1.1 property paths. They've been very valuable to the
> working group.
>
> The group has spent some time in the past few weeks considering various
> options in an attempt to address the implementation and evaluation
> challenges that you have all raised while still respecting our group's
> schedule, implementers' burdens, and the use cases we've identified for
> property paths.
>
> Today, we reached consensus within the group on an approach that we feel
> addresses your concerns while still leaving room for implementation
> experience going forward to inform additional design decisions in the
> future.
>
> We haven't yet worked this design into the query document, which is why this
> isn't an official WG response to your comments. Yet before we go ahead and
> publish a new Last call, we'd like to know if you support this new design
> and if you believe that it does indeed address your comments.
>
> The design is summarized in these two emails by Andy Seaborne:
>
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2012JanMar/0285.html
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2012JanMar/0286.html
>
> I'd very much appreciate it if you can take a look at this and let me know
> what you think.
>
> thanks,
> Lee

Received on Thursday, 5 April 2012 00:57:55 UTC