Thursday, 9 October 2014

OWL API for .NET

When developing semantic technologies with .Net, it is useful to have access to the OWL standard Api. As the OWL Api is written in Java, this is not always a simple task. Therefore we have created an open source project in Codeplex: OWL API for .Net.

OWLAPI.NET is an open source project that port the java OWLAPI in .Net. In this project we have included the scripts to compile (through IKVM) the OWLAPI library and the reasoners jar in Windows libraries (dll). Furthermore in this project we have a console test application, a .Net version of the Owl reasoner interface and the sample implementation of this interface for HermiT and Pellet.

In the console application, it is possible to test the reasoners and the examples from the OWLAPI examples.



If you are interested in adding a new OWL Java reasoner or change the version of the reasoners currently loaded in the project, you have to compile it through IKVM to Windows Libraries. For this purpose we added in the project the makeDLL.sh script. This script is a BASH script (yes you can use bash in window, see at the end for further info) which search for all jars in a certain Directory (parameter) and pack it through IKVM(see section IKVM below).

In this project we provide:
  • the OWL API compiled for .Net.
  • the OWL API examples (taken from here).
  • two OWL reasoners: HermiT and Pellet, both compiled for .Net.
  • a Test console application that shows how the OWL API and the reasoners can be used.
  • a script to compile the OWL API and the reasoners to .Net libraries.
You can either download the latest Release from here where you will find a working sample of the Test Application and all the libraries compiled. 
If you are interested in the code, you can download the source code here and open the Cognitum.OwlApi.Net.Reasoners.sln solution in Visual Studio

If you start the Cognitum.OwlApi.Net.Test project the Test console application will start. This application is loading the reasoners and then load an owl file.



License considerations

Keep in mind that different reasoners came with different licenses. E.g. HermiT is licensed by its owners under LGPL. Pellet is licensed by its owners under dual license - you may buy it from ClarkParsia or use it in an open-source projects under AGPL license. Other OWLAPI compatible reasoners may have other licenses.

The whole source (not the 3rd party libraries) of this project is is licensed under dual license: Apache 2.0 and GPLv3 - make your own choice that is most suited for your project.In order to compile the libraries in .Net libraries, we make use of IKVM.





Cognitum is an innovative, technological company that delivers high-end IT services in the area of Software Development, Cloud Computing & Big Data solutions as well as Knowledge Management tools and Semantic Technologies. We help organizations retain, manage and leverage their information assets, even unstructured and legacy with tailored software solutions and our flagship platform - Ontorion Information Management System.

No comments:

Post a Comment