SlideShare a Scribd company logo
1 of 31
Download to read offline
Processing Linked Data
with
Catmandu
Patrick Hochstenbach | UGent
http://librecat.org
Processing Linked Data with Catmandu | http://librecat.org
LUND
GHENT
BIELEFELD
Processing Linked Data with Catmandu | http://librecat.org
RATIONALE
Processing Linked Data with Catmandu | http://librecat.org
KAHN-WILENSKI WEB
HANDLE
SERVICE
PROVIDER
REPOSITORY
REPOSITORY
I search a paper 	
about...
Processing Linked Data with Catmandu | http://librecat.org
Hypothesis 1: one network with a common schema
Hypothesis 2: object-oriented design
Hypothesis 3: the resource is the message
Processing Linked Data with Catmandu | http://librecat.org
Hypothesis 1: one network with a common schema
GOOGLE EUROPEANA
OPENAIRE CRIS
Videos
Images
Books
Data sets
Processing Linked Data with Catmandu | http://librecat.org
Hypothesis 2: object-oriented design
Drive
Race
Park
Economy Compact
Minivan
Convertible
Wheel
Half car
Bicycle
Zeppelin
Processing Linked Data with Catmandu | http://librecat.org
Hypothesis 3: the resource researcher is the message
DNS
GOOGLE
REPOSITORY
CLOUD
Dr. Müller
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT/CATMANDU
Processing Linked Data with Catmandu | http://librecat.org
CATMANDU
PubMed
MARC
MODS
EXCEL
DSPACE
Fedora
SRU
OAI-PMH
DBI
ISI Twitter
DBI
Atom
EXCEL
RDF
JSON
XML
Solr
ElasticSearch
MongoDB
Fedora
Aleph
Fix
Processing Linked Data with Catmandu | http://librecat.org
FUNCTIONAL DESIGN
JSON
}
each
slice
take
group
select
map
reduce
add_field
join_field
lookup
remove_field
marc_mab
count
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT
Institutional Repositories
Search Engines
Image Databases
Archival Systems
Data cleaning workbench
Citation Style Processor
Processing Linked Data with Catmandu | http://librecat.org
CATMANDU
catmandu convert MARC to JSON < records.mrc
catmandu convert OAI --url http://server/OAI to JSON
catmandu convert SRU --url http://server/SRU --query dna to JSON
catmandu convert DBI --query ‘SELECT * FROM table’ to JSON
catmandu convert MARC to JSON < records.mrc
catmandu convert OAI --url http://server/OAI to XML
catmandu convert SRU --url http://server/SRU --query dna to YAML
catmandu convert ArXiv --query ‘all:electron’ to CSV
CONVERT
Processing Linked Data with Catmandu | http://librecat.org
CATMANDU
catmandu convert X to Y --fix ‘marc_map(“245”,”title”)’
catmandu convert X to Y --fix ‘prepend(“title”,”abcd-”)’
catmandu convert X toY --fix fixes.txt
fixes.txt:
remove_field(“_id”);
marc_map(“001”, “merge.id”);
prepend(“merge.id”, “author:”);
add_field(“merge.source”,”author”);
copy_field(“merge.id”,”_id”);
FIX
set_field add_field move_field copy_field remove_field
upcase downcase capitalize trim substring prepend append
lookup lookup_in_store
count
cmd
split_field join_field retain_field replace_all collapse expand clone
if_all_match if_any_match if_exists
Processing Linked Data with Catmandu | http://librecat.org
CATMANDU
catmandu import JSON to MongoDB --opt ... --opt ...
catmandu import MARC to ElasticSearch
catmandu import DC to FedoraCommons
catmandu import CSV to DBI
catmandu export MongoDB to JSON
catmandu export Solr to YAML
catmandu export DBI to CSV
catmandu export FedoraCommons to Template --template test.tt
test.tt: (TemplateToolKit)
[%- FOREACH f IN record %]
[% _id %] [% f.shift %][% f.shift %][% f.shift %][% f.join(“:”) %]
[%- END %]
IMPORT / EXPORT
Processing Linked Data with Catmandu | http://librecat.org
CATMANDU
https://metacpan.org/pod/Catmandu
https://github.com/LibreCat/Catmandu
http://librecat.org/tutorial/
http://librecat.org/catmandu/2013/06/21/catmandu-cheat-sheet.html
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT http://biblio.ugent.be
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT http://pub.uni-bielefeld.de/en
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT http://adore.ugent.be
Processing Linked Data with Catmandu | http://librecat.org
LIBRECAT http://libnew.ugent.be
Processing Linked Data with Catmandu | http://librecat.org
Architecture
FEDORA
MEDIAMOSA
VLE BIBLIO SCANNING
RECEIVE
ALEPH ABS
CLOUD
DEDUP/MERGE/AUGMENT
BLACKLIGHT
Processing Linked Data with Catmandu | http://librecat.org
LINKED DATA
Processing Linked Data with Catmandu | http://librecat.org
PRODUCTION
CATALOG
MARC
245 $$a ... $$b
260 $$a ...
700 $$a ...
JSON/YAML
LINKED DATA
Processing Linked Data with Catmandu | http://librecat.org
STAGE 1: CATALOG to MARC
CATALOG
MARC
245 $$a ... $$b
260 $$a ...
700 $$a ...
$ catmandu export ALEPH to MARC
Processing Linked Data with Catmandu | http://librecat.org
STAGE 2: MARC to JSON
MARC
245 $$a ... $$b
260 $$a ...
700 $$a ...
JSON/YAML
Processing Linked Data with Catmandu | http://librecat.org
MARC
245 $$a ... $$b
260 $$a ...
700 $$a ...
JSON/YAML
STAGE 2: MARC to JSON
Tolstoj, Lev Nikolaevič,
Author
War and peace /
Title
1952.
Publication Year
Napoleonic Wars,
Subject
Processing Linked Data with Catmandu | http://librecat.org
STAGE 2: MARC to JSON
MARC
245 $$a ... $$b
260 $$a ...
700 $$a ...
JSON/YAML
Tolstoj, Lev Nikolaevič,
War and peace /
1952.
Napoleonic Wars,
Author
Title
Year
Subject
Tolstoj, Lev Nikolaevič
War and peace
1952
Napoleonic Wars
Author
Title
Year
Subject
FIX
Processing Linked Data with Catmandu | http://librecat.org
STAGE 3a: JSON to RDF
JSON/YAML
LINKED DATA
Tolstoj, Lev Nikolaevič
War and peace
1952
Napoleonic Wars
Author
Title
Year
Subject
?
Tolstoj, Lev Nikolaevič
War and peace
1952
Napoleonic Wars
dc:creator
dc:title
dc:date
dc:subject
FIX
Processing Linked Data with Catmandu | http://librecat.org
JSON/YAML
LINKED DATA
STAGE 3a: JSON to RDF
<http://example.org/000000008>
	 <http://purl.org/dc/elements/1.1/creator> “Tolstoj, Lev Nikolaevič”;
	 <http://purl.org/dc/elements/1.1/title> “War and peace” ;
