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.

12 comments:

  1. Wow! Such an amazing and helpful post this is. I really really love it. I hope that you continue to do your work like this in the future also.

    Best Apache Spark Online Course
    Apache Spark and Scala Online Training

    ReplyDelete
  2. If you learning java but not getting good marks without java programming help then this blog is for you, learn deep concept here.

    ReplyDelete
  3. The Original Forex Trading System: roboforex login Is The Original Forex Trading System. It Is 100% Automated And Provides An Easy-to-follow Trading System. You Get Access To Real-time Signals, Proven Methods, And A Money-back Guarantee.

    ReplyDelete
  4. In a class, when the subject is pretty hard, the professor finds time to explain to everyone present. But if the topic seems easier, and an individual student faces problems handling the topic, the teacher will not always help. Students sometimes feel shy to ask for such explanations. This, in turn, harms the career of the student. The student needs to learn the topic, and at the same time, he needs to finish the assignment too! Hence, the student goes for java assignment help and spends the time learning the subject by heart. When the professors cannot explain the portions individually, the students need to take help from online teaching platforms or from the assignment service providers to understand a certain topic!

    ReplyDelete
  5. Interesting article, please pay to write my essay! - No one will write a paper online free. Since we have to pay our writers for their excellent work, we cannot offer scholarly assistance at no charge. However, the good news is that working with our cheap service puts you in the first seat to experience our unique features.

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Hi, I truly fancy your effort in sharing. I am reading this fantastic educative article here due to your pleasant wording and knowledge. I wish to visit this blog again. Thanks so much for sharing. uniport basic studies admission form out

    ReplyDelete
  8. Whoa! This is a really great and informative topic. I genuinely love it. I hope that going forward, you'll keep working in this way. tunnel rush

    ReplyDelete
  9. The project includes integration Infinite Craft with popular OWL reasoners like HermiT and Pellet, allowing developers to perform ontology reasoning tasks within their .NET applications.

    ReplyDelete
  10. Meaningful post, I will share it granny sexdollwith our IT friends who are also working on this topic. I am sure it will help them a lot

    ReplyDelete
  11. Eggy Car Some levels are incredibly challenging, but you learn the importance of not giving up and trying different strategies to succeed.

    ReplyDelete
  12. Die OWL API für .NET bietet Entwicklern die Möglichkeit, mit ontologiebasierten Datenmodellen in .NET-Anwendungen zu arbeiten. Für viele ist sie ein nützliches Werkzeug, um komplexe Datenstrukturen effizient zu verwalten. Allerdings könnten einige, die weniger mit Ontologien oder semantischen Technologien vertraut sind, denken, dass solche speziellen APIs eine dumme Erfindung sind, da sie den Entwicklungsprozess komplizierter erscheinen lassen. Für spezialisierte Anwendungen bleibt sie jedoch unverzichtbar.

    ReplyDelete