• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Catmandu Librecat
 

Catmandu Librecat

on

  • 754 views

 

Statistics

Views

Total Views
754
Views on SlideShare
747
Embed Views
7

Actions

Likes
1
Downloads
1
Comments
0

5 Embeds 7

http://tweetedtimes.com 3
https://si0.twimg.com 1
http://paper.li 1
http://a0.twimg.com 1
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Catmandu Librecat Catmandu Librecat Presentation Transcript

    • Kahn-Wilensky Web Handle I search a paper about OAI Repository DC SRU OAI Service Repository DC SRU Provider OAI Repository DC SRU
    • Hypothesis 1: Network & Common SchemaHypothesis 2: Object Oriented DesignHypothesis 3: The Resource is the Message
    • Hypothesis 1. Network & Common Schema Project Database Lund (3) • PhD dissertations • Institutional RepositoryGent (3) • Students Papers • Academic Bibliography • Institutional Repository Image Database • Archive Digitized Materials Bielefeld (5) • PostprintsImaging Workflow • Conference Proceedings • Theses
    • Hypothesis 2: Object Oriented Design• (Complex) Digital Objects• Unique identifiers• Key-Metadata + 1 or more data streams• Metadata schemes invariant over repositories• Specialized data types + service bindings onthese types• Fragmented input• Incomplete• Metadata, Files, Metadata + Files• Many schemas• Simple data types (String, Array, Map) manynative functions on these types
    • Hypothesis 3: The Resource is the Message Kahn-Wilensky Web Handle I search a paper about OAI Repository DC SRU OAI Service Repository DC SRU Provider OAI Repository DC SRU
    • Hypothesis 3: The Researcher is the Message Social Web DNS Dr Müller Google (DC) Repository HTML HTTP Researcher Homepage
    • Project Catmandu
    • Anatomy of Searchdatabase export index def fix def convert filter/map fix index store field def display
    • Import Import from many sourcesAtom CSV DBI JSONMARC OAI SRU importer $obj->each({}) $obj->first() $obj->rest() $obj->select({}) $obj->any({}) $obj->many({})
    • ETL upcase(job);JSON capitalize(first); capitalize(last); capitalize(my.deep.nested.0); upcase(my.deep.nested.0); fix downcase(my.deep.nested.0); substring(my.deep.nested.0,0,2); fix add_field(test); add_field(income,0); add_field(a.0.0.0,1); marc_map(100,my.authors.$append);JSON marc_map(710,my.authors.$append); marc_map(600x,my.subjects.$append); marc_map(008_/35-37,my.language); join_field(colors.0,/);
    • Store Schemaless storage Elastic Solr Search JSON store Mongo DBI DB $obj->add({}) $obj->search() record.title:“rabbit” and record.author.firstName:“peter”record.title any “rabbit” and record.author.firstName any “peter”
    • Favorite Epigram "It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures." Alan J. Perlis $hash $hash->{title}->[1] JSON keys %$hash exists $hash->{isbn} $it->countJSON JSON $it->each( sub { ... } ) JSON JSON JSON $it->any( sub { .. } ) $it->map( sub { ... } ) $it->reduce( sub { ... } )
    • MVC Dancerapp/ |--bin/ |--public/ hello.tt | |-- images/ <html> | |-- css/ <body> | -- javascript/ <h1>[% txt %]</ht> |--views/ [% FOREACH obj IN res %] | -- hello.tt <p>[% obj.title %]</p> --environments/ [% END %] </body> </html> get ‘/hello’ => sub { my $res = store->bag ->search(query => ...) ->reduce( ... ); template ‘hello’ , { res => $res, txt => “Hello, World!”; };
    • Project LibreCat
    • Statistics 22%4.5% 10% 63%
    • Project Plan• Catmandu : Open Source release of our toolkit• LibreCat : Example programs we would like to share • LibreCat-Search : Facetted search engine • LibreCat-Citation : CSL-based citations • LibreCat-Catalog : Institutional Repository • LibreCat-Grim : IIPImage search engine • LibreCat-Archive : Front-End for Fedora • LibreCat-Imaging : Front-End MediaMosa
    • http://librecat.org https://github.com/LibreCathttp://www.slideshare.net/hochstenbach/catmandu-librecat