コード例 #1
0
def main():

    ee = ExecutionEngine()

    ee.ExecuteTestCases("hello.csv")
コード例 #2
0
def executeComposition(compositionId):
    variables = request.get_json()
    sparql = SPARQLWrapper("http://localhost:3030/03Ap08")
    sparql.setQuery("""
		Select  ?url ?method ?returns ?inputs ?inputValues where
		{
 		{
    		<http://localhost:5000/""" + compositionId +
                    """> <http://www.w3.org/ns/hydra/core#Collection> ?c .
		?c <http://www.w3.org/ns/hydra/core#member> ?member.
   		?member <http://www.w3.org/ns/hydra/core#method> ?method .
  		?member <http://schema.org/url> ?url .
  		?member <http://www.w3.org/ns/hydra/core#returns> ?returns .
  		{SELECT ?member (GROUP_CONCAT(?input;separator="|") AS ?inputs) (GROUP_CONCAT(?inputValue;separator="|") AS ?inputValues) 
		WHERE {
		{?member <http://www.w3.org/ns/hydra/core#expects> ?expect.
  		?expect ?input ?inputValue}
		}
		group by ?member }
		}
		}
		""")
    sparql.method = 'GET'
    sparql.setReturnFormat(JSON)
    results = sparql.query().convert()
    dumpedresults = json.dumps(OrderedDict(results))
    jsonresults = json.loads(dumpedresults, object_pairs_hook=OrderedDict)

    workflow = {}
    member = []
    compoDesc = OrderedDict()

    for i in jsonresults["results"]["bindings"]:
        service = {}
        service['url'] = i["url"]["value"]
        service['method'] = i["method"]["value"]
        service['returns'] = i["returns"]["value"]
        expects = []
        if ('|' in i["inputs"]["value"]):
            inputs = str(i["inputs"]["value"])
            arr_inputs = inputs.split("|")
            input_val = str(i["inputValues"]["value"])
            arr_input_val = input_val.split("|")
            for i in range(len(arr_inputs)):
                exp = {}
                exp[arr_inputs[i]] = arr_input_val[i]
                expects.append(exp)
            service['expects'] = expects
        else:
            exp = {}
            exp[i["inputs"]["value"]] = i["inputValues"]["value"]
            expects.append(exp)
        service['expects'] = expects
        member.append(service)
    compoDesc['Workflow'] = member
    sparql2 = SPARQLWrapper("http://localhost:3030/03Ap08")
    sparql2.setQuery("""
	Select  ?goal where
		{
    		<http://localhost:5000/""" + compositionId +
                     """> <http://www.w3.org/ns/hydra/core#Collection> ?coll .
  		?coll <http://schema.org/Text> ?goal
		}
	""")
    sparql2.method = 'GET'
    sparql2.setReturnFormat(JSON)
    results2 = sparql2.query().convert()
    dumpedresults2 = json.dumps(OrderedDict(results2))
    jsonresults2 = json.loads(dumpedresults2, object_pairs_hook=OrderedDict)
    compoDesc['Goal'] = jsonresults2["results"]["bindings"][0]["goal"]["value"]
    jsonldexec = json.dumps(OrderedDict(compoDesc))

    var_arr = []
    sparql = SPARQLWrapper("http://localhost:3030/03Ap08")
    sparql.setQuery("""
	SELECT ?input  
	WHERE
	{<http://localhost:5000/""" + compositionId +
                    """> <http://www.w3.org/ns/hydra/core#operation> ?op .
	?op <http://www.w3.org/ns/hydra/core#expects> ?expects .
	?expects ?input ?inval
	}
	""")
    sparql.method = 'GET'
    sparql.setReturnFormat(JSON)
    results = sparql.query().convert()
    dumpedresults = json.dumps(OrderedDict(results))
    jsonresults = json.loads(dumpedresults)
    print(jsonresults)
    for i in jsonresults["results"]["bindings"]:
        #var = i["input"]["value"].split('#')
        var = i["input"]["value"].rsplit('/', 1)[-1]
        var_arr.append(var[1])
    execution = ExecutionEngine()
    #variables = [["var_initDate", "26-03-2018 12:00:00"], ["var_endDate", "27-03-2018 12:00:00"]]
    execution.executeComposition(jsonldexec, var_arr, variables)
    return ''