<http://purl.org/dc/elements/1.1/date> “1952” ;
<http://purl.org/dc/elements/1.1/subject> “Napoleonic Wars” ;
	 a <http://www.europeana.eu/schemas/edm/Book> .
FIX
RDF/Turtle
http://demo.librecat.org/
Processing Linked Data with Catmandu | http://librecat.org
STAGE 3b: RDF to Linked Data
JSON/YAML
LINKED DATA
<http://example.org/000000008>
	 <http://purl.org/dc/elements/1.1/creator> “Tolstoj, Lev Nikolaevič”;
	 <http://purl.org/dc/elements/1.1/title> “War and peace” ;
<http://purl.org/dc/elements/1.1/date> “1952” ;
<http://purl.org/dc/elements/1.1/subject> “Napoleonic Wars” ;
	 a <http://www.europeana.eu/schemas/edm/Book> .
<http://example.org/000000008>
	 <http://purl.org/dc/elements/1.1/creator> <http://viaf.org/viaf/96987389>;
	 <http://purl.org/dc/elements/1.1/title> “War and peace” ;
<http://purl.org/dc/elements/1.1/date> “1952” ;
<http://purl.org/dc/elements/1.1/subject> <http://dbpedia.org/page/Napoleonic_
Wars> ;
	 a <http://www.europeana.eu/schemas/edm/Book> .
