26
First steps towards First steps towards publishing library data on publishing library data on the the s s emantic emantic w w eb eb ADLUG Users Group Meeting ADLUG Users Group Meeting Venice, 29-31 October, 2008 Venice, 29-31 October, 2008 Ádám Ádám Horváth Horváth NSZL NSZL

First steps towards publishing library data on the semantic web

Embed Size (px)

Citation preview

First steps towards publishing First steps towards publishing library data on the library data on the ssemantic emantic wwebeb

ADLUG Users Group MeetingADLUG Users Group Meeting

Venice, 29-31 October, 2008Venice, 29-31 October, 2008

ÁdámÁdám HorváthHorváth

NSZLNSZL

2 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Statements that can be connected by Statements that can be connected by machinesmachines

The machines can make logical operations The machines can make logical operations on the statementon the statementss

The statements always have three partsThe statements always have three parts– Subject, predicate, objectSubject, predicate, object

The subjects are identified by URIsThe subjects are identified by URIs– Rdf:about=„http://example1.com/VanGogh”Rdf:about=„http://example1.com/VanGogh”

3 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Examples of statementsExamples of statements– Van Gogh is an impressionist painterVan Gogh is an impressionist painter• This statement was published by This statement was published by WikipediaWikipedia

– The Sunflower was created by Van GoghThe Sunflower was created by Van Gogh• This statement was published byThis statement was published by a museum a museum

4 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Why semantic web is good for us?Why semantic web is good for us?– A user searches for impressionist paintingsA user searches for impressionist paintings– The userThe user will find Sunflower although the will find Sunflower although the

museum has never stated that Van Gogh is an museum has never stated that Van Gogh is an impressionist painter impressionist painter

5 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Formulating the statementsFormulating the statements– Resource Description Framework (RDF) Resource Description Framework (RDF)

defines how to make a statementdefines how to make a statement– Statements are also called RDF statementsStatements are also called RDF statements– RDF is still a high level definitionRDF is still a high level definition– The RDF statements can appear as XML The RDF statements can appear as XML

statement, as triples, …statement, as triples, …

6 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

RDF triplesRDF triples

<http://nektar.oszk.hu/bib/8365566> dc:creator "Berneryd, Jan, 1966-„<http://nektar.oszk.hu/bib/8365566> dc:creator "Berneryd, Jan, 1966-„

<http://nektar.oszk.hu/bib/8365566> dc:creator "Sturmark, Christer, 1964-" .<http://nektar.oszk.hu/bib/8365566> dc:creator "Sturmark, Christer, 1964-" .

<http://nektar.oszk.hu/bib/8365566> dc:type <http://nektar.oszk.hu/bib/8365566> dc:type "text" ."text" .

<http://nektar.oszk.hu/bib/8365566> dc:publisher "Stockholm ; Helsingfors : Pagina," .<http://nektar.oszk.hu/bib/8365566> dc:publisher "Stockholm ; Helsingfors : Pagina," .

<http://nektar.oszk.hu/bib/8365566> dc:date <http://nektar.oszk.hu/bib/8365566> dc:date "1994 ;" ."1994 ;" .

7 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

RDF XMLRDF XML

8 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Storing the statementsStoring the statements– In RDF databases (e.g. Jena)In RDF databases (e.g. Jena)

Querying the databaseQuerying the database– LanguageLanguage• SPARQL (W3C standard)SPARQL (W3C standard)

Publishing the statementsPublishing the statements– Endpoint: understands SPARQL and Endpoint: understands SPARQL and

translatetranslatess it to the internal search language of it to the internal search language of the RDF database (e.g. Joseki)the RDF database (e.g. Joseki)

9 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

What is semantic webWhat is semantic web

Surfing the semantic webSurfing the semantic web– MachinesMachines– Humans by the means of RDF Humans by the means of RDF bbrowsersrowsers

10 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

NSZL would like to be part of the NSZL would like to be part of the semantic websemantic web

Follow the rules of Linked Data, as defined Follow the rules of Linked Data, as defined by Tim Berners-Lee in by Tim Berners-Lee in Linked Data - Design Issues, 2006Linked Data - Design Issues, 2006

Implement access to RDF data through Implement access to RDF data through HTTP content negotiationHTTP content negotiation

11 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Linked Data - four rulesLinked Data - four rules

