How are we doing for a Jena 2.10.0 release?

I think we're ready to start pre-release testing with the user community in advance of the formal release? This is not a purely incremental release and it would be good to remove any unnecessary disruption that the changes cause.

I have put some draft text together (see below) for the testing cycle. This includes some thing about /Experimental to let people see what's also going on.

Rob - any feedback from your early testing work?

Stephan - I put in some text about update+streaming but if you want to put some more in to pick out the key details, then please do so.


RIOT Status:

RIOT/readers:

RIOT - jena is not automatically initializing RIOT readers into model.read currently; it only happens if ARQ initializes or RIOT.init is explicitly called. May be doable for the release but I prefer to be quite sure automatic initialization is stable for all ways to use Jena.

RIOT/writers:

The new code is not completely ready yet. It need more tests and tidying up. The documentation needs writing.

I don't think waiting on this is a reason to hold the 2.10 release up.

If it is in good shape by the release proper, it could go in without it wiring itself into model.write so it is only used when calling the new:

   RDFWriterMgr.write(model, format)

so if you use it, you get the new code, but existing code continues with the old writers.

Other:

Are there any contributed patches we should try to get in? I know of one (JENA-228). Any others?

Have I forgotten anything else?

        Andy


-----------------
**** DRAFT ****
Testing cycle announcement text:


== apache-jena-libs

There is a new maven artifact to help applications by providing a single maven artifact that include the main Jena modules.

      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>apache-jena-libs</artifactId>
        <type>pom</type>
        <version>2.10.0</version>
      </dependency>

Note the use of <type>pom</type>

BY using this artifact, applications will not be affected by any changes to the internal development module structure of Jena.

See
http://jena.staging.apache.org/download/maven.html

== RIOT Reader

There is a new RDF parser subsystem, which includes

* improved content negotiation
* the ability to register new parsers into Jena
* alignment to RDF 1.1 Turtle
* these features apply when applications use model.read

http://jena.apache.org/documentation/io/index.html

The package name org.openjena.riot becomes org.apache.jena.riot.

There is some compatibility code in org.openjena.riot. Operations are deprecated and will be removed after this release.

Call
  org.apache.jena.riot.RIOT.init()
to ensure it is initialized.

(An automatic initialization inside Jena risks class init loops - we will add automatic initialization in Jena 2.10.0 only if we can ensure stability)

== Streaming Update

The SPARQL Update engine has been re-architected to make the fundamental execution of SPARQL Updates streamable.

There is no change to applications using SPARQL Update.

There are changes to the interface for storage systems that make special provision for SPARQL Update. If you are migrating such a storage system, do talk to the developers on dev@jena.apache.org if you have any questions or sugegstiosn for improvements.

== Portuguese Translations of the tutorial

Guilherme Cavalcanti has provided a Portuguese translation of the tutorials.

http://jena.staging.apache.org/tutorials/

== Reification

As part of simplifying Jena, the reification styles Convenient and Minimal are being removed. These need a significant amount of internal state management and impede scaling beyond storage in memory.

The only support style is "standard", which as always been the default style in Jena. Only style "standard" has even been supported by TDB and SDB.

Use of the constants for these styles is deprecated and will be treated as "standard".

== Internal simplification

Other simplifications in this release include the removal of the graph query handler subsystem. This is unrelated to SPARQL and existed in support of RDQL.

The graph level bulk query handler has been removed - compatibility for the Model API for all bulk update is maintained.

== Other interesting things
[ Not for the announcement@ message ]

There is an "experimental" area in Jena SVN where some new features are being tried out. There is no commitment to these features becoming part of trunk but you are welcome to browse and contribute to these developments.

https://svn.apache.org/repos/asf/jena/Experimental/

* jena-client

new interface to SPARQL services

* riot-output

These are new writers to go into RIOT, including Trig and an extensible registry of writers.

* sparql-cache

a HTTP cache for SPARQL queries that caches query results and can also deal with repeated use of limit/offset to mimic paging and represent results in different formats without reissuing the query.

* cancellable-updates

An experiment into extending the query time mechanism to the SPARQL Update code.




Reply via email to