Perseus is working towards making all of its data available according to Linked Data Best Practices. Our first step towards that is to publish stable URIs for citations and texts. These URIs leverage Canonical Text Services URNs, enabling us to take advantage of the CTS data model while still supporting Linked Data standards.
All Perseus data URIs are published under the http://data.perseus.org URI prefix.
Individual citations can be retrieved at URIs which adhere to the following syntax:
http://data.perseus.org/citations/<CTS PASSAGE URN>[/format]
CTS PASSAGE URNs which include subreferences (e.g. urn:cts:greekLit:tlg0012.tlg001.perseus-grc1:1.1@μῆνιν) are not yet supported but will be in the future.
Currently supported data formats for citations are HTML and XML. In the future RDF/XML and JSON-LD may also be supported.
The URI syntax for an entire text, without a citation is
http://data.perseus.orgs/texts/<CTS TEXT URN>[/format]
HTML is the only currently supported format for full text URIs, but the XML format will be available in the future.
Combining CTS and URI standards
This is best illustrated by example.
Identifies the unique resource which is Perseus’ TEI XML version of Homer’s Iliad that is identified in the Perseus CTS inventory as ‘perseus-grc1′. (This TEI XML version was based on the Oxford 1920 edition, which information can currently be found out by looking at the description of the version in the GetCapabilities response, but may soon also be reported in the header of the GetPassage response. But see more below on this topic).
urn:cts:greekLit:tlg0012.tlg001.perseus-grc1:1.1 identifies line 1.1 of this version
If you make a GetPassage request directly to the Perseus CTS API (at http://www.perseus.tufts.edu/hopper/CTS) for this resource you will get back a CTS GetPassage response which contains the TEI XML for line 1.1 of this version.
If you make a GetPassage request directly to the Perseus CTS API (at http://www.perseus.tufts.edu/hopper/CTS) for line 1.1 of the notional work the Iliad (identified by urn:cts:greekLit:tlg0012.tlg001:1.1) you will also get back a CTS GetPassage response which contains the TEI XML for line 1.1 of this same edition, because Perseus has decided to make this specific Greek edition the default version it returns if a version hasn’t specifically been requested. (We don’t currently identify the specific version returned in the GetPassage response, but we will soon).
The stable URI for this specific line of this resource is
If your request for this resource includes an HTTP Accept header which includes text/html then the response is currently an HTTP 302 redirect to the HTML display for the page that contains this line of text in the Perseus interface.
If your request for this resource does NOT indicate via its HTTP Accept header that it accepts text/html, then currently the response is an HTTP 200 that contains the results of the CTS GetPassage request, but we will be changing this to be an HTTP 302 redirect to the GetPassage response, in order to be consistent with linked data recommendations.
We also now support the following alternative request syntax for citations which doesn’t require use of the HTTP Accept header:
If you issue a request for a resource via CTS urn that Perseus does NOT have, you will be redirected (via an HTTP 303 See Other redirect) to the Perseus Catalog. If the requested text is available at that urn in the Catalog, then you be brought directly to the corresponding catalog record, which may contain links to other locations at which you can find the actual text (such as the Internet Archive or Google Books, etc.). Although not yet supported, in the future, if you request a text which is not listed in the catalog, you will be offered the opportunity to add bibliographic information and links for that text to the Catalog.
Adding a subreference (e.g. @μῆνιν) to any of the above requests, when supported, won’t change way the redirect to the response happens.
Stable URIs are also under development for other resources in the Perseus Digital Library. The following table provides a summary.
|Person||http://data.perseus.org/people/||http://data.perseus.org/people/smith:alexander-1||Enabled for Smiths Biography; Others Pending; Support for /xml and /html data format URI extensions also pending.|
|Place||http://data.perseus.org/places/||http://data.perseus.org/places/smith:alexandreia-2||Not yet implemented.|
|Artifact||http://data.perseus.org/artifacts/[sculpture|vase|building|gem|site|coin]/||http://data.perseus.org/artifacts/sculpture/Diadoumenos||Implemented. Support for /xml and /html and /CIDOC data format URI extensions also pending.|
|Citations||http://data.perseus.org/citations/||http://data.perseus.org/citations/urn:cts:greekLit:tlg0012.tlg001:1.1||Beta Implementation. Excludes passage subreferences and not all texts are supported. See CTS API for further details.|
|Text||http://data.perseus.org/texts/||http://data.perseus.org/texts/urn:cts:greekLit:tlg0012.tlg001.perseus-grc1||Implemented, including support for /html format extension. Support for xml format extension pending.|
|Annotations||http://data.perseus.org/annotations/||http://data.perseus.org/annotations/occur/places:pleiades/urn:cts:greekLit:tlg0551.tlg017.perseus-grc1||In Progress. Support for /rdf URI format extension pending.|