server/src/app/Libraries/Mergers/CocoonCollectionRdfMerger.php
author nowmad@nowmads-macbook-pro.local
Fri, 11 Dec 2015 13:13:47 +0100
changeset 51 70dff07a76ff
parent 18 f2a40bbc27f6
permissions -rw-r--r--
add click event on visu-carto and visu-langue and update the url with the selected element as filter parameter

<?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);
    }

}