diff --git a/lib/AmuseWikiFarm/Archive/OAI/ORE.pm b/lib/AmuseWikiFarm/Archive/OAI/ORE.pm index 91e411d2..48e32f37 100644 --- a/lib/AmuseWikiFarm/Archive/OAI/ORE.pm +++ b/lib/AmuseWikiFarm/Archive/OAI/ORE.pm @@ -21,10 +21,9 @@ sub as_rdf_xml { my $created = $text->pubdate->iso8601 . 'Z'; my $updated = $text->f_timestamp->iso8601 . 'Z'; my @dc; - if (my $oai_pmh_record = $text->oai_pmh_record) { + if (my $oai_pmh_record = $text->oai_pmh_records->not_deleted->first) { @dc = @{ $oai_pmh_record->dublin_core_record || [] }; } - my $data = [ 'rdf:RDF' => [ 'xmlns:rdf' => "http://www.w3.org/1999/02/22-rdf-syntax-ns#" , @@ -50,9 +49,11 @@ sub as_rdf_xml { ], [ 'rdf:Description' => [ 'rdf:about', $self->uri_maker->($text->full_ore_aggregation_uri) ], - @dc, - [ 'dcterms:created' => [ 'rdf:datatype' => "http://www.w3.org/2001/XMLSchema#dateTime" ], $created ], - [ 'dcterms:modified' => [ 'rdf:datatype' => "http://www.w3.org/2001/XMLSchema#dateTime" ], $updated ], + [ + @dc, + [ 'dcterms:created' => [ 'rdf:datatype' => "http://www.w3.org/2001/XMLSchema#dateTime" ], $created ], + [ 'dcterms:modified' => [ 'rdf:datatype' => "http://www.w3.org/2001/XMLSchema#dateTime" ], $updated ], + ] ], ] ]; diff --git a/lib/AmuseWikiFarm/Schema/ResultSet/OaiPmhRecord.pm b/lib/AmuseWikiFarm/Schema/ResultSet/OaiPmhRecord.pm index ba37622f..9b02eecd 100644 --- a/lib/AmuseWikiFarm/Schema/ResultSet/OaiPmhRecord.pm +++ b/lib/AmuseWikiFarm/Schema/ResultSet/OaiPmhRecord.pm @@ -41,6 +41,12 @@ sub oldest_record { })->first; } +sub not_deleted { + my $self = shift; + my $me = $self->current_source_alias; + $self->search({ "$me.deleted" => 0 }); +} + sub set_deleted_flag_on_obsolete_records { my ($self, $ids) = @_; die "Missing ids" unless $ids && ref($ids) eq 'ARRAY'; diff --git a/lib/AmuseWikiFarm/Utils/XML.pm b/lib/AmuseWikiFarm/Utils/XML.pm index b10a72d8..5c4e0d06 100644 --- a/lib/AmuseWikiFarm/Utils/XML.pm +++ b/lib/AmuseWikiFarm/Utils/XML.pm @@ -3,6 +3,7 @@ package AmuseWikiFarm::Utils::XML; use utf8; use strict; use warnings; +use Data::Dumper::Concise; =head1 SYNOPSIS