- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Tue, 07 Dec 2004 10:57:48 +0000
- 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 UTC