Skip to content
Patrick Hochstenbach edited this page Jun 27, 2014 · 23 revisions

This page summarizes ideas and plans for additional Catmandu modules with Importers, Exporters, Stores, Fix packages, Validators, and Binds. Feel free to add more suggestions! Please include links to existing code repositories or descriptions, if available!

Importers

Catmandu::Importer::Europeana: See also http://www.theeuropeanlibrary.org/tel4/access

Catmandu::Importer::Sleep: See also http://dataprotocols.org/sleep/

Catmandu::Importer::ONIX

Catmandu::Importer::EAD

Catmandu::Importer::METS

Catmandu::Importer::ResourceSync: See also http://www.niso.org/workrooms/resourcesync/

And all the rest

Catmandu::Importer::RDF

Catmandu::Importer::SPARQL

Catmandu::Importer::MQ (import from a message queue..e.g using Net::Stomp)

...

Exporters

Catmandu::Exporter::Table (draft): export ASCII table such as implemented by csvlook (see this example. The exporter may be configured for more table formats, such as described here.

Catmandu::Exporter::SPARUL or Catmandu::Exporter::SPARQL

Catmandu::Exporter::RDFPatch

Stores

Catmandu::Store::Directory: use the file system as simple read/write/delete store.

Catmandu::Store::GoogleSpreadsheet: use A Google Drive/Docs Spreadsheet as store for reading and writing tabular data. See API documentation and Net::GoogleDrive for a very basic interface.

Catmandu::Store::S3: use Amazon S3 as a backend store

Fixes and binds

Catmandu::Fix::jq: filter records as implemented by the jq command line tool. An easy implementation could pass JSON to jq and parse the result.

Catmandu::Fix::Bind::validate: validate a record inside the Fix language. E.g.

# This will reject the record if it the resulting fixes create an invalid record
do validate(JSONSchema)
 fix()
 fix()
 fix()
end

Catmandu::Fix::Lua: use Lua as efficient and safe (sandboxed) fix language.

Validators

Catmandu::Validator::JSONSchema: validate based on a JSON Schema. See https://github.com/LibreCat/Catmandu-Validator-JSONSchema for a draft.

Catmandu::Validator::Entails: validate by entailed record, as implemented by Test::JSON::Entails

Catmandu::Validator::Moose: validate with a given Moose class as described here

Catmandu::Validator::cmd: validate with an external command. See https://github.com/LibreCat/Catmandu-Fix-cmd/issues/2

Combined modules

Catmandu::Zotero to use Zotero Web as Store and or Importer/Exporter, so Zotero can be used as bibliographic database.

Clone this wiki locally