In [1]:
from py4j.java_gateway import JavaGateway, GatewayParameters
jar_path = 'lib/pyfrog/target/pyfrog-1.0-bundle.jar'

In [2]:
# Make sure that the pyfrog gateway is running
import subprocess
subprocess.Popen(['java','-jar', jar_path])


Out[2]:
<subprocess.Popen at 0x7f10446f66d8>

In [5]:
# auto_convert=True to convert from python lists to java lists
gateway = JavaGateway(auto_convert=True)

# Load a FRULER KB
kb = gateway.entry_point.loadKb('example.kb')
database = kb.getKnowledgeBase().getDatabase()

In [11]:
for var in database.getInputs():
    print(var.getName() + ' [' + str(var.getMin()) + ', ' + str(var.getMax()) + ']')


relative_compactness [0.62, 0.98]
surface_area [514.5, 808.5]
wall_area [245.0, 416.5]
roof_area [110.25, 220.5]
overall_height [3.5, 7.0]
orientation [2.0, 5.0]
glazing_area [2.7755575615628914e-17, 0.4]
glazing_area_distribution [0.0, 5.0]

In [13]:
# Prediction:
kb.denormalizedInference([0.8, 600.0, 248.0, 120.0, 4.5, 2.1, 0.2, 3.5])


Out[13]:
[23.655779260388783]