SlideShare a Scribd company logo
1 of 24
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 Schema
Hypothesis 2: Object Oriented Design
Hypothesis 3: The Resource is the Message
Hypothesis 1. Network & Common Schema

 Project Database         Lund (3)
                             • PhD dissertations
                             • Institutional Repository
Gent (3)                     • Students Papers
  • Academic Bibliography
  • Institutional Repository        Image Database
  • Archive Digitized Materials
                Bielefeld (5)
                   • Postprints
Imaging 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 on
these types
• Fragmented input
• Incomplete
• Metadata, Files, Metadata + Files
• Many schemas
• Simple data types (String, Array, Map) many
native 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 Search
database   export
                        index def    fix def


           convert      filter/map    fix


                        index        store


            field def   display
Import
             Import from many sources


Atom   CSV   DBI
                        JSON


MARC   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->count
JSON
 JSON                           $it->each( sub { ... } )
  JSON
   JSON
    JSON                        $it->any( sub { .. } )
                                $it->map( sub { ... } )
                                $it->reduce( sub { ... } )
MVC Dancer
app/
 |--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/LibreCat




http://www.slideshare.net/hochstenbach/catmandu-librecat

More Related Content

What's hot

OSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBOSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBBradley Holt
 
Solr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by CaseSolr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by CaseAlexandre Rafalovitch
 
Querying Riak Just Got Easier - Introducing Secondary Indices
Querying Riak Just Got Easier - Introducing Secondary IndicesQuerying Riak Just Got Easier - Introducing Secondary Indices
Querying Riak Just Got Easier - Introducing Secondary IndicesRusty Klophaus
 
Riak from Small to Large
Riak from Small to LargeRiak from Small to Large
Riak from Small to LargeRusty Klophaus
 
d3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in Berlind3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in BerlinToshiaki Katayama
 
아파트 정보를 이용한 ELK stack 활용 - 오근문
아파트 정보를 이용한 ELK stack 활용 - 오근문아파트 정보를 이용한 ELK stack 활용 - 오근문
아파트 정보를 이용한 ELK stack 활용 - 오근문NAVER D2
 
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverMarco Gralike
 
2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introduction2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introductionantoinegirbal
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBantoinegirbal
 
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverWebinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverMongoDB
 
OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQLLuca Garulli
 
Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDBNate Abele
 
Hands on with Ruby & MongoDB
Hands on with Ruby & MongoDBHands on with Ruby & MongoDB
Hands on with Ruby & MongoDBWynn Netherland
 
Spark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. JyotiskaSpark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. JyotiskaSigmoid
 
"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - ChicagoErik Hatcher
 

What's hot (20)

MongoDB
MongoDBMongoDB
MongoDB
 
OSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBOSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDB
 
Tthornton code4lib
Tthornton code4libTthornton code4lib
Tthornton code4lib
 
Solr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by CaseSolr vs. Elasticsearch - Case by Case
Solr vs. Elasticsearch - Case by Case
 
Querying Riak Just Got Easier - Introducing Secondary Indices
Querying Riak Just Got Easier - Introducing Secondary IndicesQuerying Riak Just Got Easier - Introducing Secondary Indices
Querying Riak Just Got Easier - Introducing Secondary Indices
 
Riak from Small to Large
Riak from Small to LargeRiak from Small to Large
Riak from Small to Large
 
d3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in Berlind3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in Berlin
 
아파트 정보를 이용한 ELK stack 활용 - 오근문
아파트 정보를 이용한 ELK stack 활용 - 오근문아파트 정보를 이용한 ELK stack 활용 - 오근문
아파트 정보를 이용한 ELK stack 활용 - 오근문
 
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
 
2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introduction2011 Mongo FR - MongoDB introduction
2011 Mongo FR - MongoDB introduction
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverWebinar: What's new in the .NET Driver
Webinar: What's new in the .NET Driver
 
OrientDB introduction - NoSQL
OrientDB introduction - NoSQLOrientDB introduction - NoSQL
OrientDB introduction - NoSQL
 
Mongo db queries
Mongo db queriesMongo db queries
Mongo db queries
 
Full metal mongo
Full metal mongoFull metal mongo
Full metal mongo
 
NoSQL Introduction
NoSQL IntroductionNoSQL Introduction
NoSQL Introduction
 
Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDB
 
