II · 12
Entities Overview
An OpenURL ContextObject has room for six entities. One is required; the other five are optional. Each describes one role in the request.
The OpenURL framework models a request as a set of entities — distinct parties or things that participate in the act of citation and resolution. A ContextObject may contain up to six of them. Only one, the Referent, must be present; the others fill in context if the source has it to share.
The six entities
| Entity | KEV | XML element | Card. | Role |
|---|---|---|---|---|
| Referent | rft | referent | 1 | The resource being referenced |
| ReferringEntity | rfe | referring-entity | 0–1 | The resource containing the reference |
| Requester | req | requester | 0–1 | The party requesting service |
| ServiceType | svc | service-type | 0+ | The kind of service requested |
| Resolver | res | resolver | 0+ | The target resolver |
| Referrer | rfr | referrer | 0–1 | The system that generated the ContextObject |
Describing an entity
Every entity may be described in three ways — by metadata, by identifier, by reference — and the three may be combined freely. The KEV form uses the entity prefix to attach the description to the right entity:
rft_val_fmt=info:ofi/fmt:kev:mtx:journal
&rft.atitle=Some+Article+Title
&rft.jtitle=Some+Journal
&rft_id=info:doi/10.0000/example
&rfr_id=info:sid/example.com:source
The prefix is the same six abbreviations as above: rft, rfe, req, svc, res, rfr.
What you typically see in practice
In SAP1-conforming traffic — that is, in almost every OpenURL emitted today — the entities present are usually only:
- Referent (always), with at least
rft_val_fmtand eitherrft_idor severalrft.*descriptors. - Referrer, identified by
rfr_id=info:sid/<source>to name the originating database.
Less commonly, you may see a Requester (req_id) used to convey institutional context, or a ReferringEntity (rfe_id) carrying a DOI for the page or record from which the reference originates. ServiceType and Resolver are rare in HTTP-GET By-Value traffic and are more often found in XML ContextObjects.