Re: DISTINCT()

On 14/03/12 13:44, Olivier Corby wrote:
> I fear that the design is becoming over complex.
>
> We used to have two kinds of repetitions:
>
> + * without loop in the path (except first step of + ...)
> {n,m} with loop in the path
>
> Now we would have three kinds of repetitions:
>
> + * without loop, without duplicate
> {+} {*} without loop, with duplicate
> {n,m} with loop with duplicate
>
> In addition, {} notation is (in general) used for set but {+} enables
> duplicates so it is misleading
> In addition {n,m} and {+} do not behave the same with loops, so it is
> not uniform
>
>
> (By the way, our experience in my team is that loops in {n,m} are not
> welcome because very often {1,n} is used to limit the length of paths
> wrt +, but unfortunately paths are then trapped into loops (use case
> with symmetric relation, e.g. foaf:knows{1,5}))
>
>
> Concerning distinct, I am able to prototype distinct as a global
> operator on path expression:
> ?x distinct(path) ?y
>
> I would support this design.
>
> Olivier

Olivier,

Good points, thank you.

Where do you stand with regard to leaving open the future possibility of 
length handling in paths?

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?

	Andy

Received on Wednesday, 14 March 2012 14:21:37 UTC