W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2004

Re: Streamability

From: Farrukh Najmi <Farrukh.Najmi@Sun.COM>
Date: Wed, 16 Jun 2004 14:13:47 -0400
To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Message-id: <40D08DDB.2060800@sun.com>

Janne Saarela wrote:

>
> I posed quick question yesterday regarding the programming model
> behind this streamable protocol suggestion.
>
> I am also eager to hear more information about ODBC/JDBC experiences
> that someone (Jim?) promised to elaborate by email. I wish to
> understand how an ordinary Java/C# programmer could use familiar
> constructs such as ResultSets in managing the streaming results.

 From the perspective of a Java/JDBC programmer ResultSet support if 
indispensable.
For the JDBC ResultSet API document see:

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html
http://java.sun.com/j2se/1.4.2/docs/api/index.html (complete JDK API)

ResultSet in JDBC allows implementations to stream the results of the 
query no matter how large.
The JDBC implementation is not required to maintain server side state 
though most do in order to
scale.

As a late addition to JDBC was to make the ResultSet scrollable so that 
the client can scroll backward and forward to any position in the result 
set relative to current position. Also a later addition was the ability 
to support for Updateable Result set where the client may insert a 
result anywhere in between the result set and perform an update.

The typical application of ResultSet is in Scrollbale UIs where the UI 
shows a subset of results and displays scroll forward/backward buttons 
to allow moving to the next and previous window in the result set. A 
good implementation will do some prefetching of previous and next window 
to make scrolling over a large result set smoother.

I see the proposed streaming requirement as subsuming the proposed 
Iterative Query requirement and consider it  a MUST requirement for a 
query API.


-- 
Regards,
Farrukh
Received on Wednesday, 16 June 2004 14:14:22 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:19 GMT