1. What is OxPoints?
OxPoints aims to provide 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 email@example.com 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 IT Services 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:
- Site (a contiguous space containing buildings or other such entities)
Other defined types are:
- Space (a space within a building, including a set of rooms used for the same function)
- 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 data web. We currently make use of the following predicates:
- foaf:depiction - an image associated with a unit or place.
- foaf:logo - used for the University/College crest images
- vCard:adr - the postal or street address
- dcterms:isPartOf - for subdepartments and places contained within other places.
- owl:sameAs - linking to other representations of the same concept
- geo:lat - the latitude of the entity
- geo:long - the longitude of the entity
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 IT Services' registration database to refer to a unit [list all IT Services' registration unit 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 https://oxpoints.oucs.ox.ac.uk/ ; all queries should be performed relative to this URL (or the equivalent on plain HTTP).
Queries are constructed from a path (e.g. /oucs:itserv/occupies), an optional format extension (e.g. .kml) and an optional set of query parameters (e.g. ?date=1999).
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 TypeName
- Identifier may be an OxPoints ID or one of oucs:code, olis:code, obn:code, finance:code. Multiple identifiers may be separated with a pipe or vertical bar (|).
- Returns all x such that x relation Identifier is true. Identifier is as described above.
- Returns all x such that Identifier relation x is true. Identifier is as described above.
Relations can be any of most of the predicates used in OxPoints. For example, /title/Keble+College returns all entities called "Keble College". /oucs:linc/occupies returns all places occupied by Lincoln College.
3.2. Query parameters
We've already met the date= 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 .json or .js.
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
- All information about the unit with OUCS code 'kebl' (Keble College), in JSON format
- All information about the unit with finance code 'E2' (the IT Services), in RDF/XML format
- All information about the unit with OLIS code 'BOD' (the Bodleian Library), in RDF/XML format
- All information about the Holder Building (number 154)
- All departments in KML
- Exeter, Jesus and Lincoln Colleges, selected using their IT Services' registration database unit codes.
- All libraries and museums in Notation3 format.
- Everything occupied by either Engineering Science or Biochemistry in Notation3 format.
- JSON for autocompleting a unit field in an online form.