Re: DISTINCT()

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Wed, 14 Mar 2012 19:34:41 +0000
Message-ID: <4F60F2D1.8020009@epimorphics.com>

```[The WG decided not to do path lengths during the F&R phase so my
message is a technical discussion, not spec scoping]

On 14/03/12 15:06, Olivier Corby wrote:
> Andy,
>
> On 03/14/2012 03:20 PM, Andy Seaborne wrote:
>> Where do you stand with regard to leaving open the future possibility
>> of length handling in paths?
>
> I have path length using a path variable and a pathLength() function. It
> counts the number of edges in the path:
>
> ?x exp :: \$path ?y
> filter(pathLength(\$path) <= 10)
>
> I would also support handling length in the path expression.

which has the interesting interaction with non-counting; non-counting
is a connectivity test.  Length brings up the "why are the connected"
aspect.

As soon as lengths are introduced, I think there will be an expectation
that it is the shortest path and maybe longest so is there are
aggregation like "minpathlength(all \$path) > 2"

>> To pick one part of that design space, if a path is suppose to be
>> matched with between N and M path steps, does it matter if the path
>> also matches with less path steps, or more path steps, and so is
>> outside that range as well as being in it?
>
> I don't understand "does it matter" in the question.
> It may happen that there are paths with less steps and path with more,
> but if there are steps between N and M it should be ok ?

Could well be - I'm not able to scope out the full design space and i
was wondering about what use cases there might be.  Often shortest paths
are the ones of interest.  Saying "length between 2 and 4" , or using
{2,4}, isn't useful as there is a pseudo-aggregation aspect wanting
MIN(length) between 2 and 4.

Use case : LinkedIn-ish : if they ask "how is X connected to Y" the
shortest path of 2 is useful in determining potential connections
but what about backing up that possibility by supporting evidence like
the number of length 3 paths?  That would be to the exclusion of length 2.

filter(pathLength(\$path) <= 10)

is only testing the current candidate.  Working over a set of possible
paths looks interesting.

Andy

>
> Olivier
>
>
>
```
Received on Wednesday, 14 March 2012 19:35:16 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:06 UTC