Ejemplo n.º 1
0
def parse(items):
    item = items[0]
    obj = {}
    for key in item:
        if key in ["id","@context","@type","id","minValue","maxValue",
                   "task:enforces", "value"]:
            obj[key] = item[key]
    graph.parse(json.dumps(obj))
Ejemplo n.º 2
0
def parse(items):
    item = items[0]
    obj = {}
    for key in item:
        if key in [
                "id", "@context", "@type", "id", "minValue", "maxValue",
                "task:enforces", "value"
        ]:
            obj[key] = item[key]
    graph.parse(json.dumps(obj))
Ejemplo n.º 3
0
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]}
        i += 1

    return response
Ejemplo n.º 4
0
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]}
        i += 1

    return response
Ejemplo n.º 5
0
def test_conditions(measurement):
    measurement_str = measurement["@id"]
    var_str = measurement["dev:valueOf"]

    conditions_str = """
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX auraTask: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraTask#>
    PREFIX auraDev: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraDevice#>
    PREFIX variable: <"""+var_str+""">
    PREFIX measurement: <"""+measurement_str+""">

    SELECT DISTINCT ?condition ?minValue ?maxValue ?value
    WHERE {
        measurement: auraDev:Value ?value .
        ?condition auraTask:enforces variable: .
    	?condition auraTask:Range:MinValue ?minValue .
        ?condition auraTask:Range:MaxValue ?maxValue .
        FILTER(?value < ?minValue || ?value > ?maxValue)
    }
    """

    result = graph.query(conditions_str)
    i = 0
    for row in result:
        i += 1
        print("violated condition #" + str(i))
        print(row[0])#condition?
        print(row[1])#minValue
        print(row[2])#maxValue
        print(row[3])#value
Ejemplo n.º 6
0
def test_conditions(measurement):
    measurement_str = measurement["@id"]
    var_str = measurement["dev:valueOf"]

    conditions_str = """
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX auraTask: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraTask#>
    PREFIX auraDev: <https://raw.githubusercontent.com/AuraMiddleware/aura-semantics/master/semantics/ontologies/AuraDevice#>
    PREFIX variable: <""" + var_str + """>
    PREFIX measurement: <""" + measurement_str + """>

    SELECT DISTINCT ?condition ?minValue ?maxValue ?value
    WHERE {
        measurement: auraDev:Value ?value .
        ?condition auraTask:enforces variable: .
    	?condition auraTask:Range:MinValue ?minValue .
        ?condition auraTask:Range:MaxValue ?maxValue .
        FILTER(?value < ?minValue || ?value > ?maxValue)
    }
    """

    result = graph.query(conditions_str)
    i = 0
    for row in result:
        i += 1
        print("violated condition #" + str(i))
        print(row[0])  #condition?
        print(row[1])  #minValue
        print(row[2])  #maxValue
        print(row[3])  #value
Ejemplo n.º 7
0
        ?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]}
def create(collection, obj):
    if not verify(collection, obj["@id"]):
        graph.parse(json.dumps(obj))
        db.store(collection, obj)
    else:
        print("Already have " + str(obj["@id"]) + " in database.")
Ejemplo n.º 9
0
from aura.managers import SemanticManager

graph = SemanticManager.get_graph()
if graph != None:
    file = open('graph.xml', 'w')
    file.write(graph.serialize(format='pretty-xml').decode())
    file.close()
Ejemplo n.º 10
0
        ?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]}
def create(collection, obj):
    if not verify(collection, obj['@id']):
        graph.parse(json.dumps(obj))
        db.store(collection, obj)
    else:
        print("Already have " + str(obj['@id']) + " in database.")
Ejemplo n.º 12
0
def remove(items):
    for i in items:
        graph.remove(items[i]['id'])
Ejemplo n.º 13
0
def remove(items):
    for i in items:
        graph.remove(items[i]['id'])