Changes between Version 3 and Version 4 of SesameDeveloping


Ignore:
Timestamp:
08/16/06 19:52:13 (18 years ago)
Author:
sauermann
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SesameDeveloping

    v3 v4  
    22 
    33 
    4 == Work on the SPARQL Protocol == 
     4== Work on the SPARQL Protocol and Client == 
    55At the moment we need a SPARQL conformant interface to Sesame2, and as there is none I know of, the power of open source allows us to write one. 
    66<img src="http://www.openrdf.org/images/openrdf-text.png" alt="openrdf" /> 
     
    1414We think that a SPARQL protocol conformant HTTP servlet is most important for any use of Sesame2 and are willing to invest 10 hours a week into this, more precisely, a clever student worker. We hope to get this done until the end of September. 
    1515 
     16== SPARQL Protocol in Sesame 2 == 
    1617We would implement a SPARQL protocol conformat query server and a <a href="http://www.openrdf.org/issues/browse/SES-205">SPARQL protocol conformant query client (issue tracker)</a> for the reading operations of a HTTPSail. For updates of the model, we would stick to the current implementation of the latest CVS of sesame2. To be precise: what is missing is an implementation of a SAIL that communicates over HTTP with a remote store, and a way to serialize transactional data over the line. But the actual protocol is already there, and described in a document in org.openrdf.sesame.server.http.protocol.txt. 
     18 
     19 * The Protocol of Sesame2 (org.openrdf.sesame.server.http.RepositoryServlet) is conformant to the [http://www.w3.org/TR/rdf-sparql-protocol/#query-bindings-http SPARQL protocol], as defined in the WSDL. This has to be confirmed, though.   
     20 
     21 
     22According to Jeen Broekstra, this protocol is a superset of SPARQL Protocol: The protocol as implemented in that servlet (and as described in the text and the [http://www.openrdf.org/doc/sesame2/system/ system documentation]) is a superset of SPARQL protocol. That is, the query-handling part should be SPARQL-conformant, but it implements operations (such as 
     23upload, removal, etc.) that are not part of SPARQL as well. 
    1724 
    1825want to know what the <a href="http://www.w3.org/TR/rdf-sparql-protocol/">sparql protocol is</a>? 
    1926 
     27We do not have a WSDL description of it though so that makes it a bit 
     28more laborious to compare I guess. But just look at how HTTP bindings in 
     29SPARQL protocol work: it's a GET request with a query parameter and some 
     30optional stuff. If you compare feature-by-feature you'll quickly see 
     31that they are the same. If you do find discrepancies I'd be very 
     32interested in hearing about them. 
     33 
     34== More questions == 
     35 
    2036I understand that these are MANY questions, I tried to think of all the calamities we are going to face in the next months. And I expect that some hackers out there already handled half of these questions, so don't hesitate to write <a href="mailto:leo.sauermann@dfki.thispartisagainstspam.de">me</a>, or <a href="http://leobard.twoday.net/stories/2536840/comment">comment here</a>, or to the <a href="http://sourceforge.net/mailarchive/forum.php?forum_id=9004">sesame devel list</a>. 
    2137 
    22  * The org.openrdf.sesame.server.http.RepositoryServlet is not conformant to the SPARQL protocol, as defined in the WSDL, or? http://www.w3.org/TR/rdf-sparql-protocol/#query-bindings-http the protocol described at org.openrdf.sesame.server.http.protocol.txt does not say anything about sparql 
     38 * If not, does anybody know how to generate stubs for the servlets automatically (so that they strictly conform to the protocol)? 
     39   * Not interesting here, server is done. 
    2340 
    24  * If not, does anybody know how to generate stubs for the servlets automatically (so that they strictly conform to the protocol)? 
     41 * We could examine the Jena / Joseki implementation, as it serves as reference implementation.  
     42   * We could use Jena to talk to Sesame and Sesame HTTP Client to talk to Jena. Trick or treat. 
    2543 
    26  * If not, we would examine the Jena / Joseki implementation, as it serves as reference implementation. 
    27  
    28  * When we implement a SPARQL conformat servlet - can we put it directly into the package org.openrdf.sesame.server.http.SparqlReadServlet, directly in the latest CVS, to have the best uptake and feedback possible? 
    29  
    30  * If yes, is there also a parser for query results, that can be used on the Client side HTTP sail to read results written by the server? 
     44 * Is there also a parser for query results, that can be used on the Client side HTTP sail to read results written by the server? 
     45   * Yes. Sesame 2 supports various serializations for query results (SPARQL XML, binary, JSON) and has parsers and writers for all them. Package 
     46org.openrdf.sesame.queryresult. 
    3147 
    3248 * What is the status of the HTTP Client? Did anybody do since we last mailed? if yes, please add comments to this ticket: 
    3349http://www.openrdf.org/issues/browse/SES-205 
     50   * Not much progress unfortunately, my time has been eaten up by other stuff.  
    3451 
    3552 * Is the query string already part of the Query object? Jeen said this is a prerequisite for this hack. If not, Jeen: could you do this? This is such a core thing that I don't want to touch it and for you its probably only 50 lines of code. I mean the solution 1) suggested here: http://www.openrdf.org/issues/browse/SES-205#action_10533 
     53   * Jeen will pick this issue up ASAP (possibly in cooperation with Sebastian). 
    3654 
    3755 * Can Sesame2 serialize Query results according to the SPARQL protocol? I see the QueryResultFormat.SPARQL which would indicate that. 
    3856 
    39  * last but not least: any news about SPARQL query support? 
    4057 
    4158 * Do you have a debug environment to test the existing servlets from org.openrdf.sesame.server.http? 
     59   * Not really. We both work in Eclipse but actual testing of the servlets is usually done through manual deployment and test runs. Not very nifty 
     60but since most of our servlets are pretty straightforward it's doable. Obviously most of the business logic in Sesame itself is tested using Junit tests (found in the test/ dir). We do have a test class there for testing the HTTP protocol (i.e. the servlet) but it's hardly a robust set of tests. 
    4261 
    4362 * Does the WebClient work? (the code looks SOOO COOL! spring rocks) - I cannot find any code in the webclient project that actually *changes* triples... hm. 
    44    * I've started working on it, building on Jeen's earlier work, but as you have noted, it is obviously not finished. I had to abandon it for a while because of other pressing issues. I will continue as soon as possible. Cheers, Herko ter Horst Senior Software Engineer 
     63   * Herko ter Horst started working on it, building on Jeen's earlier work, but it is obviously not finished. Other issues are more pressing. It will be continued as soon as possible.  
     64   * Write support depends on the Client HTTP Sail Implementation. 
    4565 
    4666 * When Sebastian starts hacking, whom can he jabber/icq for help? 
     67  * Jeen & Arjohn via e-mail and the Sesame-Devel mailinglist. 
     68 
     69 * last but not least: any news about SPARQL query support? 
     70   * This depends on Arjohn, who is continually working on it.