Skip to content
Jakob Voß edited this page Apr 8, 2016 · 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 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 http://www.niso.org/workrooms/resourcesync/)

...and many more metadata standards.

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

...

Exporters

Catmandu::Exporter::SPARUL (see https://github.com/LibreCat/Catmandu-RDF/issues/16)

Catmandu::Exporter::LDPatch (see https://github.com/LibreCat/Catmandu-RDF/issues/17)

...

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.

unless valid(JSONSchema, schemafile.json)
  reject()
end

Could also validate part of the record

unless valid(JSONSchema, person-schema.json, path: author)
   ...cleanup author field...
end    

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

...

Validators

Catmandu::Validator::JSONTableSchema: validate against a JSON Table Schema

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)

...

Clone this wiki locally