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

Re: alternative result format using collections - avoid use/mention issues

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Tue, 07 Dec 2004 10:57:48 +0000
Message-ID: <41B58CAC.2030306@hp.com>
To: Dan Connolly <connolly@w3.org>
CC: jos.deroo@agfa.com, RDF Data Access Working Group <public-rdf-dawg@w3.org>



Dan Connolly wrote:
> On Tue, 2004-12-07 at 00:10 +0100, jos.deroo@agfa.com wrote:
> 
>>| ACTION Jos: Write email about alternative result format using
>>| collections - avoid use/mention issues
>> -- 
>>http://lists.w3.org/Archives/Public/public-rdf-dawg/2004OctDec/0394.html
>>
>>
>>I'll give an example
>>in N3 the query looks like
>>
>>
>>[] q:select {<> q:answer (?name ?mbox)};
>>   q:where  {?x foaf:name ?name. ?x foaf:mbox ?mbox}.
>>
>>
>>and the answers then look like
>>
>>
>><above-query-uri> q:answer ("Johnny Lee Outlaw" 
>><mailto:jlow@example.com>). 
>><above-query-uri> q:answer ("Peter Goodguy" <mailto:peter@example.org>). 
> 
> 
> That has the same use/mention issues; i.e. it relates
> ?mbox to a mailbox, while the spec says query results
> bind variables to terms.

Agreed - any scheme that uses a resource when a URI is the result wil have this 
problem.  rs:value is more obvious when reading but rdf:first has the same problem.

> 
> I think maybe it's OK, but in contrast...
> 
> The recent cwm reification format has a way to talk
> about terms:
> 
> $ echo "<#me> <#mbox> <mailto:connolly@w3.org>." | python cwm.py --reify

Somewhere there is going to have to be a level of indirection because otherwise 
either there is a use/mention issue or problems with typing if a literal were 
used and the term were either a URI or a literal of the predefined type.  And as 
Dan notes, it doesn't work for bNodes - still need to distinguish bNodes as 
same/different so [ a :BNode ] is incomplete but [ a :BNode ; :docLabel "foo" ] 
might work out.

The cwm solution has the indirection but why in cwm reification isn't the 
literal typed as xsd:anyURI?

	Andy

PS I don't worry about this until RDF fixes reification.  Or adds a form of 
quoting for URIs.  <<uri>> anyone?

> 
> #Processed by Id: cwm.py,v 1.164 2004/10/28 17:41:59 timbl Exp
>         #    using base
> file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/
> 
> #  Notation3 generation by
> #       notation3.py,v 1.166 2004/10/28 17:41:59 timbl Exp
> 
> #   Base was: file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/
>      @prefix : <http://www.w3.org/2004/06/rei#> .
>      @prefix owl: <http://www.w3.org/2002/07/owl#> .
> 
>       [      a <http://www.w3.org/2000/10/swap/log#Truth>;
>              :existentials  [
>                  owl:oneOf () ];
>              :statements  [
>                  owl:oneOf  (
>                  [
>                          :object  [
>                              :uri "mailto:connolly@w3.org" ];
>                          :predicate  [
>                              :uri
> "file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/#mbox" ];
>                          :subject  [
>                              :uri
> "file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/#me" ] ] ) ];
>              :universals  [
>                  owl:oneOf () ] ].
> 
> #ENDS
> 
> I'm not sure if we need to be that verbose; in particular,
> quoting relative URIs is something we haven't worked out.
> 
> I wonder what we do for bnodes... ugh... this is broken:
> it should say :subject [ a :BNode] or something...
> 
> $ echo "_:me <#mbox> <mailto:connolly@w3.org>." | python cwm.py --reify
> 
> #Processed by Id: cwm.py,v 1.164 2004/10/28 17:41:59 timbl Exp
>         #    using base
> file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/
> 
> #  Notation3 generation by
> #       notation3.py,v 1.166 2004/10/28 17:41:59 timbl Exp
> 
> #   Base was: file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/
>      @prefix : <http://www.w3.org/2004/06/rei#> .
>      @prefix owl: <http://www.w3.org/2002/07/owl#> .
> 
>       [      a <http://www.w3.org/2000/10/swap/log#Truth>;
>              :existentials  [
>                  owl:oneOf  (
> 
> "file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/.run-1102377202.2105761p15473#_g3"  ) ];
>              :statements  [
>                  owl:oneOf  (
>                  [
>                          :object  [
>                              :uri "mailto:connolly@w3.org" ];
>                          :predicate  [
>                              :uri
> "file:/home/connolly/w3ccvs/WWW/2001/sw/DataAccess/#mbox" ];
>                          :subject  [
>                          ] ] ) ];
>              :universals  [
>                  owl:oneOf () ] ].
> 
> #ENDS
> 
> 
> 
>>
>>This use of RDF lists is very similar to use of it in OWL, e.g.
>>:C owl:intersectionOf (:A :B).
>>
>>
Received on Tuesday, 7 December 2004 10:58:18 GMT

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