View Source

New features and significant bug-fixes/updates for the last few versions are recorded here.

h1. Version 4.0

* *SwiftOWLIM* has been renamed to *OWLIM-Lite* and is now distributed as a single jar file (previously it was split between SwiftOWLIM and SwiftTRREE). The new package is licensed free-for-use, which better fits the use and distribution model. *OWLIM-Lite* is the younger sibling of *OWLIM-SE (standard edition)*, the fully-featured, standalone semantic repository distributed under a commercial license.
* *Easy to deploy WAR files:* The distribution now includes {{openrdf-sesame}} and {{openrdf-workbench}} Web applications pre-configured with OWLIM and ready to deploy. This makes installing OWLIM as a server and creating/administrating OWLIM repositories trivially simple. The WAR files can be found in the {{sesame_owlim}} directory of the distribution ZIP file. See 'easy install' in the [installation section|OWLIMv40:OWLIM-Lite Installation].
* *SPARQL 1.1 Query:* Ontotext has invested significant development resources in the [Sesame project|] in order bring SPARQL 1.1 support to Sesame and OWLIM. This release includes [SPARQL 1.1 Query|], but without federation support for the moment. [SPARQL 1.1 Update|] support will be included in the next release. The new features include:
** Aggregates
** Subqueries
** Negation
** Expressions in the SELECT clause
** Property Paths
** Assignment
** A short form for CONSTRUCT
** An expanded set of functions and operators
* The SPARQL 1.1 specification has not yet become a W3C recommendation and continues to evolve. The following known issues apply to this release of OWLIM and Sesame:
** {{fn:concat}} is not supported. This was added to the working draft in May, just after the Sesame 2.4.0 release was finalised. It will likely be included in the next Sesame/OWLIM release.
** Federation is not yet supported. This will be implemented in a later version of Sesame and OWLIM later this year.
** There are some problems with [complex expressions|] in the SELECT clause. This should be fixed in the next release of Sesame/OWLIM.
** Empty IN() and NOT IN() clauses will cause an exception - will be fixed in the next release.
** Using the aggregate function SUM() will cause an exception if the there are no bindings over which to do the summation - will be fixed in the next release.
* *Single Java library:* OWLIM-Lite is now packaged as a single jar file, {{owlim-lite-<version>.jar}}, and is covered by one free-for-use license. Previously, the Sesame wrapper around the TRREE engine was open-source and the TRREE engine was free-or-use.

h1. Version 3.5

This release includes many bug fixes and documentation updates. The most significant of these are:
* *Online documentation:* As well as the PDF format user guides included in the OWLIM distribution zip files, [the latest documentation for all editions of OWLIM is now available online|OWLIMv40:Home].
* *Artificial limit on ruleset size removed:* Very large custom rule-sets were causing out of memory exceptions or problems during compilation. The size of rule-sets is now practically unlimited.
* *Bug Fix - Data loss from abnormal termination:* This fix prevents data from being lost after two successive abnormal terminations. This was due to a misidentification of backup files.
* *Bug Fix - Synchronisation problem:* A synchronisation problem led to intermittent incorrect query answering of the LUBM-1 functional test. The issue appeared at an average of 1 of 80 runs and it was due to bad read-write synchronisation when adding to collections.

h1. Version 3.4

This release includes one new feature and several important bug fixes:
* *OWL2-QL:* This OWL2 profile [|] is based on DL-Lite{~}R~, a variant of DL-Lite that does not require the unique name assumption. It is designed to be amenable to implementation on relational databases, due to its suitability for re-writing queries to SQL. This release includes a rule-set for this profile in order to expand the range of standard rule-sets and to give users more flexibility when choosing a balance between complexity of inference and scalability
* *Bug Fix -- Concurrent commits:* An important race condition has been eliminated that can cause SwiftOWLIM to enter an infinite loop when multiple concurrent users commit updates simultaneously
* *Bug Fix -- Losing data between shutdown and restart:* In some circumstances when running on Windows machines, data was being lost after serialising to disk during shutdown. This was due to the case-insensitivity of Windows operating systems. Special care is now taken with the naming of storage files for each of the predicates used in the repository

h1. *Version 3.3*

This release includes functionality to bring it in line with what is offered in BigOWLIM 3.3, including:
* *OWL2-RL:* full inference support for this OWL2 profile [|], but without the consistency checks
* *Documentation:* improved user documentation with new quick start guide
* *partialRDFS:* this flag has been deprecated and the optimizations made available with extra rule-set options
* *Ontology imports:* importing ontologies can be achieved using a URL as well as a local pathname
* *Better JDK integration:* custom rule-sets require the Java compiler, but it is no longer necessary to have the tools.jar in the classpath

A number of maintenance updates and fixes are included in this release, the most significant of which are:
* Incorrect handling of transactions in SwiftOWLIM
* Getting statements from an invalid context returns the full dataset
* Clearing a single context in SwiftOWLIM clears the whole repository
* Rule '<C> rdf:type <owl:Class> => <C> rdfs:subClassOf <owl:Thing>' not working

h1. *Version 3.0.12*

* *Fixed errors* in concurrent environment related to thread safety of few internal components
* *ThreadPool fix:* a Worker thread could be woken up unexpectedly without a complete job setup
* *Support for Sesame 2 (including SPARQL):* Sesame version 2.2.4 is bundled in the release

h1. *Version 2.9.0*

* *Multi-threaded inference:* loading speed improves 37-71% on a dual-CPU (4-core) server, depending on the rule-set; 33% speed up on a desktop machine (P4 with hyper-threading)
* *Improved transaction isolation:* corresponding to READ COMMITTED level in RDBMS
* *Transitive closure optimization:* the materialization of the "closure" of transitive properties can be switched off. This prevents the generation of O(N{^}2^) implicit statements, for a chain of N individuals connected through a transitive property. This optimization improves dramatically the scalability and performance on datasets with long "chains" over transitive properties
* *Universal stack-safe inference*: In versions 2.8.3 and 2.8.4 there was a "stack-safe" mode, allowing handling of datasets with very "deep" inference chains; running in this mode, SwiftOWLIM was considerably slower. In version 2.9.0 the main reasoning algorithm is stack-safe without performance penalty or need of specific configuration parameter
* *Improved management of implicit and explicit statements*: Separate retrieval of explicit and implicit statements is straightforward
* *GettingStarted*: a sample application demonstrating SwiftOWLIM
* *Wordnet*: a sample application loading the RDF/OWL representation of Wordnet is provided