SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

3 Google Operators
3 Google Operators3 Google Operators
3 Google Operators
aptwano
 

Was ist angesagt? (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
 

Andere mochten auch

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
guestecc153
 
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
Sławomir Stańczuk
 
2ST.net Corporate Overview 2012
2ST.net Corporate Overview 20122ST.net Corporate Overview 2012
2ST.net Corporate Overview 2012
chohl
 
Alfresco Share
Alfresco ShareAlfresco Share
Alfresco Share
rwarsito
 
The Firm And Angels And Demons
The Firm And Angels And DemonsThe Firm And Angels And Demons
The Firm And Angels And Demons
christinacss13
 
Adam and Dans Geevor Presentation
Adam and Dans Geevor PresentationAdam and Dans Geevor Presentation
Adam and Dans Geevor Presentation
geevor_museum
 
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
robbienn45
 

Andere mochten auch (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
 

Ähnlich wie 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
 
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
 
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
 

Ähnlich wie 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
 

Mehr von Patrick Hochstenbach

Informatie Aan Zee - TTT E-Research
Informatie Aan Zee - TTT E-ResearchInformatie Aan Zee - TTT E-Research
Informatie Aan Zee - TTT E-Research
Patrick Hochstenbach
 
Informatie Aan Zee - TTT Digital Architecture
Informatie Aan Zee - TTT Digital ArchitectureInformatie Aan Zee - TTT Digital Architecture
Informatie Aan Zee - TTT Digital Architecture
Patrick Hochstenbach
 
GREP - Ghent University Repository
GREP - Ghent University RepositoryGREP - Ghent University Repository
GREP - Ghent University Repository
Patrick Hochstenbach
 

Mehr von 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
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

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