diff -r dd4ee1d4122c -r c77f06ff3e54 server/src/app/Http/Controllers/Api/DiscourseController.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Http/Controllers/Api/DiscourseController.php Sun May 08 14:21:22 2016 +0200 @@ -0,0 +1,60 @@ +sparqlClient = $sparqlClient; + } + + /** + * Display the specified resource. + * + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + + $query = preg_replace('/\s+/', ' ', "select (?o as ?res) (COUNT(?s) as ?count) where { + ?s a . + ?s ?o. + filter(uri(?o) in (<".implode('>,<', array_keys(config('corpusparole.corpus_discourse_type'))).">)) + } + GROUP BY ?o + ORDER BY DESC(?count)"); + + $docs = $this->sparqlClient->query($query); + + $discourses = []; + + foreach ($docs as $row) { + $key = $row->res->getUri(); + $count = $row->count->getValue(); + $label = config('corpusparole.corpus_discourse_type')[$key]; + $discourses[$key] = [ + "label" => $label, + "count" => $count + ]; + } + + return response()->json(['discourses' => $discourses ]); + + } + +}