?actuator auraActuate:changeState ?variable.
    }"""

available_cont_commands = """
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX auraDevice: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraDevice#>
    PREFIX auraActuate: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraActuate#>

    SELECT DISTINCT ?device ?variable
    WHERE {
        ?device auraDevice:hasPlatform ?platform .
  		?platform auraDevice:hasActuator ?actuator .
        ?actuator auraActuate:increases ?variable.
    }"""

conditions_query = graph.make_query(available_conditions)
conditions_cont_query = graph.make_query(available_cont_conditions)
commands_query = graph.make_query(available_commands)
commands_cont_query = graph.make_query(available_cont_commands)


def get_available_conditions():
    discrete_result = graph.query(conditions_query)
    continuous_result = graph.query(conditions_cont_query)
    response = {}
    i = 0
    for row in discrete_result:
        response[i] = {'device':row[0], 'variable':row[1]}
        i += 1
    for row in continuous_result:
        response[i] = {'device':row[0], 'variable':row[1], 'unit':row[2]}
        ?actuator auraActuate:changeState ?variable.
    }"""

available_cont_commands = """
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX auraDevice: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraDevice#>
    PREFIX auraActuate: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraActuate#>

    SELECT DISTINCT ?device ?variable
    WHERE {
        ?device auraDevice:hasPlatform ?platform .
  		?platform auraDevice:hasActuator ?actuator .
        ?actuator auraActuate:increases ?variable.
    }"""

conditions_query = graph.make_query(available_conditions)
conditions_cont_query = graph.make_query(available_cont_conditions)
commands_query = graph.make_query(available_commands)
commands_cont_query = graph.make_query(available_cont_commands)


def get_available_conditions():
    discrete_result = graph.query(conditions_query)
    continuous_result = graph.query(conditions_cont_query)
    response = {}
    i = 0
    for row in discrete_result:
        response[i] = {'device': row[0], 'variable': row[1]}
        i += 1
    for row in continuous_result:
        response[i] = {'device': row[0], 'variable': row[1], 'unit': row[2]}