public function queryAllPhobias() { $sparql = ' PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT * WHERE { ?phobia rdfs:label ?label . ?phobia dbo:abstract ?info . ?phobia foaf:isPrimaryTopicOf ?link . }'; $result = $this->stardogService->executeStatement($sparql, StardogService::EXECUTE_QUERY); return $result; }
/** * @param $phobia * @return array */ public function findSymptomsForPhobia($phobia) { $sparql = ' PREFIX remedies: <http://phobia.vrinceanu.com/remedies#> SELECT ?symptomName WHERE { ?r remedies:appearsFor "' . $phobia . '" . ?r remedies:symptomName ?symptomName . }'; $sparqlResult = $this->stardogService->executeStatement($sparql, StardogService::EXECUTE_QUERY); $symptomArr = $this->processSymptomJsonString($sparqlResult); return $symptomArr; }
/** * @param $email * @return mixed */ public function getPersonsForUser($email) { $sparql = ' PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT * WHERE { ?r foaf:name ?name . ?r foaf:nickname ?nickname . ?r foaf:knows <http://phobia.vrinceanu.com/user#' . $email . '> . }'; $result = $this->stardogService->executeStatement($sparql, StardogService::EXECUTE_QUERY); $personsArr = $this->processPersonJsonString($result); foreach ($personsArr as $key => $person) { $phobias = $this->findPhobiasForUser($person['nickname'], 'foaf:nickname'); $personsArr[$key]['phobias'] = $phobias; } return $personsArr; }