- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 14 Mar 2012 14:24:24 +0000
- To: Olivier Corby <Olivier.Corby@sophia.inria.fr>
- Cc: public-rdf-dawg@w3.org
- Message-Id: <1F42928C-FED7-4EC3-A396-8C77F96E6526@garlik.com>
On 2012-03-14, at 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.
Based on absolutely no implementation experience, just gut reaction, I would prefer just the DISTINCT(path) syntax too. It's a little less like mysterious perl-style line noise.
- Steve
--
Steve Harris, CTO
Garlik, a part of Experian
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203 http://www.garlik.com/
Registered in England and Wales 0535 7233 VAT # 849 0517 11
Registered office: Landmark House, Experian Way, Nottingham, Notts, NG80 1ZZ
Received on Wednesday, 14 March 2012 14:25:02 UTC