Owlready2 0.43 has been released!

Owlready is a Python module for ontology-oriented programming. It can load OWL 2.0 ontologies and manipulate them transparently in Python.

This version includes a backward incompatible change: literal with different languages are now considered as different. For instance:

  • locstr("Test", "en") != "Test"

  • locstr("Test", "en") != locstr("Test", "fr")

This was not the case in previous releases, and it caused some weird bugs and confusion between literals.

I also would like to introduce a new projet: FullPy is Python module for designing web applications entirely in Python. It uses Owlready for data semantics and persistance. More information on FullPy can be found here:

Finally, due to a last minute bug, there is no 0.42 version.

Here are the changes:

  • INCOMPATIBLE CHANGE: Consider literal with different language as different

  • Support GRAPH clauses in SPARQL queries

  • World now supports custom lock (e.g. World(lock = ...))

  • Bugfixes: - Fix World(enable_thread_parallelism = True) (was named enable_gevent) - Fix blank nodes in rdflib_store - Fix FILTER in SPARQL when the filter was just after a recursive query - Fix recursive query in SPARQL involving variables in their right part - Fix SPARQL query with annotations containing entities - Fix property creation when using a Union in the '>>' syntax (e.g. class Prop((MyClass | MyOtherClass) >> str): pass) - Fix UMLS extraction in PyMedTermino2 - Fix Class IRI with brackets (or other special characters) when writing RDF/XML file

The new version be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/Owlready2