From: Christiaan F. <chr...@ad...> - 2007-03-07 12:38:29
|
Hi all, I have just committed a large number of changes, updating Aperture to Sesame 2 beta 1 and the latest org.openrdf RDF2Go driver (no official release available yet), which is compatible with beta 1 and the upcoming beta 2. Below is a list of changes that some of you might like to know about. I have tried to remove all dependencies on org.openrdf code, i.e. no dependencies on Repository and *also* no dependencies on RepositoryModel. Instead, Models and ModelSets are used all over the place. They are created using a ModelFactory obtained dynamically through RDF2Go.getModelFactory, which is a Very Good Thing. There are two exceptions to this strategy: - the GUI-based File Inspector depends on some Sesame classes in order to transform the data that it shows for presentation purposes. It doesn't seem to be trivial to replicate this on top of RDF2Go. - RepositoryAccessData, an AccessData implementation on top of the Repository that by definition depends on Sesame. I have move this class to src/examples as nobody seemed to use it (we use a tweaked version ourselves) and it's just an example of one way of realizing an AccessData instance on top of a Repository. Note that the core code still contains ModelAccessData, which does something similar but on top of RDF2Go. RDF2GoRDFContainer and associated classes have been renamed to RDFContainerImpl etc. as it's basically the default implementation that everyone will probably use, the name mistakenly suggests that it would be possible to create a non-RDF2Go implementation and it's actually pronounceable :) I have fixed the Javadoc (which was copied from SesameRDFContainer and not modified accordingly) and removed all notes regarding OSGi - this is not the place to document OSGi setup. I have removed SesameRDFContainer, its factory and unit tests as RDF2GoRDFContainer/RDFContainerImpl has made these classes redundant. Because of these changes, the core code and unit tests are now "100% RDF2Go" and can be run on top of e.g. Jena by just replacing some jar files. Also, the example code now feels a lot cleaner and less like rocket science. The switch from the old Sesame alpha release to beta 1 has solved almost all "dangling connection" problems that you got when running the unit tests and example code. Only one dangling connection remains in the unit tests that I wasn't able to hunt down. Sesame 2 beta 2 (planned for tomorrow) will support a system property that makes this debugging trivial, so I will fix it then. This system property comparable (equal?) to the lock tracking Sesame fork that Gunnar made. I would still like to change the example crawler code to create temporary Models during crawling that are added one by one to a ModelSet, instead of creating Models backed by that ModelSet. See my mail to rdf2go-devel for the reasons why. At the moment this can already be done but only at the cost of having no context identifiers in the generated metadata. Also, the documentation needs an update: it still discusses the old RDFContainer API and SesameRDFContainer and I believe there is also no documentation regarding RDF2Go. Next on my to do list: logging. Regards, Chris -- |