• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oai Workshop Extended
 

Oai Workshop Extended

on

  • 1,285 views

 

Statistics

Views

Total Views
1,285
Views on SlideShare
1,239
Embed Views
46

Actions

Likes
0
Downloads
5
Comments
0

4 Embeds 46

http://www.ariadne-eu.org 42
http://ariadne-eu.org 2
http://www.slideshare.net 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

    Oai Workshop Extended Oai Workshop Extended Presentation Transcript

    • www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 1
    • OAI workshop: OAI-PMH - Practical session Bram Vandeputte K.U.Leuven ARIADNE www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 1
    • Overview www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 2
    • Overview • How OAI works • Harvesting metadata : the simple way • Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 2
    • Overview • Harvesting metadata : the simple way • SettingHow OAI works target up an OAI-PMH • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 2
    • How OAI works • OAI “VERBS” Service Provider Metadata Provider • Identify H HTTP Request R E • ListMetadataFormats A R (OAI Verb) P • GetRecord V O • ListIdentifiers E OAI OAI S S I • ListRecords T T O • ListSets E HTTP Response R R (Valid XML) Y www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 3
    • GetRecord • Purpose • Returns the metadata for a single item in the form of an OAI record • Parameters • identifier – unique id for item (R) • metadataPrefix – metadata format for the record (R) www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 4
    • ListRecords • Purpose • Retrieves metadata records for multiple items • Parameters • from – start date (O) - greater than or equal to • until – end date (O) - less than or equal to • set – set to harvest from (O) • resumptionToken – flow control mechanism (X) • metadataPrefix – metadata format (R) www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 5
    • ListRecords – from until http://localhost:8080/oaicat/OAIHandler?verb=ListRecords& from=1999-01-15&until=2005-12-31&metadataPrefix=oai_lom UTCdatetime Dates and times are uniformly encoded using ISO8601 and are expressed in UTC throughout the protocol. When time is included, the special UTC designator ("Z") must be used. UTC is implied for dates although no timezone designator is specified. For example, 1957-03-20T20:30:00Z is UTC 8:30:00 PM on March 20th 1957. UTCdatetime is used in both protocol requests and protocol replies, in the way described in the following sections. www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 6
    • ListIdentifiers • Purpose • List headers for all items corresponding to the specified parameters • Parameters • from – start date (O) • until – end date (O) • set – set to harvest from (O) • metadataPrefix – metadata format to list identifiers for (R) • resumptionToken – flow control mechanism (X) www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 7
    • ListSets • Purpose • Provide a listing of sets in which records may be organized (may be hierarchical, overlapping, or flat) • Parameters • None www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 8
    • Overview www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 9
    • Overview ✓ How OAI works • Harvesting metadata : the simple way • Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 9
    • Overview ✓ How OAI works • Harvesting up an OAI-PMH targetway Setting metadata : the simple • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 9
    • Harvesting metadata • the simple way : harvesting through browser • Identify - http://ariadne.cs.kuleuven.be/oaitarget/OAIHandler?verb=Identify • ListMetadataFormats - http://ariadne.cs.kuleuven.be/oaitarget/OAIHandler?verb=ListMetadataFormats • ListRecords - http://ariadne.cs.kuleuven.be/oaitarget/OAIHandler?verb=ListRecords&metadataPrefix=oai_lom - http://ariadne.cs.kuleuven.be/oaitarget/OAIHandler?verb=ListRecords&resumptionToken= • GetRecord - http://ariadne.cs.kuleuven.be/oaitarget/OAIHandler?verb=GetRecord &identifier=oai:ariadne.cs.kuleuven.be:BLKLKP1382&metadataPrefix=oai_lom • ... www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 10
    • Overview www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 11
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way • Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 11
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way • Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 11
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 12
    • Setting up a target Wiki page with detailed instructions : http://ariadne.cs.kuleuven.be/lomi/index.php/Setting_Up_OAI-PMH www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 12
    • OAI-PMH Target Software 2. Mapping Process Repository metadata Repository LOM metadata 1. Get metadata - identifier - lom.general.identifier out of database - title - lom.general.title - url - lom.general.description - project description - lom.technical.location - ... - ... 3. Copy results in OAI-PMH service Repository OAI-PMH result DYNAMO LOM 4. Serve results ARIADNE DYNAMO LOM metadata LOM Harvester DYNAMO metadata Repository LOM metadata metadata www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 13
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 14
    • Setting up a target • Install Java, Ant & apache-tomcat • Set environment vars set JAVA_HOME=C:j2sdk1.5.0 set ANT_HOME=C:apache-ant-1.6.5 set PATH=%JAVA_HOME%bin;%ANT_HOME%bin;%PATH% • Download oaicat source and build cd <your build-dir> type “ant” • Deploy code put “oaicat_5.0/dist/oaicat.war” under “apache-tomcat/webapps/” www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 14
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 15
    • Setting up a target • Testing the target - http://localhost:8080/oaitarget/OAIHandler?verb=Identify - http://localhost:8080/oaitarget/OAIHandler?verb=ListMetadataFormats www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 15
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 16
    • Setting up a target • Binding to example lucene index • Download the index : - http://ariadne.cs.kuleuven.be/MeltSqiOai/OAI/lucene.zip • Extract • open properties file with text editor : - oaicat_5.0/WEB-INF/oaicat.properties • Enter the full path of index under the "LuceneLomCatalog.lucenePath" property • reload the target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 16
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 17
    • Setting up a target • Testing the target - http://localhost:8080/oaitarget/OAIHandler?verb=ListRecords&metadataPrefix=oai_lom - http://localhost:8080/oaitarget/OAIHandler?verb=ListRecords&resumptionToken= - http://localhost:8080/oaitarget/OAIHandler?verb=GetRecord&identifier= oai:oaicat.ariadne.org:CS_LKP_v_3.0_nr_1162 &metadataPrefix=oai_lom www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 17
    • Setting up a target www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 18
    • Setting up a target • Validate the result metadata in the validationService online : • http://ariadne.cs.kuleuven.be/validationService www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 18
    • Overview www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 19
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way ✓ Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 19
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way ✓ Setting up an OAI-PMH target • Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 19
    • Binding it to your DB www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 20
    • Binding it to your DB • Implement /adapt 3 classes : • org.ariadne.oai.server.X.catalog.XCatalog.java ➡ Implements the OAI-PMH verbs • org.ariadne.oai.server.X.catalog.XRecordFactory.java ➡ Creates OAI-PMH headers • org.ariadne.oai.server.X.crosswalk.XCrosswalk.java ➡ Maps arbitrary object to LOM XML object www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 20
    • Binding it to your DB www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 21
    • Binding it to your DB • XCatalog.java • For each “verb” : - get parameters - query database to get matching metadata - parse metadata into java objects (Vector, HashMap, ...) - call RecordFactory and Crosswalk to create records www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 21
    • Binding it to your DB www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 22
    • Binding it to your DB • XRecordFactory.java • Two important methods : - getLocalIdentifier(Object nativeItem); - getDatestamp(Object nativeItem); www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 22
    • Binding it to your DB www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 23
    • Binding it to your DB • XCrosswalk.java • Map fields of your object to LOM XML object : - createMetadata(Object nativeItem); www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 23
    • Overview www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 24
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way ✓ Setting up an OAI-PMH target ✓ Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 24
    • Overview ✓ How OAI works ✓ Harvesting metadata : the simple way ✓ Setting up an OAI-PMH target ✓ Binding your database to the OAI-PMH target • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 24
    • Harvesting metadata - take 2 www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 25
    • Harvesting metadata - take 2 Download ARIADNE harvester : http://www.cs.kuleuven.be/~bramv/oaiharvester.war Wiki page with detailed instructions : http://ariadne.cs.kuleuven.be/lomi/index.php/Harvesting_Metadata www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 25
    • References • http://ariadne.cs.kuleuven.be/lomi/index.php/ Setting_Up_OAI-PMH • http://ariadne.cs.kuleuven.be/lomi/index.php/ Harvesting_Metadata • http://oai.grainger.uiuc.edu/FinalReport/ JCDL_2003_OAI_Intro.ppt • http://www.cs.kuleuven.ac.be/~hmdb/SqiOaiAspect/ • http://www.oclc.org/research/software/oai/cat.htm • http://ariadne.cs.kuleuven.be/validationService www.ariadne-eu.org www.cs.kuleuven.be/~hmdb 26