author | ymh <ymh.work@gmail.com> |
Fri, 08 Apr 2016 17:50:49 +0200 | |
changeset 145 | 49b75287c30b |
parent 144 | 03678acbfda3 |
child 504 | 4ab820b387da |
permissions | -rw-r--r-- |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
namespace CorpusParole\Libraries\Mappers; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
use Config; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
use CorpusParole\Libraries\Utils; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
use CorpusParole\Libraries\CocoonUtils; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
use EasyRdf\RdfNamespace; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
use EasyRdf\Graph; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
use EasyRdf\Literal; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
use EasyRdf\Resource; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
RdfNamespace::set('edm', 'http://www.europeana.eu/schemas/edm/'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
RdfNamespace::set('ore', 'http://www.openarchives.org/ore/terms/'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
RdfNamespace::set('crdo', 'http://crdo.risc.cnrs.fr/schemas/'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
RdfNamespace::set('olac', 'http://www.language-archives.org/OLAC/1.1/'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
RdfNamespace::set('skos', 'http://www.w3.org/2004/02/skos/core#'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
* |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
abstract class CocoonAbstractRdfMapper implements RdfMapper { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
|
19
eadaf0b8f02e
Bo conception step. back to ember page
ymh <ymh.work@gmail.com>
parents:
18
diff
changeset
|
27 |
public function __construct(Graph $inputGraph, $uri=null) { |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
$this->inputGraph = $inputGraph; |
19
eadaf0b8f02e
Bo conception step. back to ember page
ymh <ymh.work@gmail.com>
parents:
18
diff
changeset
|
29 |
$this->uri = is_null($uri)?$inputGraph->getUri():$uri; |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
$this->outputGraphes = []; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
abstract protected function mapResource($res, $outputGraph); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
abstract protected function getResourceBaseId($res=null); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
public function getOutputGraphes() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
return $this->outputGraphes; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
* Map a Cocoon Rdf Graph to a CP graph |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
* @return the new mapped graph |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
public function mapGraph() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
$outputGraph = $this->buildOutputGraph(); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
$resources = $this->inputGraph->allOfType('crdo:Resource'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
foreach ($resources as $res) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
$this->mapResource($res, $outputGraph); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
/** |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
* Build the main outputgraph |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
* @return the new empty graph |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
*/ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
protected function buildOutputGraph() { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
//$soundRes = $this->inputGraph->resource($this->uri)->get('http://purl.org/dc/terms/requires'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
$id = CocoonUtils::getIdFromUri($this->getResourceBaseId()); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
$outputGraph = new Graph(CocoonUtils::getCorpusUriFromId($id)); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
$this->outputGraphes[$this->getResourceBaseId()] = $outputGraph; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
return $outputGraph; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
protected function propertyOlacRoleMap($targetRes, $prop, $value) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
$targetRes->add($prop, $value); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
$targetRes->add('http://purl.org/dc/elements/1.1/contributor', $value); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
protected function propertyIdentityMap($targetRes, $prop, $value) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
$targetRes->add($prop, $value); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
protected function propertyTrimMap($providedCHOResource, $prop, $value) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
$providedCHOResource->add($prop, trim($value)); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
|
145
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
83 |
protected function propertyCollectionMap($providedCHOResource, $prop, $value) { |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
84 |
// if this is a collection, we use the edm:isGatheredInto property |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
85 |
if(CocoonUtils::isResourceCollection($value)) { |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
86 |
$resId = CocoonUtils::getIdFromUri($value->getUri()); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
87 |
$resUri = CocoonUtils::getCorpusUriFromId($resId); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
88 |
$providedCHOResource->addResource('http://www.europeana.eu/schemas/edm/isGatheredInto', $resUri); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
89 |
} elseif (strpos($value->getUri(), config('corpusparole.cocoon_doc_id_base_uri')) === 0 ) { |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
90 |
$resId = CocoonUtils::getIdFromUri($value->getUri()); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
91 |
$resUri = CocoonUtils::getCorpusUriFromId($resId); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
92 |
$providedCHOResource->add($prop, $resUri); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
93 |
} else { |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
94 |
$providedCHOResource->add($prop, $value); |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
95 |
} |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
96 |
} |
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
97 |
|
49b75287c30b
correct backoffocie with new handle if format
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
98 |
|
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
protected function addSpatialProperties($destRes, $res, $outputGraph) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
$spatials = $res->all($this->inputGraph->resource('http://purl.org/dc/terms/spatial')); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
$lats = $res->all($this->inputGraph->resource('http://www.w3.org/2003/01/geo/wgs84_pos#lat')); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
$longs = $res->all($this->inputGraph->resource('http://www.w3.org/2003/01/geo/wgs84_pos#long')); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
$alts = $res->all($this->inputGraph->resource('http://www.w3.org/2003/01/geo/wgs84_pos#alt')); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
if( count($spatials) > 0 || count($lats) > 0 || count($longs) > 0 || count($alts)) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
$placeNode = $outputGraph->newBNode(['edm:Place']); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
foreach($lats as $latitude) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
$placeNode->addLiteral('http://www.w3.org/2003/01/geo/wgs84_pos#lat', $latitude); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
foreach($longs as $longitude) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
$placeNode->addLiteral('http://www.w3.org/2003/01/geo/wgs84_pos#long', $longitude); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
foreach($spatials as $s) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
if($s instanceof Literal) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
$placeNode->addLiteral('skos:note', $s); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
elseif ($s instanceof Resource) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
$placeNode->addResource('owl:sameAs', $s); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
$destRes->add($outputGraph->resource('http://purl.org/dc/terms/spatial'), $placeNode); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
protected function applyPropertiesToRes($sourceRes, $targetRes, $properties) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
foreach( $properties as list($prop, $mappingMethod)) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
if( is_null($mappingMethod) ) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
$mappingMethod = 'propertyIdentityMap'; |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
foreach($sourceRes->all($this->inputGraph->resource($prop)) as $value) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
call_user_func(array($this, $mappingMethod), $targetRes, $prop, $value); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
protected function addDateProperties($targetRes, $res, $outputGraph) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
$this->applyPropertiesToRes($res, $targetRes, [ |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
['http://purl.org/dc/terms/available', null], |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
['http://purl.org/dc/terms/created', null], |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
['http://purl.org/dc/terms/issued', null], |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
['http://purl.org/dc/terms/modified', null], |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
]); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
protected function mapCollections($res) { |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
$collections = $res->all('dc:isPartOf'); |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
foreach($collections as $coll) { |
108
be2d3b30b2e0
change isPartOf to edm:isGatheredInto for collections
ymh <ymh.work@gmail.com>
parents:
23
diff
changeset
|
150 |
if(CocoonUtils::isResourceCollection($coll)) { |
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
108
diff
changeset
|
151 |
$collId = CocoonUtils::getIdFromUri($coll->getUri()); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
108
diff
changeset
|
152 |
$collUri = CocoonUtils::getCorpusUriFromId($collId); |
108
be2d3b30b2e0
change isPartOf to edm:isGatheredInto for collections
ymh <ymh.work@gmail.com>
parents:
23
diff
changeset
|
153 |
$collectionGraph = new Graph($collUri); |
be2d3b30b2e0
change isPartOf to edm:isGatheredInto for collections
ymh <ymh.work@gmail.com>
parents:
23
diff
changeset
|
154 |
$this->outputGraphes[$collUri] = $collectionGraph; |
144
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
108
diff
changeset
|
155 |
$collRes = $collectionGraph->resource($collUri, 'edm:Collection'); |
03678acbfda3
Change collections uri + add link to cocoon collection
ymh <ymh.work@gmail.com>
parents:
108
diff
changeset
|
156 |
$collRes->addResource("http://purl.org/dc/terms/isVersionOf",$coll->getUri()); |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
} |
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
|
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
} |