Services¶
UriRegistry¶
The central UriRegistry has a single endpoint that can be called.
- GET /references¶
Query the registry to see if and possibly where a URI is in use.
Structure of a response:
query_uri - the URI we’re looking for
- success - Did the registry succeed in querying the underlying
services. Will be True if all requests succeeded, else False.
- has_references - Will be True as soon as one application has at
least one reference to the item in question.
count - How many references were found in total?
applications - A list of all applications that were queries and the results they returned
title - A title for the application
service_url - Url of the application’s references service
uri - Uri of the application. Does not need to be a http uri.
success - Will be True if the request for this application succeeded, else False.
has_references - Will be True if at least one reference was found. If the request failed, this will be None. Not False.
count - Returns the number of references found. If the request failed (success==`False`), this will be None.
items - A list of resoures that have a reference to the URI in question. For performance reasons, a maximum of 5 resources is allowed. If the request failed, this will be None.
title - Title of the resource
uri - Uri of the resource
Example request:
GET /references?uri=http://id.erfgoed.net/foobar/2 Host: uriregistry.org Accept: application/json
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "query_uri": "http://id.erfgoed.net/foobar/2", "success": true, "has_references": true, "count": 8, "applications": [ { "count": 8, "title": "app1", "success": true, "has_references": true, "uri": "http://www.erfgoed.net", "service_url": "http://www.erfgoed.net/references", "items": [ { "name": "itemname1", "uri": "http://www.erfgoed.net/baz/1" }, { "name": "itemname_2", "uri": "http://www.erfgoed.net/baz/10" }, { "name": "itemname_3", "uri": "http://www.erfgoed.net/baz/14" }, { "name": "itemname_4", "uri": "http://www.erfgoed.net/baz/34" } ], }, { "count": null, "title": "app2", "success": false, "has_references": null, "service_url": "http://something.erfgoed.net/references", "uri": "http://something.erfgoed.net", "items": null } ], }
- Query Parameters
uri – The uri of the resource the client wants information on. Required.
- Status Codes
200 OK – The service has a valid answer
400 Bad Request – There’s something wrong with the request, eg. no URI parameter present.
Pyramid_urireferencer¶
Every application that implements pyramid_urireferencer
has the samen
endpoint as the central registry, but with a slightly different response set.
- GET /references¶
Query the application to see if and possibly where a certain URI is in use.
Example request:
GET /references?uri=http://id.erfgoed.net/foobar/2 Host: www.erfgoed.net Accept: application/json
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "count": 8, "title": "app1", "success": true, "has_references": true, "uri": "http://www.erfgoed.net", "service_url": "http://www.erfgoed.net/references", "items": [ { "name": "itemname1", "uri": "http://www.erfgoed.net/baz/1" }, { "name": "itemname2", "uri": "http://www.erfgoed.net/baz/10" }, { "name": "itemname3", "uri": "http://www.erfgoed.net/baz/14" }, { "name": "itemname4", "uri": "http://www.erfgoed.net/baz/34" } ] }
- Query Parameters
uri – The uri of the resource the client wants information on. Required.
- Status Codes
200 OK – The service has a valid answer
400 Bad Request – There’s something wrong with the request, eg. no URI parameter present.