NAME
Catmandu::Store::AlephX - A Catmandu AlephX service implemented as Catmandu::Store
SYNOPSIS
use Catmandu::Store::AlephX;
my $store = Catmandu::Store::AlephX->new(url => 'http://aleph.ugent.be/X' , username => 'XXX' , password => 'XXX');
$store->bag('usm01')->each(sub {
});
METHODS
get($id)
Retrieves a record from the Aleph database. Requires a record identifier. Returns a Catmandu MARC record when found and undef on failure.
add($catmandu_marc)
Adds or updates a record to the Aleph database. Requires a Catmandu type MARC record and a _id field containing the Aleph record number. This method with throw an error when an add cant be executed.
example
#add new record. WARNING: Aleph will ignore the 001 field,
my $new_record = eval {
$bag->add({
record => [
[
'FMT',
'',
'',
'_',
'SE'
],
[
'LDR',
'',
'',
'_',
'00000cas^^2200385^a^4500'
],
[
'001',
'',
'',
'_',
'000000444'
],
[
'005',
'',
'',
'_',
'20140212095615.0'
]
..
]
});
};
if ($@) {
die "add failed $@";
}
say "new record:".$record->{_id};
delete($id)
Deletes a record from the Aleph database. Requires a record identifier. Returns a true value when the record is deleted.
each(callback)
Loops over all records in the Aleph database executing callback for every record.
search(query => $query, start => 0 , limit => 20);
searcher()
Not implemented
delete_all()
Not implemented
delete_by_query()
Not implemented