author | Chloe Laisne <chloe.laisne@gmail.com> |
Sat, 09 Jul 2016 00:59:32 +0200 | |
changeset 236 | ac6928e86d14 |
parent 171 | f4f558f04f37 |
child 277 | bd4bc1db4f40 |
permissions | -rw-r--r-- |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
namespace CorpusParole\Models; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
use CorpusParole\Libraries\RdfModel\RdfModelResource; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
use CorpusParole\Libraries\Utils; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
use JsonSerializable; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
use Log; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
/** |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
*/ |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
class GeoResource extends RdfModelResource implements JsonSerializable { |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
public function __construct($uri, $graph) { |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
parent::__construct($uri, $graph); |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
|
171
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
17 |
private $refLocs = null; |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
private $notes = null; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
public function clearMemoizationCache() { |
171
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
21 |
$this->refLocs = null; |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
$this->notes = null; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
|
171
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
25 |
public function getRefLocs() { |
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
26 |
if(is_null($this->refLocs)) { |
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
27 |
$refLocs = $this->allResources("<http://www.w3.org/2002/07/owl#sameAs>"); |
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
28 |
$this->refLocs = array_map(function($refLoc) { return $refLoc->getUri();}, $refLocs); |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
} |
171
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
30 |
return $this->refLocs; |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
public function getNotes() { |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
if(is_null($this->notes)) { |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
$this->notes = $this->all('<http://www.w3.org/2004/02/skos/core#note>'); |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
return $this->notes; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
public function jsonSerialize() { |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
$notes = array_map( |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
function($note) { return Utils::processLiteralResourceOrString($note); }, |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
$this->getNotes() |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
); |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
return [ |
171
f4f558f04f37
georesource ref-loc is now a list ref-locs
ymh <ymh.work@gmail.com>
parents:
169
diff
changeset
|
46 |
'ref-locs' => $this->getRefLocs(), |
169
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
'notes' => $notes |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
]; |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
} |
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
|
8fddc113095e
Correct proble on geo info merging + add geo resource
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
} |