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’.