Wiki

Clone wiki

jKarma / Home

Introduction to jKarma

jKarma is a library, written in Java 8, exposing an highly-modular framework for defining Pattern-based Change Detection algorithms and executing them on evolving data. All with reduced or none programming efforts.

The library is open-source (released under Apache License 2.0) and independent from other data mining softwares or analytics framework, as well as third parties data sources. Therefore, jKarma is highly-integrable into larger Java projects.

Getting started

There are two ways of obtaining jKarma, you can either:

  • Download the latest version of the library in .jar format.
  • Clone the repository with git and compile the library from sources with Maven using:
    git clone https://bitbucket.org/jkarma/jkarma/src/master/
    cd master/jkarma
    mvn package
    cd jkarma-dist/target
    

In any case, you will end up with a binary .jar file which can be included as dependency in java projects. When built from sources, the compiled jkarma-dist-dev-jar-with-dependencies.jar can be found in the jkarma-dist/target folder.

Documentation

jKarma is fully documented in javadoc format. However, different resources are also available as part of the growing wiki. In particular, both novel and experienced users may also consider checking these references:

Furthermore, many ideas and contributions with respect to Pattern-based Change Detection, as implemented in jKarma, are also discussed in the following scientific publications:

  • Angelo Impedovo, Corrado Loglisci, Michelangelo Ceci, Donato Malerba
    jKarma: a Highly-Modular Framework for Pattern-based Change Detection on Evolving Data. Knowl.-Based Systems, Accepted 2019, in press.
  • Corrado Loglisci, Michelangelo Ceci, Angelo Impedovo, Donato Malerba
    Mining microscopic and macroscopic changes in network data streams. Knowl.-Based Syst. 161: 294-312 (2018)
  • Corrado Loglisci, Angelo Impedovo, Michelangelo Ceci, Donato Malerba
    Mining Microscopic and Macroscopic Changes in Network Data Streams (Discussion Paper). SEBD 2019
  • Angelo Impedovo, Michelangelo Ceci, Toon Calders
    Efficient and Accurate Pattern-based Change Detection in Dynamic Networks. Discovery Science 2019
  • Angelo Impedovo, Corrado Loglisci, Michelangelo Ceci
    Temporal Pattern Mining from Evolving Networks. CoRR abs/1709.06772 (2017), presented at PhD Forum@ECML-PKDD 2017

Development info

The repository is organized according to a specific branching model.

  • master branch (available here) is the development branch therefore hosting unstable sources under development.
  • stable branch (available here) hosts the sources associated with stable releases of jKarma. Commits are tagged with the version number of the associated release.
  • various release branches used for release tasks, they are branched from the master branch and then merged into the stable branch.

Users interested in compiling a particular version of jKarma are encouraged to clone tagged commits from the stable branch. Instead, users interested in exploring the latest set of experimental functionalities should clone the master branch.

Updated