- 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