Project for integration of OPS and the Knime workflow engine
Switch branches/tags
Nothing to show
Clone or download
Latest commit fb9e297 Aug 12, 2015


The OPS-Knime project has three goals:

  • To easily include OpenPHACTS services in a Knime workflow
  • To create a KNIME community nodes that provides functionality include RESTful services in a KNIME workflow where the services themselves are described in a SWAGGER file
  • to give the Knime community easy access to the OpenPHACTS services. OPS-Knime is a project devoted to ease the process of including into the workflow engine. where:
    • OpenPHACTS reduces the barriers to drug discovery in industry, academia and for small businesses.
    • Knime offers a workflow system by implementing a low-barrier visual programming environment for researchers dependent on data and statistical data-crunching methods/algorithms.
    In other words: OpenPHACTS gives pharmacologists easy access to a wide range of data relevant to their research and Knime allows scientists to partially automate their research workflows which are part of their research process. The more generic purpose of OPS-Knime is to make it easier to integrate Restful services in Knime via some utility nodes that are able to deal with SWAGGER files and JSON files.


    The OpenPHACTS services are accessible via HTTP-GET . These services are described in SWAGGER, and rendered by 3scale into convenient, human-readable html documentation. The latest swagger file for the OpenPHACTS version 1.4 can be found here , and the visualisation is here SWAGGER is an easy way to describe REST services. It contains all the necessary information needed to be able to understand the purpose and how to technically invoke services that are provided. For example the address of the server, the path to the services and the parameters that the services require or which are optional to fine-tune the desired functionality of the service.

    The OPS-Knime project to give the Knime community easy access to the OpenPHACTS services.


      This node parses a SWAGGER file which is loaded via the config panel. The user selects a service from a list that is generated by the parser. After selecting the service, a parameter panel allows the user to specify the default parameter settings for that service. The input table contains exactly one row, where the column headers are the parameter names for the service selected by the user and the cells are the values for the respective parameters.

    • OPS_JSON
      OPS_JSON transforms a nested JSON structure in two KNIME tables. The first output table contains the results according to the specified json-paths the user wants to have, and the second table is the complete transformed JSON result.


    • Download "" (download)
    • Rename to org.openphacts.utils.json_1.1.0.jar and place it in the plugins/ folder of your KNIME installation.
      • Alternatively: Create a folder plugins/org.openphacts.utils.json_1.1.0 and unzip the downloaded ZIP there, ensuring plugin.xml and friends are directly below plugins/org.openphacts.utils.json_1.1.0.
      • On Mac OS X the plugins folder is under the Knime application. Context-click on Knime and select Show Package Content.
    • Download the example workflow (OPS_KNIME
    • Start your Knime environment (you should see already a couple of new nodes at the left, like OPS_KNIME)
    • Import the example workflow (file>>import-workflow...>>select archive file)


    • Double click on the example workflow
    • Reset the input table (click on input table, then click on table icon with red cross)
    • Execute the node (click on the green 'play' button).

    OpenPHACTS Services

    Some example workflow that uses both the OPS_SWAGGER and OPS_JSON nodes in the OpenPHACTS context.

    Development - Source

    The source code of the plugins are in the folder "OPS-Knime" folder which can be checked out as a java project in Knime-Eclipse.

    The source of the metanodes is in the 'metanodes' directory


    • more nodes
    • better nodes

    for any questions or feedback, please send a mail to support'''''AT''''' or ask your question at :