Welcome to the wiki of OpenMarkov, an open source tool for building and evaluating probabilistic graphical models.
WARNING: At this moment we are making a transition to version 0.3.0. This version is available to download but has known issues.
You can download OpenMarkov executables from here.
The best way to learn OpenMarkov is with its tutorial.
And there are some additional resources:
You can find more information about OpenMarkov in its main page.
Here in the wiki we explain how to develop code for OpenMarkov. From getting an IDE running to the addition of code to OpenMarkov itself:
- First steps explains how to set an IDE, git, download OpenMarkov and gives some lines about working methodology and the organization of OpenMarkov.
- Working methodology talks in the detail the good practices of an OpenMarkov developer.
- OpenMarkov organization explains the subproject tree of OpenMarkov.
- Developing code guides through adding specific elements like metrics or learning algorithms and points to already-prepared places to add this code to OpenMarkov.
Aside from this wiki, developers may be interested in the:
Contributing your code to OpenMarkov
If you have written an extension for OpenMarkov in the form of a new subproject, please contact us at firstname.lastname@example.org about including it in the "official" releases.
Contributing as external developers
In some cases, we will allow external developers to modify OpenMarkov's existing modules (subprojects). In this case:
- Create a branch of the subproject in your Bitbucket repository. This way, when you wish, the developers at the CISIAD will be able to examine the new code.
- Once the code is approved and the contributor signs a distribution agreement licence, the contribution will be merged with the "official" code.
In exceptional cases, external developers will be given access to the main version (the entire development branch) of OpenMarkov, as if they were internal developers. In this case, they should respect carefully the working methodology.
Using OpenMarkov as an API
If you wish to use OpenMarkov as an API, you will need to download OpenMarkov's repositories and import them into your IDE. Then you should create a project in your IDE, declare the dependencies on the necessary OpenMarkov's subprojects (see OpenMarkov's organization), and generate a jar file with Maven.
As an example, we have created the project exampleAPI. You can clone it on your computer using Git and rename it. Then rename the file ExampleAPI.java and adapt it to your needs. Don't forget to update the pom.xml file, which will be used by Maven to compile the jar file.
We encourage you to inform us in our issue tracker. When informing, please make sure that your issue has not been already reported.
Thanks in advance for your collaboration.
If you need any help, contact us at email@example.com.