Hands on with Ruby & MongoDB
Hands on with Ruby & MongoDBHands on with Ruby & MongoDB
Hands on with Ruby & MongoDB
 
Spark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. JyotiskaSpark Dataframe - Mr. Jyotiska
Spark Dataframe - Mr. Jyotiska
 
"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago
 

Viewers also liked

Hill Collection Slide Show
Hill Collection Slide ShowHill Collection Slide Show
Hill Collection Slide ShowJoyce Miller
 
Overview of ePRO
Overview of ePROOverview of ePRO
Overview of ePROchallPHT
 
Trailer Record Sheet Teaser Blindness
Trailer Record Sheet Teaser BlindnessTrailer Record Sheet Teaser Blindness
Trailer Record Sheet Teaser Blindnesschristinacss13
 
The Firm Teaser Record Sheet
The Firm Teaser Record SheetThe Firm Teaser Record Sheet
The Firm Teaser Record Sheetchristinacss13
 
The Firm And Angels And Demons
The Firm And Angels And DemonsThe Firm And Angels And Demons
The Firm And Angels And Demonschristinacss13
 
صور من معرض الرسوم السادس للأطفال
صور من معرض الرسوم السادس للأطفالصور من معرض الرسوم السادس للأطفال
صور من معرض الرسوم السادس للأطفالakhbardk
 
Certification Questionaire
Certification QuestionaireCertification Questionaire
Certification QuestionaireChris Walker
 
صور من إحتفال مسجد طيبة بنهاية العام الدراسي
صور من إحتفال مسجد طيبة بنهاية العام الدراسيصور من إحتفال مسجد طيبة بنهاية العام الدراسي
صور من إحتفال مسجد طيبة بنهاية العام الدراسيakhbardk
 
Animations
AnimationsAnimations
Animationsguru0000
 
La crisis vista por Forges
La crisis vista por ForgesLa crisis vista por Forges
La crisis vista por Forgesguestbe778386
 
All Access
All AccessAll Access
All Accesswfa
 

Viewers also liked (20)

Who Is ACI Sept 2011
Who Is ACI Sept 2011Who Is ACI Sept 2011
Who Is ACI Sept 2011
 
Hill Collection Slide Show
Hill Collection Slide ShowHill Collection Slide Show
Hill Collection Slide Show
 
American Cyanamid New Dealer Program ArgiCenters- Agri Marketing
American Cyanamid New Dealer Program ArgiCenters- Agri MarketingAmerican Cyanamid New Dealer Program ArgiCenters- Agri Marketing
American Cyanamid New Dealer Program ArgiCenters- Agri Marketing
 
20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent
 
Overview of ePRO
Overview of ePROOverview of ePRO
Overview of ePRO
 
Whip it
Whip itWhip it
Whip it
 
Trailer Record Sheet Teaser Blindness
Trailer Record Sheet Teaser BlindnessTrailer Record Sheet Teaser Blindness
Trailer Record Sheet Teaser Blindness
 
Strategy Development BusinessHive.com 2014
Strategy Development BusinessHive.com 2014Strategy Development BusinessHive.com 2014
Strategy Development BusinessHive.com 2014
 
ICSA Presentation Sept 2010
ICSA Presentation   Sept 2010ICSA Presentation   Sept 2010
ICSA Presentation Sept 2010
 
20100306 Datasalon 4 : code4lib
20100306 Datasalon 4 : code4lib20100306 Datasalon 4 : code4lib
20100306 Datasalon 4 : code4lib
 
The Firm Teaser Record Sheet
The Firm Teaser Record SheetThe Firm Teaser Record Sheet
The Firm Teaser Record Sheet
 
The Firm And Angels And Demons
The Firm And Angels And DemonsThe Firm And Angels And Demons
The Firm And Angels And Demons
 
صور من معرض الرسوم السادس للأطفال
صور من معرض الرسوم السادس للأطفالصور من معرض الرسوم السادس للأطفال
صور من معرض الرسوم السادس للأطفال
 
Certification Questionaire
Certification QuestionaireCertification Questionaire
Certification Questionaire
 
صور من إحتفال مسجد طيبة بنهاية العام الدراسي
صور من إحتفال مسجد طيبة بنهاية العام الدراسيصور من إحتفال مسجد طيبة بنهاية العام الدراسي
صور من إحتفال مسجد طيبة بنهاية العام الدراسي
 
Animations
AnimationsAnimations
Animations
 
