About this Guide

This guide is intended for people who want to find information on repositories and organisations, and who wish to determine if the UK RepositoryNet+ ORI "micro service" can help them to do so.

The guide explains the information available from the ORI, suggests how this might be used, and provides some simple examples of querying the ORI database. Full documentation on the APIs is available in the Technical Manual. The Frequently Asked Questions (FAQs) are provided to clarify the service and the terms under which it may be used.

If you have further questions about the service that are not answered by the guide please contact the EDINA help desk team, or send email direct to: edina@ed.ac.uk

About the Organisation and Repository Identification Service

ORI supports the development, for example, of deposit tools, which take account of organisational services. By providing a rich source of data based on organisation identification, the opportunities for developing products supporting inter-repository services are greatly enhanced.

An important characteristic of the ORI service is that it is a database of organisations which may have a list of repositories as an attribute, as opposed to a database of repositories which have organisations as one of their attributes.

ORI provides access for third parties to the functionality currently used for the identification of organisation and repository information by, for example, the OpenDepot.org client application.

Requests to calls supported by the main API presently provide access to information on circa 24,000 academic organisations and the 3,000 repositories located within those organisations.

Sources of Data for the ORI

The ORI is an edited union of several authoritative and extant data sources, stored in a PostgresSQL database. The sources currently gathered by ORI are:

The addition of further datasources is being considered for future releases of ORI.

Querying the ORI data can return the following data:

The results for repositories can be restricted by repository type(s) and/or accepted content type(s). Results are returned in a number of formats: JSON, XML and simple text.

For example the query: http://ori.edina.ac.uk/api?org=2464&format=text returns all the ORI data for the EDINA provided OpenDepot service in text format.

Using the Application APIs

The ORI service is queried by an application using calls to three APIs: api, get_xxx and list/xxx.

The primary contact point for calls to the ORI is api.

A SPARQL query interface to the data will be provided in a later release of the ORI, however a full dataset can be downloaded as RDF/XML or Turtle Linked Data.

Complete details of the calls supported by all APIs are documented in the Querying the Dataset section of the ORI Technical Manual.

Examples of the main API Calls

In addition to the sample URL based calls illustrated in this section, there are a suite of simple demonstration clients for the ORI APIs (the main api, the get calls, and the list calls), a graphic visualisation, and a very simple client that displays ROAR usage charts for your organisation.

The main API is located at: ori.edina.ac.uk/api. To make sample calls you add various parameters to the end of the url.

You can specify multiple items in each of the parameters:

The following simple calls provide a demonstration of calling this API.

Note that these sample calls return data in a new browser window.

This call passes in values for the ip and format parameters and returns a data object for the IP range in XML format. In this case the call returns data on every organisation within this Class B network at the University of Edinburgh.
This call uses the the org_id of 739 that was in the data returned from the previous query, to list all the information that ORI holds on this organisation.
This call returns what data ORI holds within the geolocation bounded by Latitude 55.9 and Longitude -3.1
Returns all data for organisations within the Network having a repository of type 11, "Learning (Learning and Teaching Objects)".
This call will return details of organisations within the network that have a repository that accepts content of type 11, "Multimedia and audio-visual materials".
This call returns the organisations in the networks and that have repositories which accept content of type 7, "Institutional (Institutional or departmental repositories)".

Examples of get_xxx API Calls

This is a suite of three APIs that are provided to support AJAX auto-completer requests.

All three calls take the same three parameters:

These calls return data on organisations (get_orgs), repositories (get_repos) and networks (get_nets). The following examples provide a demonstration of calling each of these APIs.

Note that these sample calls return data in text format in a new browser window.

Returns a data object in text format for all organisations that have the string "bangladesh" in their name field.
Queries ORI for organisations whose URL contains the string "www.bau." The data object is returned in text format.
Queries ORI for organisations that have the string "City of Glasgow" in their name filed and returns the IP ranges for these. Note that URL is encoded to prevent the spaces in the query string being misunderstood.
Returns the networks that start with "129.215". The field=ip parameter must be passed in otherwise no matches are found.
The same query as in the previous example except that the use of the prototype returns the data as an XHTML unordered list (as per the scriptalicious/prototype requirements), with the for: attribute for each list item set to match EPrints field names.
This query returns details of repositories that have the string "deposit" in their URL field.
Since name is the default search field this query returns details of those repositories that have the string "archive server" in their name.

Examples of list/xxx API Calls

These calls return lists of the codes that can be used when making calls to the main API.

Note that these sample calls return data in XML format in a new browser window

