- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Tue, 23 Nov 2004 09:44:49 -0000
- To: "Dan Connolly" <connolly@w3.org>
- Cc: "RDF Data Access Working Group" <public-rdf-dawg@w3.org>
-------- Original Message -------- > From: Dan Connolly <> > Date: 22 November 2004 21:13 > > On Mon, 2004-11-22 at 20:23 +0000, Seaborne, Andy wrote: > > > > Dan Connolly wrote: > > > On Mon, 2004-11-22 at 18:47 +0000, Seaborne, Andy wrote: > > > > > > > Dan Connolly wrote: > > > > > > [...] > > > > > > > > We can introduce something ala log:uri if we want > > > > > to do that sort of use/mention level-breaking: > > > > > > > > > > WHERE dc:title log:uri ?TITLEURI > > > > > AND ?TITLEURI =~ /^http:/ > > > > > > > > I'd prefer to reuse the function fn:string() from F&O that > > > > stringify's anything it's give > > > > > > > > > anything including RDF Properties? (not the name of a property, but > > > the property itself) > > > > > > I don't think this works. > > > > Not sure where properties themselves come into it. It's the URI - > > there aren't properties or resources in the query data model. > > I think there are; in particular, matching is defined in terms > of entailment. > > > There are > > URIrefs, bNodes and RDF literals. > > > > So fn:string() applied to a URIref is log:uri isn't it? > > No, it isn't. log:uri relates something to a URI that > identifies that something. Could you give a test case where WHERE dc:title log:uri ?TITLEURI AND ?TITLEURI =~ /^http:/ is not the same as AND string(dc:title) =~ /^http:/ I would have thought it was just a different syntax. ---- I tried with cwm: @prefix : <http://example.org/ns#> . @prefix log: <http://www.w3.org/2000/10/swap/log#> . :a :p :z . { :a ?pred ?z . ?pred log:uri ?p } => { :b :p ?p } . and got (cwm --think --data) :a :p :z . :b :p "http://example.org/ns#p" . so ?p looks like a string to me. ---- Looking at RDF concepts: [[ http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model Each triple has three parts: 1. a subject, 2. an object, and 3. a predicate (also called a property) that denotes a relationship. ... http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-synta x * the subject, which is an RDF URI reference or a blank node * the predicate, which is an RDF URI reference * the object, which is an RDF URI reference, a literal or a blank node ]] and it also says [[ Note: RDF URI references are compatible with the anyURI datatype as defined by XML schema datatypes ]] fn:string() can be appliy to a anyURI. The data model is comprised of RDF URI refs, literlas and bNodes. SPARQL triple patterns are defined in similar terms with the addition of variables. So - I must be missing something here - I see query as pattern matching over symbols that make up the graph. Matching as entailment is still a relationship between two graphs. Andy > > > Just with a > > syntax that is more suited to the usage in expressions. > > > > Andy > > > > > > > > > > > > as we already have a syntax for expressions. I just had that > > > > implicit > > > > in the =~ operation. On typed literals, it would be the lexical > > > > form. > > > > > > > > string(dc:title) =~ /^http:/ > > > > > > > > Andy > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/ > D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E
Received on Tuesday, 23 November 2004 09:45:23 UTC