Ontologenius is a research project aimed at providing what can be seen as a semantic memory for artificial agents. Focusing only on this task, Ontologenius is currently a robust and efficient open-source software that can be deployed in many applications.
Provided with some algorithms of first-order logic inference, it is still possible to make it evolve easily thanks to a plugin mechanism and thus adapt it to your needs.
Two API (C++ and Python) are available to integrate Ontologenius in a simple way. Do not hesitate to check our tutorials for few examples on both API.
A new mechanism is now available to create reactive applications using ontologenius. You can subscribe to triplets and triplets patterns to avoid any pulling on the knowledge base.
New reasoning capabilities have been added to ontologenius anonymous classes and transitivity axioms. In addition, inference deletion has been improved with a uniformized mechanism.
Here is another great step in a short time, Ontologenius is now compatible both with ROS1 and ROS2!
A lot of efforts have been made to ensure dual compatibility with a single repository. In such a way, no matter your ROS version you will always have all the new features bring to our projects.
Here is a great step, Ontologenius comes in its third major release!
A lot of efforts have been done to enhance Ontologenius performances with a new interface based on indexes (integers), allowing better internal performances but also letting you the opportunity to seep-up your own algorithms. More than this new interface, a lot of engineering has been done to optimize all internal structures and algorithms to improve ontologies loading, low-level queries, as well as SPARQL queries.
Why hasn't this already been done? That's a good question but now it's done! Ontologenius now look for the import attributes of your owl files and will automatically load them. Imported files can be Github URL, Gitlab URL, raw URL or local path. In all cases, Ontologenius will try to identify a ROS package in the paths and will use your local package if it exists.
Ontologenius has been optimized to load large ontology and is now able to load millions of assertions in few seconds. In addition, it requires less memory!
For sure OWL is a cool language but you maybe prefer the Turtle language instead... We thus have good news for you! Ontologenius now supports Turtle files so that you can load your favourite ontology without converting them.
More than creating multiple instances of Ontologenius, you can now copy an instance that then becomes independent. This new feature makes it easy to use Ontologenius for planning applications.
You can now configure the reasoners you want to use and change their parameters via a YAML file. Create your own configuration for your specific application in few minutes!