Sha256: c5a3ac9fd9d68b63c9c590de8171e58548e205de363aa9db9e61f0ba782c0503

Contents?: true

Size: 1.32 KB

Versions: 8

Compression:

Stored size: 1.32 KB

Contents

module DPLA::MAP
  class Aggregation < ActiveTriples::Resource
    configure :type => RDF::ORE.Aggregation

    validates_presence_of :sourceResource, :originalRecord, :isShownAt, :object, :provider

    property :sourceResource, :predicate => RDF::EDM.aggregatedCHO, :class_name => 'DPLA::MAP::SourceResource'
    property :dataProvider, :predicate => RDF::EDM.dataProvider, :class_name => 'DPLA::MAP::Agent'
    property :originalRecord, :predicate => RDF::DPLA.originalRecord
    property :hasView, :predicate => RDF::EDM.hasView, :class_name => 'DPLA::MAP::WebResource'
    property :intermediateProvider, :predicate => RDF::DPLA.intermediateProvider, :class_name => 'DPLA::MAP::Agent'
    property :isShownAt, :predicate => RDF::EDM.isShownAt, :class_name => 'DPLA::MAP::WebResource'
    property :object, :predicate => RDF::EDM.object, :class_name => 'DPLA::MAP::WebResource'
    property :preview, :predicate => RDF::EDM.preview, :class_name => 'DPLA::MAP::WebResource'
    property :provider, :predicate => RDF::EDM.provider, :class_name => 'DPLA::MAP::Agent'
    property :rightsStatement, :predicate => RDF::EDM.rights, :class_name => 'DPLA::MAP::RightsStatement'

    def jsonld_context
      DPLA::MAP::CONTEXT['@context']
    end

    def to_jsonld
      JSON::LD::API.frame(JSON.parse(dump(:jsonld)), DPLA::MAP::FRAME)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dpla-map-4.0.0.0.pre.13 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.12 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.11 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.10 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.9 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.8 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.7 lib/dpla/map/aggregation.rb
dpla-map-4.0.0.0.pre.6 lib/dpla/map/aggregation.rb