FIX
Processing Linked Data with Catmandu | http://librecat.org
THANK YOU
Nicolas Steenlant
Nicolas Franck Snorri Briem
Jörgen Eriksson
Maria Hedberg
Dave Sheroman
Friedrich Summann
Najko Jahn
Vitali Peil
Petra Kohorst
Christian Pietsch
Mathias Lösch
Johan RolschewskiJakob Voß
UGENT
LUND
BIELEFELD
GBV STAATSBIBLIOTHEK ZU BERLIN
Wouter Willaert
INUITS

More Related Content

What's hot

Flagis linked open_data_stijn_goedertier
Flagis linked open_data_stijn_goedertierFlagis linked open_data_stijn_goedertier
Flagis linked open_data_stijn_goedertierFlagis VZW
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFJose Emilio Labra Gayo
 
XESLite - Handling Event Logs in ProM
XESLite - Handling Event Logs in ProMXESLite - Handling Event Logs in ProM
XESLite - Handling Event Logs in ProMFelix Mannhardt
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataRoberto García
 
3 Google Operators
3 Google Operators3 Google Operators
3 Google Operatorsaptwano
 

What's hot (6)

Flagis linked open_data_stijn_goedertier
Flagis linked open_data_stijn_goedertierFlagis linked open_data_stijn_goedertier
Flagis linked open_data_stijn_goedertier
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDF
 
XESLite - Handling Event Logs in ProM
XESLite - Handling Event Logs in ProMXESLite - Handling Event Logs in ProM
XESLite - Handling Event Logs in ProM
 
Data recovery using pg_filedump
Data recovery using pg_filedumpData recovery using pg_filedump
Data recovery using pg_filedump
 
Triplificating and linking XBRL financial data
Triplificating and linking XBRL financial dataTriplificating and linking XBRL financial data
Triplificating and linking XBRL financial data
 
3 Google Operators
3 Google Operators3 Google Operators
3 Google Operators
 

Viewers also liked

Cost Seg Presentation For Upload Mar 29 09
Cost Seg Presentation For Upload Mar 29 09Cost Seg Presentation For Upload Mar 29 09
Cost Seg Presentation For Upload Mar 29 09guestecc153
 
Poradnik Jak promować się w media społecznościowych dla Przedsiębiorców
Poradnik Jak promować się w media społecznościowych dla PrzedsiębiorcówPoradnik Jak promować się w media społecznościowych dla Przedsiębiorców
Poradnik Jak promować się w media społecznościowych dla PrzedsiębiorcówSławomir Stańczuk
 
Transportaion Of Biologics Tlsse
Transportaion Of Biologics TlsseTransportaion Of Biologics Tlsse
Transportaion Of Biologics TlsseSamEid
 
2ST.net Corporate Overview 2012
2ST.net Corporate Overview 20122ST.net Corporate Overview 2012
2ST.net Corporate Overview 2012chohl
 
L'email per le organizzazioni politiche
L'email per le organizzazioni politicheL'email per le organizzazioni politiche
L'email per le organizzazioni politicheClaudio Alberti
 
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS Chris Walker
 
Alfresco Share
Alfresco ShareAlfresco Share
Alfresco Sharerwarsito
 
The Firm And Angels And Demons
The Firm And Angels And DemonsThe Firm And Angels And Demons
The Firm And Angels And Demonschristinacss13
 
Adam and Dans Geevor Presentation
Adam and Dans Geevor PresentationAdam and Dans Geevor Presentation
Adam and Dans Geevor Presentationgeevor_museum
 
La promozione nei motori di ricerca
La promozione nei motori di ricercaLa promozione nei motori di ricerca
La promozione nei motori di ricercaClaudio Alberti
 
Presenatation for evaluation ciara harry george megan
Presenatation for evaluation ciara harry george meganPresenatation for evaluation ciara harry george megan
Presenatation for evaluation ciara harry george meganrobbienn45
 

Viewers also liked (20)

20130308 webstrategie
20130308 webstrategie20130308 webstrategie
20130308 webstrategie
 
Cost Seg Presentation For Upload Mar 29 09
Cost Seg Presentation For Upload Mar 29 09Cost Seg Presentation For Upload Mar 29 09
Cost Seg Presentation For Upload Mar 29 09
 
