W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2004

Re: RDFQ - RDF Queries in RDF

From: Eric Prud'hommeaux <eric@w3.org>
Date: Wed, 7 Apr 2004 08:57:08 -0400
To: Patrick Stickler <patrick.stickler@nokia.com>
Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Message-ID: <20040407125704.GE9321@w3.org>

On Wed, Apr 07, 2004 at 01:52:39PM +0300, Patrick Stickler wrote:
> 
> On Apr 07, 2004, at 13:44, Patrick Stickler wrote:
> >>... For
> >>reference, see FatAnnotationQuery (EP-4) [1] where the query asks for
> >>two properties that may be dc1.0 or 1.1.
> 
> In any case, not that it's particularly relevant to the discussion
> at hand, I'd use inference and property relations to handle
> vocabulary versioning rather than over-complicate the queries.
> 
> I.e.
> 
>    dc1_0:title owl:equivalentProperty dc1_1:title .
> 
> etc.
> 
> Granted, not all tools support inference, but after all, that's
> one of the things RDFS and OWL are meant to handle for us...

Given a query language that supports premise and a backend engine that
supports a modicum of OWL, one can emulate the effects of the
disjuntion in that particular query. I wouldn't add to a database that
DC1.0 and DC1.1 are equivilent, just that they are equivilent for the
purposes of the FatAnnotationQuery.

The costs to such an approach are:
  raise the bar for the QL: needs premises.
  more complex back end: support equivalentProperty inferences.
  make the query less intuitive for the user.

There are also queries where one wouldn't want to make that assertion
but would still want to query for a disjunction. For instance, suppose
that Dublin Core had constricted the range of author when creating
dc:1.1 creator so that it would always be a node that had a given name
and family name. Annotations may be written with either 1.0 or 1.1
properties, but the bodies (separately authored) have a schema that
expects 1.1:

ask
(<http://example.com/annot1>  rdf:type    a:Annotation.
  ( <http://example.com/annot1>  dc0:creator ?creator ||
    <http://example.com/annot1>  dc1:creator ?creator )
  ( <http://example.com/annot1>  dc0:date    ?date ||
    <http://example.com/annot1>  dc1:date    ?date )
  <http://example.com/annot1>    dc1:creator ?body.
  ?body                          dc1:creator ?dc1creat.
  ?dc1creat                      dc1:given   ?given.
  ?dc1creat                      dc1:given   ?family)
collect (?annotation ?body ?given ?family)

But perhaps I'm addressing the wrong point here. Are you disputing
  this definition of disjunction?
  the utility of it?
-- 
-eric

office: +81.466.49.1170 W3C, Keio Research Institute at SFC,
                        Shonan Fujisawa Campus, Keio University,
                        5322 Endo, Fujisawa, Kanagawa 252-8520
                        JAPAN
        +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell:   +1.857.222.5741 (does not work in Asia)

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Wednesday, 7 April 2004 08:57:18 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:19 GMT