1. What is OxPoints?
OxPoints aims to provde full and accurate
geolinking information for the University of Oxford.
The OxPoints dataset consists of names, postal
addresses, web addresses and co-ordinates (latitude
and longitude) for all the departments, colleges and other
buildings/units of the University, along with some of the
relationships between them.
The intent is that these data be usable in a wide
variety of ways, from simple address queries to more
complex maps and mashups.
We encourage all consumers of OxPoints data to join the
mailing list, which you can subscribe to by sending a blank
e-mail to firstname.lastname@example.org. The list is used for service change announcements and user discussion and support.
Queries not suitable for a mailing list can be directed to the OxPoints team at OUCS at email@example.com.
2. What data are stored in OxPoints?
OxPoints is built atop an RDF store, containing descriptions of many entities within the University.
2.1. Types of objects held in OxPoints
Each type of object has its own class in the OxPoints namespace (http://ns.ox.ac.uk/namespace/oxpoints/2009/02/owl#
). We currently have good coverage for the following types:
- Building (for those owned by the University)
- Carpark (for those owned by the University)
Other defined types are:
- Site (a contiguous space containing buildings or other such entities)
- Space (a space within a building, including a set of rooms used for the same function)
- WAP (wireless access point)
- Division (academic or administrative division of the University, e.g. Humanities; Academic Services and University Collections)
- Group (a group of people or team working towards some common goal)
- Image (actually in the FOAF namespace)
2.2. Properties stored in OxPoints
Where possible we use RDF predicates (properties) defined by others as opposed to defining our own.
This facilitates interoperability with other parts of the linked
. We currently make use of the following predicates:
In addition to the above, there are the following OxPoints-specific predicates defined in the OxPoints namespace:
- oxp:occupies - a unit which occupies the building, site, room etc
- oxp:hasOUCSCode - the unique code used by OUCS to refer to a unit [list all OUCS codes]
- oxp:hasOLISCode - the pre-Aleph code used by the Bodleian Libraries to refer to a library [list all OLIS codes]
- oxp:hasOLISAlephCode - the code used by the Bodleian Libraries to refer to a library [list all OLIS Aleph codes]
- oxp:hasOBNCode - the unique code used by Estates to refer to a building/room [list all OBN codes]
- oxp:hasFinanceCode - the unique code used by Finance to refer to a sub-unit or unit (also called a two-three code) [list all Finance codes]
- oxp:hasDivisionCode - the unique code used by Finance to refer to a division [list all Division codes]
- oxp:hasDepartmentCode - the unique code used by Finance to refer to a department [list all Department codes]
- oxp:hasITHomepage - URL for the unit's IT information
- oxp:hasWeblearn - URL for the unit's WebLearn presence
- oxp:primaryPlace - the main building/site occupied by the unit
- oxp:hasLibraryHomepage - URL for the unit's Library homepage
2.3. Time-based queries
OxPoints also holds time-based data, though this is currently not always historically accurate. By adding a date=YYYY-MM-DD query parameter to any query URL, you can request data for that date.
By way of example, consider the Computing Services, which has had three names through the course of its history:
Dates can be given omitting the day or month, in which case they default to the 1st and January, respectively.
3. Querying OxPoints
The data is stored in an RDF datastore and can be accessed
by means of pre-defined query URLs or by constructing more
complex queries using SPARQL.
The OxPoints service is located at
http://oxpoints.oucs.ox.ac.uk/; all queries should be performed relative to this URL.
Queries are constructed from a path (e.g.
/occupies/oucs:oucs/), an optional format extension (e.g.
.kml) and an optional set of query parameters (e.g.
3.1. Query paths
Query paths take one of the following forms:
- Returns all the data held within OxPoints.
- The canonical URI for an resource controlled by OxPoints. Returns a description of that resource.
- Retrieves all entities with the type given by
Identifier may be
an OxPoints ID or one of oucs:
code. Multiple identifiers may be separated with a pipe or vertical bar (
- Returns all
x such that
Identifier is true.
Identifier is as described above.
- Returns all
x such that
x is true.
Identifier is as described above.
Relations can be any of most of the predicates used in OxPoints. For example,
returns all entities called "Keble College".
returns all places occupied by Lincoln College.
3.2. Query parameters
We've already met the
parameter. Other parameters are:
- Filters results to exclude those that have the given predicate defined.
- Extends the filter to take into account indirect properties. For example the location of a room would be inferred to be the same as its containing building.
- Adds a function call around the returned data for when one is utilising JSONP with the
.js format extension.
- Declares the recursion depth when outputting as
3.3. Format extensions
OxPoints can provide data in a number of formats:
.xml - RDF/XML (default if format not specified)
.n3 - Notation3
.nt - N-Triples (a simplified RDF serialization syntax)
.js - Same as
.json but adding a callback given by
jsCallback (which defaults to "oxpoints")
.gpx - GPX waypoints
.tomtom - Data suitable for loading into TomTom satellite navigation devices
.kml - KML (suitable for use with Google Maps and Google Earth)
.txt - Simplified plain text
.csv - Comma-separated values
4. SPARQL endpoint
OxPoints also exposes a SPARQL
endpoint at /sparql
which will return results as per the
W3C SPARQL protocol definition.
SPARQL provides a more expressive way to query OxPoints than can be acheived using the query URLs
[Note: The endpoint currently only supports SELECT
queries; we may
support more at a later date.]