Poradnik Jak promować się w media społecznościowych dla Przedsiębiorców
Poradnik Jak promować się w media społecznościowych dla PrzedsiębiorcówPoradnik Jak promować się w media społecznościowych dla Przedsiębiorców
Poradnik Jak promować się w media społecznościowych dla Przedsiębiorców
 
Transportaion Of Biologics Tlsse
Transportaion Of Biologics TlsseTransportaion Of Biologics Tlsse
Transportaion Of Biologics Tlsse
 
Job Order Contracting Journeys to China - CJE Newsletter fall 2008
Job Order Contracting Journeys to China - CJE Newsletter fall 2008Job Order Contracting Journeys to China - CJE Newsletter fall 2008
Job Order Contracting Journeys to China - CJE Newsletter fall 2008
 
Final presentation
Final presentationFinal presentation
Final presentation
 
5
55
5
 
5
55
5
 
Twice As Much Incentive - Sales and Marketing Mag 2002
Twice As Much Incentive - Sales and Marketing Mag 2002Twice As Much Incentive - Sales and Marketing Mag 2002
Twice As Much Incentive - Sales and Marketing Mag 2002
 
New AgriCenter Program Overview Farm Chemicals Mag
New AgriCenter Program Overview Farm Chemicals MagNew AgriCenter Program Overview Farm Chemicals Mag
New AgriCenter Program Overview Farm Chemicals Mag
 
2ST.net Corporate Overview 2012
2ST.net Corporate Overview 20122ST.net Corporate Overview 2012
2ST.net Corporate Overview 2012
 
L'email per le organizzazioni politiche
L'email per le organizzazioni politicheL'email per le organizzazioni politiche
L'email per le organizzazioni politiche
 
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS
Presentation Slides for Keynote Address ... SUCCESS AND HAPPINESS
 
Idea Lab Harvard
Idea Lab HarvardIdea Lab Harvard
Idea Lab Harvard
 
Alfresco Share
Alfresco ShareAlfresco Share
Alfresco Share
 
The Firm And Angels And Demons
The Firm And Angels And DemonsThe Firm And Angels And Demons
The Firm And Angels And Demons
 
Adam and Dans Geevor Presentation
Adam and Dans Geevor PresentationAdam and Dans Geevor Presentation
Adam and Dans Geevor Presentation
 
Incentive Cards Explained - Incentive Mag Dec 1995
Incentive Cards Explained - Incentive Mag Dec 1995Incentive Cards Explained - Incentive Mag Dec 1995
Incentive Cards Explained - Incentive Mag Dec 1995
 
La promozione nei motori di ricerca
La promozione nei motori di ricercaLa promozione nei motori di ricerca
La promozione nei motori di ricerca
 
Presenatation for evaluation ciara harry george megan
Presenatation for evaluation ciara harry george meganPresenatation for evaluation ciara harry george megan
Presenatation for evaluation ciara harry george megan
 

Similar to Processing Linked Data with Catmandu

Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...
Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...
Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...Thomas Gottron
 
Dataframes in Spark - Data Analysts' perspective
Dataframes in Spark - Data Analysts' perspectiveDataframes in Spark - Data Analysts' perspective
Dataframes in Spark - Data Analysts' perspectiveMarcin Szymaniuk
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectEnrico Daga
 
Linked open data sandwich
Linked open data sandwichLinked open data sandwich
Linked open data sandwichThimo Thoeye
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of DataRinke Hoekstra
 
ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON Padma shree. T
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Enrico Daga
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...MongoDB
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsDr. Neil Brittliff
 
Elasticsearch intro output
Elasticsearch intro outputElasticsearch intro output
Elasticsearch intro outputTom Chen
 
A Mapping-based Method to Query MongoDB Documents with SPARQL
A Mapping-based Method to Query MongoDB Documents with SPARQLA Mapping-based Method to Query MongoDB Documents with SPARQL
A Mapping-based Method to Query MongoDB Documents with SPARQLFranck Michel
 
Knot.x 1.X / 2.0 roadmap
Knot.x 1.X / 2.0 roadmapKnot.x 1.X / 2.0 roadmap
Knot.x 1.X / 2.0 roadmapTomasz Michalak
 
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Codemotion
 
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Codemotion
 
