tree: 35720a41da9f18fa82205bf9594bdd90f03d24d1 [path history] [tgz]
  1. src/
  2. pom.xml
  3. README.md
kogito-springboot-examples/pmml-springboot-example/README.md

PMML + Spring Boot example

Description

A simple PMML service.

Installing and Running

Prerequisites

You will need:

  • Java 11+ installed
  • Environment variable JAVA_HOME set accordingly
  • Maven 3.8.6+ installed

Compile and Run

mvn clean compile spring-boot:run

Package and Run

mvn clean package
java -jar ./target/pmml-springboot-example.jar

Example Usage

Once the service is up and running, you can use the following example to interact with the service.

POST /Regression

Given inputs:

{
  "fld1":3.0,
  "fld2":2.0,
  "fld3":"y"
}

Curl command (using the JSON object above):

curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"fld1":3.0, "fld2":2.0, "fld3":"y"}' http://localhost:8080/Testregression/LinReg

or on Windows:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{"fld1":3.0, "fld2":2.0, "fld3":"y"}" http://localhost:8080/Testregression/LinReg

Example response:

{
  "fld4":52.5
}

POST /Tree

Given inputs:

{
  "temperature":30.0, 
  "humidity": 10.0 
}

Curl command (using the JSON object above):

curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"temperature":30.0, "humidity":10.0}' http://localhost:8080/Testtree/SampleMine

or on Windows:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{"temperature":30.0, "humidity":10.0}" http://localhost:8080/Testtree/SampleMine

Example response:

{
  "decision":"sunglasses"
}

POST /Scorecard

Given inputs:

{
  "input1":5.0, 
  "input2":-10.0
}

Curl command (using the JSON object above):

curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"input1":5.0, "input2":-10.0}' http://localhost:8080/Testscorecard/SimpleScorecard

or on Windows:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{"input1":5.0, "input2":-10.0}" http://localhost:8080/Testscorecard/SimpleScorecard

Example response:

{
  "score":-15.0
}

POST /MiningModel

Given inputs:

{"residenceState":"AP",
                "validLicense":true,
                "occupation":"ASTRONAUT",
                "categoricalY":"classA",
                "categoricalX":"red",
                "variable":6.6,
                "age":25.0
}

Curl command (using the JSON object above):

curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"residenceState":"AP", "validLicense":true, "occupation":"ASTRONAUT", "categoricalY":"classA", "categoricalX":"red", "variable":6.6, "age":25.0}' http://localhost:8080/Testminingmodel/PredicatesMining

or on Windows:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{"residenceState":"AP", "validLicense":true, "occupation":"ASTRONAUT", "categoricalY":"classA", "categoricalX":"red", "variable":6.6, "age":25.0}" http://localhost:8080/Testminingmodel/PredicatesMining

Example response:

{
  "categoricalResult":1.381666666666666
}