~~~~~~~~~~~
Changes:
* The top level :code:`__init__` file has been reorganized, so that the package can be used as a module for applications in RDFLib. There is a top level class (:code:`DeductiveClosure`) that can be invoked from an RDFLib application and the old entry point (:code:`convert_graph`) relies on that.
* New class have been added to cover a combined RDFS + OWL 2 RL closure (Michael Schneider's idea).
* An extension mechanism has been built in from bottom up; user can define his/her own rules via an extension class that is given as a parameter to the core closure class.
* Using the extension mechanism a separate OWLRLExtras module has been added to implement, eg, self restriction, rational datatype.
* In the closure class the array of temporarily stored tuples has been exchanged against a set; in other words, checking whether the tuple is to be stored already is now done by the built-in set operation. It became much faster...
* The input argument has changed from 'source' to 'sources'; ie, several input files can be given to the service at the same time (eg, a separate URI for the data and the ontology, respectively).
* Added the implementation of owl:imports.
* Added an implemenatation for the datatype restrictions.
* Bugs:
* there was an optimization in the datatype handling of OWLRL that excluded subsumptions for 'implicit' literals, ie, literals that are given datatypes via the ^^ formalism (and not via sameAs and explicit datatype definitions). But this excluded proper inferences for existential restrictions...:-(
* handler for the :code:`xsd:normalizedString` datatype was missing.