Skip to content
Jakob Voss edited this page May 15, 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

And all the rest

Catmandu::Importer::RDF

Catmandu::Importer::SPARQL

...

Exporters

Catmandu::Exporter::Table: 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::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.

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

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

Clone this wiki locally