Oop vs functional stop the fight and start building message driven serverle...
Oop vs functional   stop the fight and start building message driven serverle...Oop vs functional   stop the fight and start building message driven serverle...
Oop vs functional stop the fight and start building message driven serverle...Alessandro Confetti
 
Culture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data LandCulture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data Landval.cartei
 
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...Ralf Stockmann
 
Making Use of the Linked Data Cloud: The Role of Index Structures
Making Use of the Linked Data Cloud: The Role of Index StructuresMaking Use of the Linked Data Cloud: The Role of Index Structures
Making Use of the Linked Data Cloud: The Role of Index StructuresThomas Gottron
 

Similar to Processing Linked Data with Catmandu (20)

Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...
Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...
Leveraging the Web of Data: Managing, Analysing and Making Use of Linked Open...
 
Dataframes in Spark - Data Analysts' perspective
Dataframes in Spark - Data Analysts' perspectiveDataframes in Spark - Data Analysts' perspective
Dataframes in Spark - Data Analysts' perspective
 
Spark3
Spark3Spark3
Spark3
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything Project
 
Linked open data sandwich
Linked open data sandwichLinked open data sandwich
Linked open data sandwich
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
Where is the World is my Open Government Data?
Where is the World is my Open Government Data?Where is the World is my Open Government Data?
Where is the World is my Open Government Data?
 
ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON ACADGILD:: HADOOP LESSON
ACADGILD:: HADOOP LESSON
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
 
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
 
Elasticsearch intro output
Elasticsearch intro outputElasticsearch intro output
Elasticsearch intro output
 
A Mapping-based Method to Query MongoDB Documents with SPARQL
A Mapping-based Method to Query MongoDB Documents with SPARQLA Mapping-based Method to Query MongoDB Documents with SPARQL
A Mapping-based Method to Query MongoDB Documents with SPARQL
 
Knot.x 1.X / 2.0 roadmap
Knot.x 1.X / 2.0 roadmapKnot.x 1.X / 2.0 roadmap
Knot.x 1.X / 2.0 roadmap
 
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
 
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...Alessandro Confetti - Oop vs functional: stop the fight and start building me...
Alessandro Confetti - Oop vs functional: stop the fight and start building me...
 
Oop vs functional stop the fight and start building message driven serverle...
Oop vs functional   stop the fight and start building message driven serverle...Oop vs functional   stop the fight and start building message driven serverle...
Oop vs functional stop the fight and start building message driven serverle...
 
Culture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data LandCulture Geeks Feb talk: Adventures in Linked Data Land
Culture Geeks Feb talk: Adventures in Linked Data Land
 
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...
Controlled Vocabularies and Text Mining - Use Cases at the Goettingen State a...
 
Making Use of the Linked Data Cloud: The Role of Index Structures
Making Use of the Linked Data Cloud: The Role of Index StructuresMaking Use of the Linked Data Cloud: The Role of Index Structures
Making Use of the Linked Data Cloud: The Role of Index Structures
 

More from Patrick Hochstenbach (20)

Elag2015
Elag2015Elag2015
Elag2015
 
The Library in 2050
The Library in 2050The Library in 2050
The Library in 2050
 
MARC Died
MARC DiedMARC Died
MARC Died
 
LibreCat::Catmandu
LibreCat::CatmanduLibreCat::Catmandu
LibreCat::Catmandu
 
Catmandu Librecat
Catmandu LibrecatCatmandu Librecat
Catmandu Librecat
 
Catmandu / LibreCat Project
Catmandu / LibreCat ProjectCatmandu / LibreCat Project
Catmandu / LibreCat Project
 
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
 
20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent20100831 igelu mobilise_ugent
20100831 igelu mobilise_ugent
 
20100618 Datasalon5 Vooruit Gent
20100618 Datasalon5 Vooruit Gent20100618 Datasalon5 Vooruit Gent
20100618 Datasalon5 Vooruit Gent
 
20100306 Datasalon 4 : code4lib
20100306 Datasalon 4 : code4lib20100306 Datasalon 4 : code4lib
20100306 Datasalon 4 : code4lib
 
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
 

