- From: Steve Harris <steve.harris@garlik.com>
- Date: Wed, 16 Nov 2011 22:40:53 +0000
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: Eric Prud'hommeaux <eric@w3.org>, Ivan Herman <ivan@w3.org>, Ian Davis <ian.davis@talis.com>, W3C RDF WG <public-rdf-wg@w3.org>
On 16 Nov 2011, at 21:35, Richard Cyganiak wrote: > On 16 Nov 2011, at 12:58, Steve Harris wrote: >> I believe that to make this be friendly to the way people use SPARQL now (e.g. being able to ask cardinality questions, and use it for financially important things like accounting) SPARQL stores would need to normalise to one URI form internally. > > Can you give a small example where this matters? I think Eric gave an example with the SUM aggregate a couple of days ago? But, IIUC if our current rdf:type expands to two URIs in queries and data (as with owl:sameAs) then a query like the following will give a result 2x what you'd expect: SELECT (COUNT(?x) AS ?count) WHERE { ?x a <Account> . } You could expand triples only in the data, but then roundtripping wont work. You could expand triples only in the query, but the corner cases would be odd, e.g. you can imagine a situation where SELECT * WHERE { ?s rdf:type ?o . ?s ?p ?o . FILTER(?p = rdf:type) } would return no results, but SELECT * WHERE { ?s rdf:type ?o . ?s ?p ?o . FILTER(?p = <http://schema.org/rdf#type>) } would. As I said, there's probably other options I've not thought of though. - Steve -- Steve Harris, CTO, Garlik Limited 1-3 Halford Road, Richmond, TW10 6AW, UK +44 20 8439 8203 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Wednesday, 16 November 2011 22:41:34 UTC