- From: Rob Shearer <Rob.Shearer@networkinference.com>
- Date: Tue, 20 Jul 2004 10:42:48 -0700
- To: "Howard Katz" <howardk@fatdog.com>, "Steve Harris" <S.W.Harris@ecs.soton.ac.uk>, <public-rdf-dawg@w3.org>
As usual, Howard's analysis is entirely correct. (And I meant to use //, not /, just as he points out.) The idea is that 'asserted()' is in fact an external function; in the simplest case we're assuming the RDF data is just sitting in the context somehow, not necessarily accessible in any way other than these external functions. > -----Original Message----- > From: Howard Katz [mailto:howardk@fatdog.com] > Sent: Tuesday, July 20, 2004 10:20 AM > To: Rob Shearer; Steve Harris; public-rdf-dawg@w3.org > Subject: RE: Proposed XQuery requirement and/or objective > > Steve, > > Just to clarify Rob's example a bit (you don't mind, do you, Rob?): > > 1) Rob's using an XML document with one or more <Person> > elements in it. It > looks like this could be any sort of XML document, not necessarily an > RDF/XML serialization. (Is that correct, Rob?) > > 1) His use of "doc(http://foo/people.xml)/Person" implies a > single document > with a single <Person> as the root element. Since that's not > very useful, > it's more likely he meant to say: > > doc( http://foo/people.xml" )//Person > > which implies that the document has mulitple <Person> > elements in it, the > more likely scenario; the descendant operator (//) then > dereferences off the > single document node returned by doc() and grabs all its > <Person> elements > at one fell swoop. > > 2) If it's straightforward XML and didn't have any xmlns: namespace > declaration against <Person>, you don't need a namespace > prefix to retrieve > it via XPath. > > 3) Whether the step operator is "/" or "//", neither usage implies an > rdf:type. Rob's working in XML and he's getting XML <Person> > elements back, > not RDF. > > Rob: > Just to clarify something, when you say: > > asserted( $member/URI, ...#worksFor, ...#NetworkInference ) > > is asserted() an external function (ie, one that's allowed to > manipulate > *anything*, not necessarily just items that are in the XQuery > data model) > that has access to an actual RDF graph or graphs and is doing > "real" RDF > querying against their triples directly? That would make > sense to me if so. > > Howard > > > -----Original Message----- > > From: public-rdf-dawg-request@w3.org > > [mailto:public-rdf-dawg-request@w3.org]On Behalf Of Rob Shearer > > Sent: Tuesday, July 20, 2004 9:18 AM > > To: Steve Harris; public-rdf-dawg@w3.org > > Subject: RE: Proposed XQuery requirement and/or objective > > > > > > > > > > for $member in doc(http://foo/people.xml)/Person > > > > where asserted($member/URI, http://foo#worksFor, > > > http://foo#NetworkInference) > > > > return $member/name > > > > > > Wouldn't "Person" in the first line require some > > > namespace/prefix? Also, I > > > dont quite understand why the / after doc() implies the > > > rdf:type part of the > > > ($memeber rdf:type foo:Person) > > > triple. Is it just shorthand? if so, why "/"? > > > > No; this example was meant to demonstrate use of XML along with RDF > > stuff, so the XPath expression was just selecting all the top-level > > <Person> elements in some XML doc in the conventional way. > Everything > > but the asserted() call is vanilla XQuery. > > > >
Received on Tuesday, 20 July 2004 13:45:07 UTC