Download presentation
Presentation is loading. Please wait.
Published byLeah Ramos Modified over 11 years ago
1
SRW/U for DSpace Ralph LeVan Research Scientist
2
What is SRW/U A Pair of HTTP-based Text Query Protocols – SRW: Search and Retrieve Web Service – SRU: Search and Retrieve URL Service An alternative to Z39.50
3
The Weaknesses of Classic Z39.50 Not popular with the Web community – Connection-based Sessions – Binary Encoding – Transmitted directly over TCP/IP Complicated
4
The Strengths of Classic Z39.50 Result Sets (a.k.a. Statefulness) Abstraction – Abstract Access Points (Attribute Sets) – Abstract Record Schemas Explain
5
SRW: Search and Retrieve Web Service SOAP (Simple Object Access Protocol) Based – HTTP – XML Records Described in WSDL (Web Service Description Language) 3 Services: SearchRetrieve, Scan and Explain
6
SRW: The Basics Only one database per request String (not structure) based queries Index Sets, not Attribute Sets One Record Syntax (XML)
7
The Explain Request An empty request – E.g. http://alcme.oclc.org/srw/search/SOARhttp://alcme.oclc.org/srw/search/SOAR
8
The Explain Response A description of the database A list of the supported indexes A list of the supported record schemas
9
The SearchRetrieve Request String CQL Query Integer StartRecord Integer MaximumRecords String RecordSchema http://alcme.oclc.org/srw/search/SOAR?query= dog
10
The SearchRetrieve Response ResultSetReference – String resultSetName – Integer resultSetTimeToLive Integer numberOfRecords Records Diagnostics
11
CQL: Common Query Language Loosely based on CCL Search Boolean & Proximity Operators Index Sets & Indexes Truncation Characters *, # & ? Example: dc.title=harry potter or bib1.isbn=123-456-78x
12
The Scan Request String CQL scanClause Integer maximumTerms Integer responsePosition http://alcme.oclc.org/srw/search/SOAR?operati on=scan&scanClause=dog&maximumTerms= 3&responsePosition=3
13
The Scan Response Terms – A term for searching – Possibly a term for displaying – The number of records retrieved by the term Diagnostics
14
Using SRU Send the URL and get the response BufferedReader in = new BufferedReader( new InputStreamReader(new URL(http://alcme.oclc.org/srw/SOAR?query=dog).openStream())); String inputLine=null, response; StringBuffer content=new StringBuffer(); while((inputLine=in.readLine())!=null) content.append(inputLine); response=content.toString();
15
Using SRU Parse the response using String methods int i=response.indexOf(, j=response.indexOf( ), count=Integer.parseInt(response.substring(i+17, j);
16
Using SRU Parse the response using DOM classes DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(record)));
17
Using SRW Get WSDL from server or LOC http://alcme.oclc.org/srw/search/SOAR?wsdl or http://www.loc.gov/z3950/agency/zing/srw/sr w-sample-service.wsdl
18
Using SRW Convert WSDL to code java org.apache.axis.wsdl.WSDL2Java --server- side --skeletonDeploy true srw-sample- service.wsdl
19
Using SRW Write Client SRWSampleServiceLocator service=new SRWSampleServiceLocator(); URL url=new URL("http://alcme.oclc.org/srw/search/SOAR"); SRWPort port=service.getSRW(url); SearchRetrieveRequestType request=new SearchRetrieveRequestType(); request.setQuery(dog"); SearchRetrieveResponseType response= port.searchRetrieveOperation(request); int postings=response.getNumberOfRecords());
20
DSpace Implementation Reads list of Lucene indexes from SRWDatabase.props Converts CQL queries to Lucene queries Gets Dublin Core record from database
21
Installation Get the SRW.war file from http://www.oclc.org/research/software/srw http://www.oclc.org/research/software/srw Start tomcat (to unpack the.war file) Edit the SRWServer.props configuration file Copy the SRWDatabase.props file to your DSpace/config directory Restart tomcat http://yourserver/SRW/search/DSpace
22
SRWServer.props # parameters for the SRW Servlet SRW.Home=d:/Apache Tomcat 4.1/webapps/SRW/ default.database=DSpace resultSetIdleTime=300 db.DSpace.class=ORG.oclc.os.SRW.SRWLuceneDatabase db.DSpace.home=d:/dspace/dspace-1.1/ db.DSpace.configuration=config/SRWDatabase.props
23
Examples http://alcme.oclc.org/srw/search/GSAFD? http://alcme.oclc.org/srw/search/SOAR? http://alcme.oclc.org/srw/search/NDL?
24
Links http://www.loc.gov/srw http://www.loc.gov/z3950/srutest.html http://www.oclc.org/research/software/srw http://staff.oclc.org/~levan/docs/SRWforDSp ace.ppt http://staff.oclc.org/~levan/docs/SRWforDSp ace.ppt
25
& Q uestions A A nswers
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.