--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/app/Libraries/Mergers/CocoonCollectionRdfMerger.php Tue Nov 17 13:11:55 2015 +0100
@@ -0,0 +1,47 @@
+<?php
+namespace CorpusParole\Libraries\Mergers;
+
+
+class CocoonCollectionRdfMerger extends CocoonAbstractRdfMerger {
+
+ protected function getTypeMergeMethodMap() {
+ return [
+ 'http://www.europeana.eu/schemas/edm/Collection' => 'mergeEdmCollection',
+ 'http://www.europeana.eu/schemas/edm/Place' => 'mergeDcSpatialBlankNode'
+ ];
+ }
+
+ protected function mergeEdmCollection($baseRes, $srcRes, $uri = null) {
+
+ if(is_null($uri)) {
+ $uri = $baseRes->getUri();
+ }
+ $targetArray =& $this->mergedArray[$uri];
+
+ $this->mergeProperties([
+ "http://purl.org/dc/terms/spatial"
+ ], [
+ "http://purl.org/dc/elements/1.1/title",
+ "http://purl.org/dc/terms/available",
+ "http://purl.org/dc/terms/created",
+ "http://purl.org/dc/terms/issued",
+ "http://purl.org/dc/terms/modified"
+ ], $targetArray, $baseRes, $srcRes);
+
+ }
+
+ protected function mergeDcSpatialBlankNode($baseRes, $srcRes, $uri=null) {
+ if(is_null($uri)) {
+ $uri = $baseRes->getUri();
+ }
+ $targetArray =& $this->mergedArray[$uri];
+
+ $this->mergeProperties([],[
+ "http://www.w3.org/2003/01/geo/wgs84_pos#lat",
+ "http://www.w3.org/2003/01/geo/wgs84_pos#long",
+ "http://www.w3.org/2003/01/geo/wgs84_pos#alt",
+ "http://www.w3.org/2002/07/owl#sameAs"
+ ], $targetArray, $baseRes, $srcRes);
+ }
+
+}