- 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