One Source can be queried on a single term or a grouping of terms. The following sections describe how to construct a One Source query and the search functionality available to SOAP/API users.
Field names must be entered in lower case and must be spelled exactly the way they are in the list below. All fields listed are available for searching.
When performing a search you can either specify a field (e.g., keyword, title, or journal title), or use the default and not specify a field, which will search the following:
You can search any field directly by typing the field name followed by a colon ":" and then the term you are looking for. As an example, if you want to find the document entitled "Advance Africa" which contains the keyword "condom", you can enter:
ti:"Advance Africa" AND kw:"condom"
Note: The field label is only valid for the term that it directly precedes, so the query
ti:Advance Africa
Will only find "Africa" in the title field. It will try and find "Advance" in any the default fields. To search for both words in the title, in any order, you would use the following query:
ti:Advance ti:Africa
You should use the following query in order to get all resources that have the phrase "Advanced Africa" in their title:
ti:"Advance Africa"
One Source SOAP search will support the following fields:
ab: (Abstract, Evaluative Abstract, Pop Reporter Abstract, French Abstract, or Spanish Abstract)
abdesc: (Abstract, Description)
all: (Abstract, Evaluative Abstract, Pop Reporter Abstract, French Abstract, Spanish Abstract, Answer, Author, Corporate Author / Organization, Photo Caption, Audience, Photo Credit, Description, Important Finding Topic, Imprint, Major Keywords,Minor Keywords, Language, MMC Contact, Monographic Information, Photographer, Public Notes, IUE Public Notes, Photo City, Related Project, Question, Region, Subregion, Country, Related External Link, English Title, Journal Title, Non-English Title, or Resource Subtype)
ans: (Answer)
assoc: (Related Internal Resource)
au: (Author, Corporate Author, or Photograher)
cg: (Audience)
ci: (Photo City)
co: (Country)
contact:
dateadded: (Date Record Added to One Source) ote that the value must be in quotes and: can be prepended with >, <, or = otherwise equality is assumed.
desc: (Description)
drc: (Date Record Created) Note that the value must be in quotes and: can be prepended with >, <, or otherwise equality is assumed.
drm: (Date Record Modified) Note that the value must be in quotes and can be prepended with >, <, or = otherwise equality is assumed.
ent: (Entered - looks in Date Record Created) Note that the possible values are: last_30_days, last_60_days, last_90_days.
exp: (Expert Recommended Only - looks in Communities Recommended for field) Note that the possible values are: yes.)
fto: (Full Text Only - which looks in Full Text URL for the existence of a URL) Note that the possible values are: yes
fy: (From Year)
global: (Major Keywords, Minor Keywords, English Title, Photographer, Question, Photo Caption, Corporate Author, Country, or Region) Note that this is the same as if no field designation is used, e.g., AIDS is the same as global:AIDS.
id: (ID Unique to Source Database, Raw Source Resource ID, or IUE Resource ID)
ift: (Important Finding)
img: (Thumbnail Image URL)
imgonly: (Thumbnail Image Only - which looks in Thumbnail Image URL for a non-empty field) Note that the possible values are: yes.
imp: (Imprint)
impmon: (Imprint, Monographic Information)
issue: (Issue)
jt: (Journal Title)
kw: (Major Keywords or Minor Keywords)
kwm: (Major Keyword)
la: (Language)
mi: (Monographic Information)
mmc: (M/MC Contact Name)
no: (Public Notes or IUE Public Notes)
oid: (One Source ID)
orderable: (Orderable - where this item is orderable from)
photographer: (Photographer Name)
pr: (Related Project)
price: (Unit Price)
pro: (Peer Reviewed Journal Indication) Note that the possible values are: yes.
pub: (Year) Possible values are this_year, last_2_years, last_5_years, last_10_years.
qanda: (Question, Answer)
qu: (Question)
rc: (Communities Recommended for)
reg: (Region or Subregion)
res: (Resource Type)
rl: (Related External Link)
rsid: (Raw Source ID)
sc: (Communities Selected for)
ti: (English Title, Non-English Title, Photo Caption)
ty: (To Year)
vol: (Volume)
To perform a multiple character wildcard search use the "*" symbol. Multiple character wildcard searches looks for 0 or more characters at the end of the term. For example, to search for report, reports, or reporter, you can use the search: report*
You must use the wildcard symbol at the end of a term after at least 3 characters. A term may not have more than one wildcard in it.
Boolean operators allow terms to be combined through logic operators. We support AND, OR, and NOT Boolean operators.
The OR operator is the default conjunction operator. The OR operator links two terms and finds a matching document if either of the terms exist in a document. To search for documents that contain either "population report" or just population use the query:
"population report" OR population
The AND operator matches documents where both terms exist anywhere in the text of a single document. To search for documents that contain "population report" and "West Africa" use the query:
"population report" AND "West Africa"
The NOT operator excludes documents that contain the term after NOT. To search for documents that contain "family planning" but not "population" use the query:
"family planning" NOT "population"
Note: The NOT operator cannot be used without other terms. For example, the following search will return no results: NOT "Africa"
Use parentheses to group clauses to form sub queries. This can be very useful if you want to control the boolean logic for a query. To search for either "population" or "family" and "planning" use the query:
(population OR family) AND planning
The default operator precedence is:
INFO makes available two sample clients, one written in PHP using the NuSOAP library, the other written in Python using the SOAPPy module. Both are made avialable without restriction. However, they are intended as sample code only. INFO cannot be responsible for any failures which may occur as a result of their use.
PHP Client using NuSOAP
The PHP client makes use of the NuSOAP library to interact with the server. The client accepts parameters provided in the URL and outputs the result, along with request and response and debugging information, to the screen.
Download the PHP sample client
Python Client using SOAPPy
The Python code below makes use of the SOAPpy module. The code defines a queryServer method which accepts parameters to be sent to the server as a Python dictionary datatype and returns the resulting Python object. Example usage is provided by the if __name__==’__main__’ block, which is executed if the code is executed directly, rather than being imported and utilized by another script. The example code queries for no more than 2 orderable documents for which full text is available, sorted by year in ascending order. Results are then processed printing the resource_id and english_title to the screen.
Download the Python sample client