Recently uploaded

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Processing Linked Data with Catmandu

  • 1. Processing Linked Data with Catmandu Patrick Hochstenbach | UGent http://librecat.org
  • 2. Processing Linked Data with Catmandu | http://librecat.org LUND GHENT BIELEFELD
  • 3. Processing Linked Data with Catmandu | http://librecat.org RATIONALE
  • 4. Processing Linked Data with Catmandu | http://librecat.org KAHN-WILENSKI WEB HANDLE SERVICE PROVIDER REPOSITORY REPOSITORY I search a paper about...
  • 5. Processing Linked Data with Catmandu | http://librecat.org Hypothesis 1: one network with a common schema Hypothesis 2: object-oriented design Hypothesis 3: the resource is the message
  • 6. Processing Linked Data with Catmandu | http://librecat.org Hypothesis 1: one network with a common schema GOOGLE EUROPEANA OPENAIRE CRIS Videos Images Books Data sets
  • 7. Processing Linked Data with Catmandu | http://librecat.org Hypothesis 2: object-oriented design Drive Race Park Economy Compact Minivan Convertible Wheel Half car Bicycle Zeppelin
  • 8. Processing Linked Data with Catmandu | http://librecat.org Hypothesis 3: the resource researcher is the message DNS GOOGLE REPOSITORY CLOUD Dr. Müller
  • 9. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT/CATMANDU
  • 10. Processing Linked Data with Catmandu | http://librecat.org CATMANDU PubMed MARC MODS EXCEL DSPACE Fedora SRU OAI-PMH DBI ISI Twitter DBI Atom EXCEL RDF JSON XML Solr ElasticSearch MongoDB Fedora Aleph Fix
  • 11. Processing Linked Data with Catmandu | http://librecat.org FUNCTIONAL DESIGN JSON } each slice take group select map reduce add_field join_field lookup remove_field marc_mab count
  • 12. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT Institutional Repositories Search Engines Image Databases Archival Systems Data cleaning workbench Citation Style Processor
  • 13. Processing Linked Data with Catmandu | http://librecat.org CATMANDU catmandu convert MARC to JSON < records.mrc catmandu convert OAI --url http://server/OAI to JSON catmandu convert SRU --url http://server/SRU --query dna to JSON catmandu convert DBI --query ‘SELECT * FROM table’ to JSON catmandu convert MARC to JSON < records.mrc catmandu convert OAI --url http://server/OAI to XML catmandu convert SRU --url http://server/SRU --query dna to YAML catmandu convert ArXiv --query ‘all:electron’ to CSV CONVERT
  • 14. Processing Linked Data with Catmandu | http://librecat.org CATMANDU catmandu convert X to Y --fix ‘marc_map(“245”,”title”)’ catmandu convert X to Y --fix ‘prepend(“title”,”abcd-”)’ catmandu convert X toY --fix fixes.txt fixes.txt: remove_field(“_id”); marc_map(“001”, “merge.id”); prepend(“merge.id”, “author:”); add_field(“merge.source”,”author”); copy_field(“merge.id”,”_id”); FIX set_field add_field move_field copy_field remove_field upcase downcase capitalize trim substring prepend append lookup lookup_in_store count cmd split_field join_field retain_field replace_all collapse expand clone if_all_match if_any_match if_exists
  • 15. Processing Linked Data with Catmandu | http://librecat.org CATMANDU catmandu import JSON to MongoDB --opt ... --opt ... catmandu import MARC to ElasticSearch catmandu import DC to FedoraCommons catmandu import CSV to DBI catmandu export MongoDB to JSON catmandu export Solr to YAML catmandu export DBI to CSV catmandu export FedoraCommons to Template --template test.tt test.tt: (TemplateToolKit) [%- FOREACH f IN record %] [% _id %] [% f.shift %][% f.shift %][% f.shift %][% f.join(“:”) %] [%- END %] IMPORT / EXPORT
  • 16. Processing Linked Data with Catmandu | http://librecat.org CATMANDU https://metacpan.org/pod/Catmandu https://github.com/LibreCat/Catmandu http://librecat.org/tutorial/ http://librecat.org/catmandu/2013/06/21/catmandu-cheat-sheet.html
  • 17. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT http://biblio.ugent.be
  • 18. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT http://pub.uni-bielefeld.de/en
  • 19. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT http://adore.ugent.be
  • 20. Processing Linked Data with Catmandu | http://librecat.org LIBRECAT http://libnew.ugent.be
  • 21. Processing Linked Data with Catmandu | http://librecat.org Architecture FEDORA MEDIAMOSA VLE BIBLIO SCANNING RECEIVE ALEPH ABS CLOUD DEDUP/MERGE/AUGMENT BLACKLIGHT
  • 22. Processing Linked Data with Catmandu | http://librecat.org LINKED DATA
  • 23. Processing Linked Data with Catmandu | http://librecat.org PRODUCTION CATALOG MARC 245 $$a ... $$b 260 $$a ... 700 $$a ... JSON/YAML LINKED DATA
  • 24. Processing Linked Data with Catmandu | http://librecat.org STAGE 1: CATALOG to MARC CATALOG MARC 245 $$a ... $$b 260 $$a ... 700 $$a ... $ catmandu export ALEPH to MARC
  • 25. Processing Linked Data with Catmandu | http://librecat.org STAGE 2: MARC to JSON MARC 245 $$a ... $$b 260 $$a ... 700 $$a ... JSON/YAML
  • 26. Processing Linked Data with Catmandu | http://librecat.org MARC 245 $$a ... $$b 260 $$a ... 700 $$a ... JSON/YAML STAGE 2: MARC to JSON Tolstoj, Lev Nikolaevič, Author War and peace / Title 1952. Publication Year Napoleonic Wars, Subject
  • 27. Processing Linked Data with Catmandu | http://librecat.org STAGE 2: MARC to JSON MARC 245 $$a ... $$b 260 $$a ... 700 $$a ... JSON/YAML Tolstoj, Lev Nikolaevič, War and peace / 1952. Napoleonic Wars, Author Title Year Subject Tolstoj, Lev Nikolaevič War and peace 1952 Napoleonic Wars Author Title Year Subject FIX
  • 28. Processing Linked Data with Catmandu | http://librecat.org STAGE 3a: JSON to RDF JSON/YAML LINKED DATA Tolstoj, Lev Nikolaevič War and peace 1952 Napoleonic Wars Author Title Year Subject ? Tolstoj, Lev Nikolaevič War and peace 1952 Napoleonic Wars dc:creator dc:title dc:date dc:subject FIX
  • 29. Processing Linked Data with Catmandu | http://librecat.org JSON/YAML LINKED DATA STAGE 3a: JSON to RDF <http://example.org/000000008> <http://purl.org/dc/elements/1.1/creator> “Tolstoj, Lev Nikolaevič”; <http://purl.org/dc/elements/1.1/title> “War and peace” ; <http://purl.org/dc/elements/1.1/date> “1952” ; <http://purl.org/dc/elements/1.1/subject> “Napoleonic Wars” ; a <http://www.europeana.eu/schemas/edm/Book> . FIX RDF/Turtle http://demo.librecat.org/
  • 30. Processing Linked Data with Catmandu | http://librecat.org STAGE 3b: RDF to Linked Data JSON/YAML LINKED DATA <http://example.org/000000008> <http://purl.org/dc/elements/1.1/creator> “Tolstoj, Lev Nikolaevič”; <http://purl.org/dc/elements/1.1/title> “War and peace” ; <http://purl.org/dc/elements/1.1/date> “1952” ; <http://purl.org/dc/elements/1.1/subject> “Napoleonic Wars” ; a <http://www.europeana.eu/schemas/edm/Book> . <http://example.org/000000008> <http://purl.org/dc/elements/1.1/creator> <http://viaf.org/viaf/96987389>; <http://purl.org/dc/elements/1.1/title> “War and peace” ; <http://purl.org/dc/elements/1.1/date> “1952” ; <http://purl.org/dc/elements/1.1/subject> <http://dbpedia.org/page/Napoleonic_ Wars> ; a <http://www.europeana.eu/schemas/edm/Book> . FIX
  • 31. Processing Linked Data with Catmandu | http://librecat.org THANK YOU Nicolas Steenlant Nicolas Franck Snorri Briem Jörgen Eriksson Maria Hedberg Dave Sheroman Friedrich Summann Najko Jahn Vitali Peil Petra Kohorst Christian Pietsch Mathias Lösch Johan RolschewskiJakob Voß UGENT LUND BIELEFELD GBV STAATSBIBLIOTHEK ZU BERLIN Wouter Willaert INUITS