Use URIs as names for thingsUse URIs as names for things– Info:uri:painter:VanGoghInfo:uri:painter:VanGogh

Use HTTP URIs so that people can look up Use HTTP URIs so that people can look up those namesthose names– http://example1.com/VanGoghhttp://example1.com/VanGogh

When someone looks up a name, provide When someone looks up a name, provide useful informationuseful information

Include links to other URIs so that they can Include links to other URIs so that they can discover more thingsdiscover more things

12 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

HTTP URIsHTTP URIs

Every bibliographic and authority record in Every bibliographic and authority record in LibriVision will get assigned a HTTP URI, a LibriVision will get assigned a HTTP URI, a CoolUriCoolUri– http://nektar.oszk.hu/bib/XYZhttp://nektar.oszk.hu/bib/XYZ– http://nektar.oszk.hu/auth/ABC http://nektar.oszk.hu/auth/ABC

Every bibliographic record in our CMS Every bibliographic record in our CMS (called OSZKDK) has already have a (called OSZKDK) has already have a CoolUriCoolUri– http://oszkdk.oszk.hu/DRJ/404http://oszkdk.oszk.hu/DRJ/404

13 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Useful informationUseful information

Example record in the OPAC of OSZKDKExample record in the OPAC of OSZKDK

16 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Useful informationUseful information

Content negotiationContent negotiation::

http://oszkdk.oszk.hu/DRJ/404http://oszkdk.oszk.hu/DRJ/404

GET /DRJ/404GET /DRJ/404Host: oszkdk.oszk.huHost: oszkdk.oszk.huAccept: text/htmlAccept: text/html

17 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Publishing the MARC record on the Publishing the MARC record on the semantic websemantic web

The MARC record has to be translated into The MARC record has to be translated into semantic web statementssemantic web statements

Namely into RDF Dublin Core (RDFDC) Namely into RDF Dublin Core (RDFDC) statementsstatements– RDFDC is defined by DCMIRDFDC is defined by DCMI

RDFDC has to RDFDC has to be be stored in a RDF database stored in a RDF database (e.g. Jena/Joseki)(e.g. Jena/Joseki)

Content negotiation has to be set upContent negotiation has to be set up

18 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Publishing the MARC record on the Publishing the MARC record on the semantic websemantic web

Content negotiation:Content negotiation:

http://oszkdk.oszk.hu/DRJ/404http://oszkdk.oszk.hu/DRJ/404

GET /DRJ/404GET /DRJ/404Host: oszkdk.oszk.huHost: oszkdk.oszk.huAccept: application/rdf+xmlAccept: application/rdf+xml

19 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

ExampleExampless in an RDF browser in an RDF browser

22 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Links to other URIsLinks to other URIs

24 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Authority recordsAuthority records

RDF formatRDF format– Simple Knowledge Organization System Simple Knowledge Organization System

(SKOS)(SKOS)NSZL has already converted the followings NSZL has already converted the followings

into this formatinto this format– Name authorityName authority– Geographical names thesaurusGeographical names thesaurus– Subject term thesaurusSubject term thesaurus

25 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

SKOS exampleSKOS example<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" <skos:Concept rdf:about="http://dev.oszkdk.oszk.hu/auth/1705"><skos:Concept rdf:about="http://dev.oszkdk.oszk.hu/auth/1705"><skos:inScheme <skos:inScheme

rdf:resource="http://www.oszk.hu/authority/person"></skos:inScherdf:resource="http://www.oszk.hu/authority/person"></skos:inScheme>me>

<skos:prefLabel>Jókai Mór</skos:prefLabel><skos:prefLabel>Jókai Mór</skos:prefLabel><skos:altLabel>Jókai Maurus</skos:altLabel><skos:altLabel>Jókai Maurus</skos:altLabel><skos:altLabel>Jokajus, Moras</skos:altLabel><skos:altLabel>Jokajus, Moras</skos:altLabel><skos:altLabel>Sajó</skos:altLabel><skos:altLabel>Sajó</skos:altLabel></skos:Concept></skos:Concept></rdf:RDF></rdf:RDF>

26 First steps towards publishing library data on the Semantic Web - Ádám Horváth - NSZL

Building blocksBuilding blocks

CoolUriCoolUriRDFDCRDFDCSKOSSKOSRDF database and SPARQL interfaceRDF database and SPARQL interfaceContent negotiationContent negotiation