La crisis vista por Forges
La crisis vista por ForgesLa crisis vista por Forges
La crisis vista por Forges
 
Final presentation
Final presentationFinal presentation
Final presentation
 
All Access
All AccessAll Access
All Access
 
Affinity Marketing Programs and the Association’s Dilemma
Affinity Marketing Programs and the Association’s DilemmaAffinity Marketing Programs and the Association’s Dilemma
Affinity Marketing Programs and the Association’s Dilemma
 

Similar to Catmandu Librecat

NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Hands On Spring Data
Hands On Spring DataHands On Spring Data
Hands On Spring DataEric Bottard
 
ElasticES-Hadoop: Bridging the world of Hadoop and Elasticsearch
ElasticES-Hadoop: Bridging the world of Hadoop and ElasticsearchElasticES-Hadoop: Bridging the world of Hadoop and Elasticsearch
ElasticES-Hadoop: Bridging the world of Hadoop and ElasticsearchMapR Technologies
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBJustin Smestad
 
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaImmutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaAOE
 
Managing Ontologies
Managing OntologiesManaging Ontologies
Managing OntologiesIWMW
 
Introduction to CouchDB
Introduction to CouchDBIntroduction to CouchDB
Introduction to CouchDBOpusVL
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasMapR Technologies
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
 
Nosql hands on handout 04
Nosql hands on handout 04Nosql hands on handout 04
Nosql hands on handout 04Krishna Sankar
 
비동기 회고 발표자료
비동기 회고 발표자료비동기 회고 발표자료
비동기 회고 발표자료Benjamin Kim
 
Dealing with Azure Cosmos DB
Dealing with Azure Cosmos DBDealing with Azure Cosmos DB
Dealing with Azure Cosmos DBMihail Mateev
 
Using elasticsearch with rails
Using elasticsearch with railsUsing elasticsearch with rails
Using elasticsearch with railsTom Z Zeng
 
PuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbqueryPuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbqueryPuppet
 
Introduction to Riak and Ripple (KC.rb)
Introduction to Riak and Ripple (KC.rb)Introduction to Riak and Ripple (KC.rb)
Introduction to Riak and Ripple (KC.rb)Sean Cribbs
 
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...Peter Keane
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 

Similar to Catmandu Librecat (20)

LibreCat::Catmandu
LibreCat::CatmanduLibreCat::Catmandu
LibreCat::Catmandu
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Hands On Spring Data
Hands On Spring DataHands On Spring Data
Hands On Spring Data
 
ElasticES-Hadoop: Bridging the world of Hadoop and Elasticsearch
ElasticES-Hadoop: Bridging the world of Hadoop and ElasticsearchElasticES-Hadoop: Bridging the world of Hadoop and Elasticsearch
ElasticES-Hadoop: Bridging the world of Hadoop and Elasticsearch
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Immutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS LambdaImmutable Deployments with AWS CloudFormation and AWS Lambda
Immutable Deployments with AWS CloudFormation and AWS Lambda
 
Managing Ontologies
Managing OntologiesManaging Ontologies
Managing Ontologies
 
Introduction to CouchDB
Introduction to CouchDBIntroduction to CouchDB
Introduction to CouchDB
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
 
Nosql hands on handout 04
Nosql hands on handout 04Nosql hands on handout 04
Nosql hands on handout 04
 
비동기 회고 발표자료
비동기 회고 발표자료비동기 회고 발표자료
비동기 회고 발표자료
 
Dealing with Azure Cosmos DB
Dealing with Azure Cosmos DBDealing with Azure Cosmos DB
Dealing with Azure Cosmos DB
 
Using elasticsearch with rails
Using elasticsearch with railsUsing elasticsearch with rails
Using elasticsearch with rails
 
PuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbqueryPuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbquery
 
Introduction to Riak and Ripple (KC.rb)
Introduction to Riak and Ripple (KC.rb)Introduction to Riak and Ripple (KC.rb)
Introduction to Riak and Ripple (KC.rb)
 
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
The Role of Atom/AtomPub in Digital Archive Services at The University of Tex...
 
Spl Not A Bridge Too Far phpNW09
Spl Not A Bridge Too Far phpNW09Spl Not A Bridge Too Far phpNW09
Spl Not A Bridge Too Far phpNW09
 
Not your Grandma's XQuery
Not your Grandma's XQueryNot your Grandma's XQuery
Not your Grandma's XQuery
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 

