W3C home > Mailing lists > Public > public-rdf-wg@w3.org > November 2011

Re: URI aliases for RDF terms?

From: Steve Harris <steve.harris@garlik.com>
Date: Wed, 16 Nov 2011 22:40:53 +0000
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>
Message-Id: <DED858B3-0E12-41A5-8A88-B5E8BED0568C@garlik.com>
To: Richard Cyganiak <richard@cyganiak.de>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:46 GMT