equal
deleted
inserted
replaced
|
1 <?php |
|
2 |
|
3 namespace CorpusParole\Http\Controllers\Api; |
|
4 |
|
5 // use Illuminate\Http\Request; |
|
6 // use CorpusParole\Http\Requests; |
|
7 use CorpusParole\Http\Controllers\Controller; |
|
8 |
|
9 use CorpusParole\Libraries\Sparql\SparqlClient; |
|
10 |
|
11 |
|
12 class LanguageController extends Controller |
|
13 { |
|
14 private $sparqlClient = null; |
|
15 |
|
16 public function __construct(SparqlClient $sparqlClient) { |
|
17 $this->sparqlClient = $sparqlClient; |
|
18 } |
|
19 |
|
20 /** |
|
21 * Display the specified resource. |
|
22 * |
|
23 * @return \Illuminate\Http\Response |
|
24 */ |
|
25 public function index() |
|
26 { |
|
27 |
|
28 $query = "select ?lang (count(?lang) as ?count) where { |
|
29 ?s a <http://www.europeana.eu/schemas/edm/ProvidedCHO>. |
|
30 ?s <http://purl.org/dc/elements/1.1/language> ?lang |
|
31 } |
|
32 GROUP BY ?lang |
|
33 ORDER BY DESC(?count)"; |
|
34 |
|
35 $docs = $this->sparqlClient->query($query); |
|
36 |
|
37 $languages = []; |
|
38 foreach ($docs as $row) { |
|
39 $languages[$row->lang->getUri()] = $row->count->getValue(); |
|
40 } |
|
41 |
|
42 return response()->json(['languages' => $languages ]); |
|
43 |
|
44 } |
|
45 |
|
46 } |