More from Patrick Hochstenbach (18)

Elag2015
Elag2015Elag2015
Elag2015
 
Processing Linked Data with Catmandu
Processing Linked Data with CatmanduProcessing Linked Data with Catmandu
Processing Linked Data with Catmandu
 
The Library in 2050
The Library in 2050The Library in 2050
The Library in 2050
 
20130308 webstrategie
20130308 webstrategie20130308 webstrategie
20130308 webstrategie
 
MARC Died
MARC DiedMARC Died
MARC Died
 
UGent Datacenter of waarom we 140TB kopen
UGent Datacenter of waarom we 140TB kopenUGent Datacenter of waarom we 140TB kopen
UGent Datacenter of waarom we 140TB kopen
 
देवनागरी Devanāgarī
 देवनागरी Devanāgarī  देवनागरी Devanāgarī
देवनागरी Devanāgarī
 
Informatie Aan Zee - TTT E-Research
Informatie Aan Zee - TTT E-ResearchInformatie Aan Zee - TTT E-Research
Informatie Aan Zee - TTT E-Research
 
Informatie Aan Zee - TTT Digital Architecture
Informatie Aan Zee - TTT Digital ArchitectureInformatie Aan Zee - TTT Digital Architecture
Informatie Aan Zee - TTT Digital Architecture
 
ELAG2011 Bootcamp
ELAG2011 BootcampELAG2011 Bootcamp
ELAG2011 Bootcamp
 
Gent_M 2011-04-26
Gent_M 2011-04-26Gent_M 2011-04-26
Gent_M 2011-04-26
 
Biblio
BiblioBiblio
Biblio
 
GREP - Ghent University Repository
GREP - Ghent University RepositoryGREP - Ghent University Repository
GREP - Ghent University Repository
 
Open | Linked | Open Linked data
Open | Linked | Open Linked dataOpen | Linked | Open Linked data
Open | Linked | Open Linked data
 
20100618 Datasalon5 Vooruit Gent
20100618 Datasalon5 Vooruit Gent20100618 Datasalon5 Vooruit Gent
20100618 Datasalon5 Vooruit Gent
 
20091120 Vlengel Maastricht
20091120 Vlengel Maastricht20091120 Vlengel Maastricht
20091120 Vlengel Maastricht
 
Data Salon 3 - Ghent
Data Salon 3 - GhentData Salon 3 - Ghent
Data Salon 3 - Ghent
 
20081007 Workshop BOM-VL WP3
20081007  Workshop BOM-VL WP320081007  Workshop BOM-VL WP3
20081007 Workshop BOM-VL WP3
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Catmandu Librecat

  • 1.
  • 2. Kahn-Wilensky Web Handle I search a paper about OAI Repository DC SRU OAI Service Repository DC SRU Provider OAI Repository DC SRU
  • 3. Hypothesis 1: Network & Common Schema Hypothesis 2: Object Oriented Design Hypothesis 3: The Resource is the Message
  • 4. Hypothesis 1. Network & Common Schema Project Database Lund (3) • PhD dissertations • Institutional Repository Gent (3) • Students Papers • Academic Bibliography • Institutional Repository Image Database • Archive Digitized Materials Bielefeld (5) • Postprints Imaging Workflow • Conference Proceedings • Theses
  • 5. 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 on these types • Fragmented input • Incomplete • Metadata, Files, Metadata + Files • Many schemas • Simple data types (String, Array, Map) many native functions on these types
  • 6. 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
  • 7. Hypothesis 3: The Researcher is the Message Social Web DNS Dr Müller Google (DC) Repository HTML HTTP Researcher Homepage
  • 9. Anatomy of Search database export index def fix def convert filter/map fix index store field def display
  • 10. Import Import from many sources Atom CSV DBI JSON MARC OAI SRU importer $obj->each({}) $obj->first() $obj->rest() $obj->select({}) $obj->any({}) $obj->many({})
  • 11. 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','/');
  • 12. 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”
  • 13. 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->count JSON JSON $it->each( sub { ... } ) JSON JSON JSON $it->any( sub { .. } ) $it->map( sub { ... } ) $it->reduce( sub { ... } )
  • 14. MVC Dancer app/ |--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!”; };
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23. 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
  • 24. http://librecat.org https://github.com/LibreCat http://www.slideshare.net/hochstenbach/catmandu-librecat