OpenArXiv Web Service API
|
Method(parameters) |
Description |
|
int HowManyACMClasses(string
aclasstype) |
Returns the number of Publications that belong to the specified aclasstype. |
|
int HowManyArchives(string
archive) |
Returns the number of Publications that belong to the specified archive. |
|
int HowManyCitations(string
pubid) |
Returns how many Publications have been cited by the Publication with the specified pubid. |
|
HowManyMSCClasses (string
mclasstype) |
Returns the number of Publications that belong to the specified mclasstype |
|
HowManyPersons (string
name) |
Returns the number of results produced by a search for a Person named name. |
|
HowManySubjectClasses (string
sclasstype) |
Returns the number of Publications that belong to the specified sclasstype. |
|
HowManyTitles (string
title) |
Returns the number of results produced by a search for a Publication entitled title. |
|
HowManyTitlesByAuthor (string
name) |
Returns the number of Publications authored by name. |
|
RankPersons (string searchname, string actualname) |
In a search for searchname, returns the relevance rank of actualname. |
|
RankPublications (string
title, string pubid) |
Returns the relevance rank of the Publication identified by pubid given a search for title. |
|
ArrayList getACMClasses(string
pubid) |
Returns all aclasstypes that a Publication identified by pubid belongs to. |
|
ArrayList getAllAuthors(string
pubid) |
Returns the names of all authors under whom a Publication identified by pubid was submitted. |
|
ArrayList getAllPublicationsMore(string
name, int startingresult, int numberofresults) |
Given a search for an author’s name, returns the first numberofresults Publications beginning with startingresult that they’ve authored. |
|
ArrayList getArchiveFromTopic(string
topic) |
Returns all archives that belong to a given topic (ex. Physics would return astro-ph, cond-mat, etc.). |
|
ArrayList getMSCClasses(string
pubid) |
Returns all mclasstypes that a Publication identified by pubid belongs to. |
|
Publication
getPublicationInfo(string
pubid) |
Given a pubid, returns all information stored in the Publication class for that pubid. |
|
ArrayList getSubjectClassFromArchive(string
archive) |
Returns all sclasstypes that belong to a given archive (ex. cond-mat would return Condensed Matter, Disordered Systems and Neural Networks, etc.) |
|
ArrayList getSubjectClasses(string
pubid) |
Returns all sclasstypes that a Publication identified by pubid belongs to. |
|
ArrayList matchACMClass(string
aclasstype, int startingresult,
int numberofresults) |
Given a search for an aclasstype, returns the first numberofresults Publications beginning with startingresult that belong to that aclasstype. |
|
ArrayList matchArchive(string
archive, int startingresult, int numberofresults) |
Given a search for an archive, returns the first numberofresults Publications beginning with startingresult that belong to that archive. |
|
ArrayList matchMSCClass(string
mclasstype, int startingresult,
int numberofresults) |
Given a search for an mclasstype, returns the first numberofresults Publications beginning with startingresult that belong to that mclasstype. |
|
ArrayList matchSubjectClass(string
sclasstype, int startingresult,
int numberofresults) |
Given a search for an sclasstype, returns the first numberofresults Publications beginning with startingresult that belong to that sclasstype. |
|
ArrayList searchCitationsMore(string
pubid, int
startingresult, int numberofresults) |
Given a search for a pubid, returns the first numberofresults Publications beginning with startingresult that the given pubid has cited. |
|
ArrayList searchPersons (string
name, int numberofresults) |
Given a search for a person’s name, returns the first numberofresults names beginning with that compare to the input name, sorted by relevance. |
|
ArrayList searchTitlesMore(string
title, int startingresult, int numberofresults) |
Given a search for a Publication’s title, returns the first numberofresults Publications beginning with startingresult that compare to the input title, sorted by relevance. |
Publication Class Variables
OpenArXiv's API defines only one new class, Publication. The variables are listed below:
private string
pubid; // the ID of the Publication (format:
archive+/+year+month+seq with leading zeroes)
private string
archive; // the archive under which the Publication was submitted
private short
year; // The 2-digit year during which the Publication was submitted
private short
month; // The 2-digit month during which the Publication was submitted
private short
seq; // The 3-digit number indicating that this was
the nth Publication submitted during a given month
private string
comments; // Any comments or abstract added in the index of the Publication
(optional)
private string
title; // The title of the Publication
private string journalref; // The journal to which the Publication was submitted (optional)
The only methods defined for this class are set and get methods for each variable, allowing for SOAP request and retrieval.
SOAP Request Format
Visit the Service Page for SOAP request and response information and WSDL file.
Relevance Search Example
Full-Text Indexing is a powerful tool for Microsoft SQL Server (among other Microsoft products) that searches a table for text strings similar (but not necessarily identical) to an input string and assigns a relevance rank between 0 and 1000 based on exactness of a match (results with a rank less than 70 are disregarded). The SQL command for searchTitlesMore is listed below as an example of relevance using FREETEXTTABLE:
sqlCmd.CommandText =
"SELECT top " + numberofresults + " publications.*, ft.rank
FROM publications
INNER JOIN
FREETEXTTABLE(publications, title, '" + title + "') ft
ON publications.pubid = ft.[Key]
WHERE publications.pubid
NOT IN (
SELECT top " + startingresult + " publications.pubid
FROM publications
INNER JOIN
FREETEXTTABLE(publications, title, '" + title + "') ft
ON publications.pubid = ft.[Key]
ORDER BY ft.rank DESC)
ORDER BY ft.rank DESC";
In short, this query takes the input string title, sorts the database by how closely publications.title matches title, then retrieves the result rows that lie between the value startingresult and (startingresult + numberofresults). The query is structured with two numeric parameters so that paging can be implemented (querying the entirety of the publications database sorted by relevance would take an extremely long time!).
One drawback of full-text searching is that it doesn’t appear to recognize minor semantic differences. For example, given a search for ‘Carl Fisher’ with the intent to find the author ‘Karl B. Fisher’, ‘Karl B. Fisher’ won’t be given a higher rank by virtue of the similarity between ‘Carl’ and ‘Karl’.