- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Fri, 18 Nov 2005 06:37:52 -0500
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
- Message-ID: <20051118113752.GF30801@w3.org>
looks good to me. added some optional nits at lines 67, 107, 129, 164, 187 On Thu, Nov 17, 2005 at 01:10:44PM +0000, Seaborne, Andy wrote: > > Proposed reply. > > Notes the "in progress-ness" of double/decimal. > > Andy > > -------- Original Message -------- > > From: Ashok Malhotra <> > > Date: 13 September 2005 16:28 > > > > Notes on SPARQL Query Language for RDF > > Last Call Draft July 21, 2005 > > > > The XML Query and the XSL WGs have reviewed the SPARQL last call draft. > > Our comments are below. We apologize for the late delivery of these > > comments. By way of explanation we mention that the WGs were on summer > > vacation during the month of August. > > > > 1. If RDF triples are stored in a relational database (in-memory > > databases are available now) then SQL can be used to query them. SQL > > has much more power and is a well-known language, but there are a > > couple of features peculiar to RDF that are unique in SPARQL such as > > the OPTIONAL clause. An analysis of how much overlap there is between > > SQL and SPARQL would be useful. > > There are already implementations that based on SQL so useful experience > reports are beginning to appear and will continue to appear throughout this > phase and the CR process. > > There is also work in this area appearing: for example > "A relational algebra for SPARQL" > Cyganiak, Richard > http://www.hpl.hp.com/techreports/2005/HPL-2005-170.html > > > > 2. SPARQL cannot return a function of a stored value. For example, if > > a website stores the profit of a corporation, SPARQL cannot be used to > > return the profit multiplied by a currency conversion factor, if a > > currency is specified. This seems like a serious limitation. > > In the requirements gathering process [1], the working group did not > identify > this as a critical feature so it didn't make the design in this working > group. > > There are applications already written using prototype SPARQL systems so we > hope that what is in the current draft is sufficient for a large enough > class > of applications. > > [1] http://www.w3.org/TR/rdf-dawg-uc/ > > > 3. The document uses a describe-by-examples style. This is easy to > > understand but can give the impression that the language is more > > restrictive than it is. For example, if you read section 2 you get the > > impression that only exact matches are supported. Only much later do > > you find out that, in fact, functions and operators are also supported. > > This is hard - having a document that meets the different sections of the > SPARQL audience. We choose the describe-by-examples style but we do > recognize > that this isn't to everyone's taste. We do provide + inline formal definitions and > a consolidated set of > definitions [2] which is mechanically extracted from the document. > > [2] http://www.w3.org/2001/sw/DataAccess/rq23/defns.html > and live: > > http://www.w3.org/2000/06/webdata/xslt?xslfile=http%3A%2F%2Fwww.w3.org%2F > 2001%2Fsw%2FDataAccess%2Frq23%2Fdefns.xsl&xmlfile=http%3A%2F%2Fwww.w3.org%2F > 2001%2Fsw%2FDataAccess%2Frq23%2F&transform=Submit > > (apologies for the split link) > > > 3. How is reification supported? That is, how does SPARQL handle > > values that are themselves triples? I assume nested queries are > > required but there is no discussion of support for this important > > aspect of RDF. Dan Connolly replied to this comment on the previous > > draft and explained how it could be done but an example in text would > > be illuminating. > > An example using reification has been added (section 2.9) showing that > reification is a vocabulary that can occur in the data. > > http://www.w3.org/2001/sw/DataAccess/rq23/#queryReification > > > > 4. Presumably, RDF encodes metadata about data that is represented as > > XML. If this is the case, why are all the XML Schema datatypes not > > supported? See section 11.2. An accompanying document > > [http://www.w3.org/2001/sw/BestPractices/XSCH/xsch-sw/] that discusses > > the use of XML Schema datatypes in RDF/OWL discusses the problems with > > the duration datatype and recommends the use of the two subtypes of > > duration xdt:yearMonthDuration and xdt:dayTimeDuration. These > > datatypes are not discussed in this document. > > The SPARQL draft defines the datatypes that can be expected in any SPARQL > service. This does not stop an implementation offering more than this > minimum. In fact, considerable effort was made to make sure implementations with extended datatypes would be compatible with those supporting the minimal datatypes. > > 5. Instead of the XML Schema datatype anyURI, RDF and SPARQL uses a > > datatype that they refine called IRI. The earlier version of the > > document said that the RDF datatype IRI is a restriction of the XML > > Schema datatype anyURI in that only absolute URIs are supported. We > > commented that it might have been simpler just to support the XML > > Schema datatype and call out this restriction. The definition of this > > datatype has been removed from this document and is said to be > > contained in the RDF Data Model. We were unable to locate this > > document. > > The RDF abstract syntax distinguishes between URIrefs > http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-URI-Vocabulary > and typed literals > http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Literals > (which use XML Schema datatypes > http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Datatypes-intro > ). These can be constrasted with the following RDF/XML fragments - s > <rdf:Description> > <foaf:homepage rdf:resource= > "http://www.w3.org/People/Eric/"/> > <foo:homepageStr rdf:datatype= > "http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#anyURI" > >http://www.w3.org/People/Eric/</foo:homepageStr> > <foo:shoeSize rdf:datatype= > "http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#integer" > >9</foo:shoeSize> > <foo:writesMailAbout rdf:resource= > "http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#anyURI"> > <rdf:Description> > > The RDF model distinguishes the types of the homepage and the > homepageStr. In this example, the homepage and writesMailAbout objects > are URIrefs (called IRIs in SPARQL). The homepageStr and shoeSize > objects are types literals (anyURI and integer, respectively). > > URIrefs identify web resources. The literals with the type anyURI > are URIs. Thus, the strlen of the URIref > http://www.w3.org/People/Eric/ is 10710 while the strlen of > "http://www.w3.org/People/Eric/" is 30. > > SPARQL preserves this model distinction. > > > > > 6. String comparison is defined only using the code point collation. > > Other collations are not supported. This may be a significant > > limitation. > > Code point collation is always required. Access to other collections can be > done through a custom function. @@needs work here -- we say nothing about default vs user-supplied collations. > > > > 7. Section 3. Decimal values cannot be written as literals. This > > seems like a needless limitation. Suggest SPARQL use the literal > > definitions in XPath 2.0. > > The working group is investingating changing to use the literal definition > of > decimal. This requires coordination with other RDF syntax forms (N3, > Turtle) > where such literals are interpreted as an XSD double. > > > > > 8. Section 3.1 has a very brief section entitled "Matching Arbitrary > > Datatypes". There is no motivation for this and little explanation > > for how this works. Motivation and detailed semantics should be > provided. > > > 9. Section 11.2.1.3 introduces the function isURI. Is this necessary? > > There is another function that returns the datatype of a > > variable. Introducing a notation: <http://www.w3.org/People/Eric/> -- URIref (as described above) "http://www.w3.org/People/Eric/" -- URI (string, as described above) to distinguish between There are typed literals, which correspond to the types distinguished in the RDF/XML fragment above. STR(<http://www.w3.org/People/Eric/>) is "http://www.w3.org/People/Eric/" STR("http://www.w3.org/People/Eric/") is "http://www.w3.org/People/Eric/" even if it has an xsd:datatype of xsd:anyURI. > > 10 sop:str returns the string representation of an r:IRI. It's not > > clear what this does. In the example, it strips the scheme from the > > IRI. Does it perform any escaping or unescaping? > > > Some typos: > > - Section 2: The simplest graph pattern is the triple patterns, > > Fixed. > > > - Section 11, subsection Namespaces: > > XML Schema datatypes with the prefix op: xs: > > Fixed > > > - Section 11.1 last para says XMLSchema[] > > - There are a number of references to an XML Schema datatype called > > xs:int. In fact, the XML datatype is called xs:integer. > > Fixed > > > > > In conclusion, the XML Query and XSL working groups believe that the > > SPARQL specification will need considerable rework and another last > > call WD before it is ready to advance. In particular, we believe that > > the spec needs to be made more rigorous and formal, we believe that it > > needs to be more clearly differentiated from SQL, and it needs to be > > more clearly and carefully aligned with other W3C Recommendations > > including XML Schema and XPath 2.0. > > > > All the best, Ashok > > Thank you very much for the comments > Andy > > > > > -- -eric office: +81.466.49.1170 W3C, Keio Research Institute at SFC, Shonan Fujisawa Campus, Keio University, 5322 Endo, Fujisawa, Kanagawa 252-8520 JAPAN +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA cell: +81.90.6533.3882 (eric@w3.org) Feel free to forward this message to any list for any purpose other than email address distribution.
Received on Friday, 18 November 2005 11:37:59 UTC