Returns the list of repository type numeric codes that can be used when making queries via the main API type method .
This lists the numeric codes and type of content that repositories accept. Use the numeric content code when calling via the main API content method .
Lists all the countries the dataset knows about: the ISO 3166-1 codes .

Lists all the languages the dataset knows about: the ISO 639 codes .

The following calls all take several minutes to run & write the information to the browser window.
Lists all the organisations within the database.
Lists all the organisations within the database.
Lists all the repositories within the database.

Suggested Uses for ORI

The ORI is a versatile resource as there are no proscribed limits on the use of the data returned, the only limitation being the developer resources that are available to organisations to create applications and services that make use of the data it can provide.

For this reason, ORI is particularly attractive to projects and organisations that are looking to enhance or to extend the functionality of the applications and services they provide or are developing.

Supporting IP based authentication

Since ORI data provides a relationship between an organisation and its IP range(s) it can be used to implement or to improve access and authentication for services. For example:

Listing repositories at an organisation

Although services such as the Registry of Open Access Repositories (ROAR) and the Directory of Open Access Repositories (OpenDOAR) provide a means of finding repositories they do have some limitations:

Locating content specific repositories

Staff in organisations such as universities and research institutes produce and consume significant amounts of scholarly and research material. Locating specific types of content and where material can be deposited can be time consuming.

The ORI APIs support the creation of local HTML forms based applications with type-in completion fields to allow the easy selection of a suitable repository within a given locale.

ORI provides added value as it returns:

Developing maps of repository services

Use of a mapping API together with ORI organisation data to produce online maps containing the location and details of organisations (like this) and repositories for a geographic domain. A mobile mapping version of the application could also be developed.

Frequently Asked Questions

What is ORI?
Organisation and Repository Idenitification (ORI) is an managed "micro service" providing access to an edited union of several authoritative sources of data on organisations and repositories: UKAMF, ROAR, OpenDOAR, Webometrics and WHOIS.
How many organisation records does ORI contain?
At present (Q3, 2012) ORI holds records on 24,000 organisations and over 3,000 repositories located within them.
Who provides the ORI service?
The service is provided as a "micro service" by the UKRepositoryNet+, a JISC initiative being developed by EDINA as a socio-technical infrastructure supporting deposit, curation and exposure of Open Access research literature.
What can ORI be used for?
See the Example Use Cases section earlier in this guide for some possible uses.
How do I use ORI
Although simple manual queries can be made using parameterised URLs from a web browser, access will usually be machine to machine via an application that is developed in-house or as added functionality for an existing application. Typically, the calling application will use an Ajax framework such as jQuery to request data from ORI and present the results to the user.
Are there live examples of using the ORI service that I can study?
The ORI technical manual provides some simple URL based calls to the main API and documents the syntax for these. Experienced application programmers will be able to develop applications on the basis of this information. In-house demonstration clients with code samples to call ORI and format the returned data are available for inspiration.
What restrictions are there on the use of the ORI?
There are no restrictions on access to the main API calls, so anyone may access the service over HTTP.
What licences apply to the ORI data?
All data in the ORI has been harvested from public sources, therefore use of the ORI data is unrestricted.
Who do I contact if I need help or support?
If you require support or further questions about the service that are not answered by this guide or the technical manual please use the UK RepositoryNet+ Helpdesk contact form or send email direct to: support@repositorynet.ac.uk. Doing so will raise a "ticket" in the helpdesk to ensure that the request is dealt with in a consistent manner.
How does ORI gather information on organisations?
Information is harvested from external sources using a set of scripts running on an automated schedule.
What information does ORI hold on an organisation?
Please see the section Data Returns of the technical manual for complete details of the data that ORI returns on organisations, repositories, networks and identities.
Can I trust the organisation data held by ORI?
The database is built from multiple online sources, so there may be inconsistencies. These errors would be present in any call to services such as ROAR or OpenDOAR. Extensive curation procedures both scripted and manual are undertaken on the data to ensure that errors in the data held are kept to an absolute minimum.
How do I report any errors I find in the data?
Please report any errors that you find using the use the UK RepositoryNet+ Helpdesk contact form or send email direct to: support@repositorynet.ac.uk. It would assist in correcting the data if you could include a copy of the returned data in the format that it was requested in e.g. JSON or XML.
Who should I report bugs to?
Bugs or other issues that you encounter when querying the ORI should be reported to the UK RepositoryNet+ Helpdesk who will forward the issue(s) on to the ORI development team for their attention.


ORI was developed by EDINA, with funding from JISC