function getListOfBases() { $cont = RestfulHelper::getInfo($this->uri); $cont = json_decode($cont, true); $bases = $cont['hasBase']; return $bases; }
function Delete() { $reponse = RestfulHelper::getInfo($this->uri); RestfulHelper::Delete($this->uri, $reponse); }
function refresh($json, $after = null, $before = null) { $trace = $this->TraceOrigin[0]; $this->name = $json["Name"]; $formule = $json["formule"]; $this->formule = $json["formule"]; $input = $json["input"]; $variable = array(); $transformation = $json["Transformation"]; // verification si la dernière transformation est faite ou non !! // si oui pas la peine de refaire toutes les transformation. avec KTBS les obsels se propagent !!!cool non ? // si non on fait les transformations. $s = sizeof($transformation) - 1; $tname = str_replace(' ', '_', $this->name . " {$s}"); $b = $trace->getBaseUri(); $trverif = new Trace($b . $tname); $c = $json["createdOn"]; $encode = true; if (!$trverif->exist()) { $encode = false; $k = 0; $models = array(); if ($transformation == null && $c == null) { $encode = false; goto notransformation; } if ($transformation == null && $c != null) { $encode = true; goto notransformation; } } else { $trace = $trverif; } notransformation: $this->ComputedTrace = $trace; $reponse = RestfulHelper::getInfo($trace->getUri()); while ($reponse == null) { sleep(2); $reponse = RestfulHelper::getInfo($trace->getUri()); } $values = array(); // $cond = array(); // if($after != null){ // $time = strtotime($after)*1000; // $cond[] = 'minb='.$time; // } // if($before != null){ // $time = strtotime($before)*1000; // $cond[] = 'maxb='.$time; // } // $times = implode('&', $cond); $Tcomp = new ComputedTrace($trace->getBaseUri(), 'time' . str_replace(' ', '_', $this->name)); if ($Tcomp->exist()) { $Tcomp->Delete(); } $Tcomp->config('filter', array($trace)); $Tcomp->setFilterParameter($after, $before); $Tcomp->filter(); $trace = new Trace($Tcomp->getUri()); foreach ($input as $key => $value) { $sparql = $value["operation"]; if ($encode == false) { $sparql = urlencode($sparql); } $URL = null; // if(strlen($times) == 0 ){ $URL = $trace->getUri() . "@obsels?query=" . $sparql; // } // else{ // $URL = $trace->getUri()."@obsels?".$times."&query=".$sparql; // } $r = RestfulHelper::httpInfo($URL); while ($r == "409") { sleep(1); $r = RestfulHelper::httpInfo($URL); } $reponse = RestfulHelper::getInfo($URL); $rep = json_decode($reponse, true); $res = $rep['results']; $resultat = $res['bindings']; $val = $resultat[0]; $keys = array_keys($val); $a = $val[$keys[0]]; $va = $a["value"]; if (gettype(intval($va)) != "integer") { $va = 0; } $values[$value['name']] = $va; } $f = $formule; foreach ($values as $key => $value) { $f = str_replace($key, $value, $f); } $m = new EvalMath(); $m->suppress_errors = true; $equation = explode("=", $f); $res = $m->evaluate($equation[1]); $Tcomp->Delete(); if ($res == false) { return array("var" => $equation[0], "val" => "ERROR : Time intervale caused an error"); } else { return array("var" => $equation[0], "val" => $res); } }
function getListOfTypes() { $res = RestfulHelper::getInfo($this->uri); $res = json_decode($res, true); $def = $res["@graph"]; $j = 0; $supertypes = array(); for ($i = 1; $i < sizeof($def); $i++) { $ty = $def[$i]; if (in_array('hasSuperObselType', array_keys($ty))) { foreach ($ty['hasSuperObselType'] as $key => $value) { if (!in_array($value, $supertypes)) { $supertypes[] = $value; } } } } for ($i = 1; $i < sizeof($def); $i++) { $ty = $def[$i]; if (strripos($ty["@id"], "/") == false) { if (!in_array($ty["@id"], $supertypes)) { $this->listOfTypes[$j] = str_replace('#', "", $ty["@id"]); $j++; } } } return $this->listOfTypes; }
function getListOfModels() { /*This method return the list of models in this base.*/ $listOfModel = array(); if ($this->exist() == true) { $responce = RestfulHelper::getInfo($this->uri); $json_responce = json_decode($responce, true); $contains = $json_responce['contains']; foreach (array_keys($contains) as $key) { $val = $contains[$key]["@id"]; $val = str_replace('./', '', $val); if ($val[strlen($val) - 1] != '/') { $listOfModel[] = $val; } } $this->listOfModel = $listOfModel; return $this->listOfModel; } else { return false; } }
function setNewOrigin($newOrigin) { /* Verify the format of the time */ $this->hasOrigin = $newOrigin; $reponse = RestfulHelper::getInfo($this->uri); $obj = json_decode($reponse, true); $obj['origin'] = $this->hasOrigin; $query = json_encode($obj); RestfulHelper::json_getEtagAndPut($this->uri, $query); }