COCI, the OpenCitations Index of Crossref open DOI-to-DOI references

In a previous series of blog posts we proposed the treatment of bibliographic citations as first-class data entities, permitting citations to be endowed with descriptive properties. In doing so, we outlined some specific requirements, namely that the citations should be machine readable, should conform to a specific data model (in this case the OpenCitations Data Model), should be stored in an accessible database under an open license, and should be identified using global persistent identifiers (specifically Open Citation Identifiers) which are resolvable using an identifier resolution service (namely the Open Citation Identifier Resolution Service).

In this blog post, we introduce COCI, the OpenCitations Index of Crossref open DOI-to-DOI references1, our first open citation index, in which we have applied the concept of citations as first-class data entities to index the contents of one of the major open databases of scholarly citation information, namely Crossref, and to render and make available this information in machine-readable RDF.

Crossref contains metadata about publications (mainly academic journal articles) that are identified using Digital Object Identifiers (DOIs).  For about half of these publications Crossref also stores the reference lists of these articles submitted by the publishers (for discussion of why this is not true for all the publications, see this previous blog post).  Many of these references are to other publications bearing DOIs that are also described in Crossref, while others are to publications that lack DOIs and do not have Crossref descriptions.

COCI is an index of all the open DOI-to-DOI citations present in Crossref, and presently includes more than 300 million citations, obtained by parsing the open reference lists of the articles deposited there. COCI is available at, and is released under a CC0 waiver.  COCI does not index Crossref references that are not open, nor Crossref open references to entities that lack DOIs.

What is an open citation index?

A citation index is a bibliographic index recording citations between publications, allowing the user to establish which later documents cite earlier documents. Several citation indexes are already available, some of which are freely accessible but not downloadable (e.g. Google Scholar), while others can be accessed only by paying significant access fees (e.g. Web of Science and Scopus). An open citation index contains only data about open citations, as defined in [1].

OpenCitations is a scholarly infrastructure organization dedicated to the promotion of semantic publishing by the use of semantic web (linked data) technologies, and engaged in advocacy for semantic publishing and open citations. It provides the OpenCitations Data Model and the SPAR (Semantic Publishing and Referencing) Ontologies for encoding scholarly bibliographic and citation data in RDF, and open software of generic applicability for searching, browsing and providing REST APIs over RDF triplestores. It has developed the OpenCitations Corpus (OCC) of open downloadable bibliographic and citation data recorded in RDF, and a system and resolution service for Open Citation Identifiers (OCIs), and it is currently developing a number of Open Citation Indexes using the data openly available in third-party bibliographic databases.

These Open Citation Indexes have the following characteristics in common:

  1. The citations they contain are all open [1].
  2. The citations are treated as first-class data entities;
  3. Each citation is identified by an Open Citation Identifier (OCI), which has a simple structure: the lower-case letters “oci” followed by a colon, followed by two numbers separated by a dash (e.g. oci:1-18);
  4. The citation metadata are recorded in RDF, based on the OpenCitations Data Model [2];
  5. The RDF statements for each citation record the basic properties shown in the following figure, which is based on the Citation Typing Ontology (CiTO) for describing the data, and the Provenance Ontology (PROV-O) for the provenance information.
The data model used for describing the citation data included in any Open Citation Index.
The data model used for describing the citation data included in any Open Citation Index.

Parsing the Crossref collection

Over the past few months, we have parsed the entire Crossref bibliographic database to extract all the DOI-to-DOI citations included in the dataset, as well as additional information about each citation, specifically its creation date (i.e. the publication date of the citing entity) and the citation time span (i.e. the interval between the publication date of the cited entity and the publication date of the citing entity, to an accuracy determined by these publication dates as recorded in Crossref). These data for the open citations are now made available in COCI.

Each citation is described as an individual of the class cito:Citation and is identified by an URL structured as follows:[[OCI]]

The parameter [[OCI]] refers to the numerical part of the Open Citation Identifier (OCI) assigned to the citation, i.e. two numbers separated by a dash, in which the first number identifies the citing work and the second number identifies the cited work. For instance:

For citations extracted from Crossref in which the citing and cited works are identified by DOIs, which includes all the COCI citations, the OCI is created in the following manner:

  1. Each case-insensitive DOI is first normalized to lower case letters.
  2. Then, after omitting the initial “doi:10.” prefix, the alphanumeric string of the DOI is converted reversibly to a pure numerical string using the simple two-numeral lookup table for numerals, lower case letters and other characters presented at
  3. Finally, each converted numeral is prefixes by a “020”, which indicates that Crossref is the supplier of the original metadata of the citation (as indicated at

Currently COCI contains 316,243,802 citations and 45,145,889 bibliographic resources. We plan to update COCI at least every six months as more open DOI-to-DOI citations appear in Crossref.

How to access the citation data in COCI

All the data in COCI are available for inspection, download and reuse in the following ways.

SPARQL endpoint

By querying the COCI SPARQL endpoint at If you access this URL with a browser, a GUI will be shown, in which is an editable text box that enables the user to compose and execute a SPARQL query. In addition, the COCI SPARQL endpoint can be queried using the REST protocol, e.g. (via curl):

curl -L -H "Accept: text/csv" ""

The above GET call executes the following simple SPARQL query:

PREFIX cito: <>
SELECT ?citation ?creation { 
    ?citation a cito:Citation ; 
        cito:hasCitationCreationDate ?creation 

This query returns the IRI of one citation accompanied by its creation date in CSV format, as shown as follows:


Instead, the following SPARQL query should be used to get the information about a particular citation given its OCI:

PREFIX oci: <>
PREFIX cito: <>
SELECT DISTINCT ?citing ?cited ?creation ?timespan {
oci:02001010806360107050663080702026306630509-02001010806360107050663080702026305630301 a cito:Citation ;
    cito:hasCitingEntity ?citing ;
    cito:hasCitedEntity ?cited ;
    cito:hasCitationCreationDate ?creation ;
    cito:hasCitationTimeSpan ?timespan

In this case, the query will returns the DOI URLs of the citing and cited entities, accompanied by the creation date and the timespan of the citation:


It is worth mentioning that the results can be also returned in JSON (using “Accept: application/json” in the header of the request) or XML (using “Accept: application/xml” in the header of the request). For example, accessing the long URL starting with “https” of the above request with a browser will return an XML document describing the same result.


Citation information may also be retrieved by using the COCI REST API, available and documented at, which has been implemented by means of RAMOSE (the Restful API Manager Over SPARQL Endpoints). Specifically, the COCI REST API makes available a mechanism for getting the citation data:

  • either for all the references to other works appearing in the particular bibliographic entity identified by the input DOI, e.g.;
  • or for all the references appearing in other works to the particular bibliographic entity identified by the input DOI, e.g.;
  • or for the citation identified by the input Open Citation Identifier (OCI), e.g.

If you would like to suggest an additional operation to be included in this API, please use the issue tracker of the COCI API available on GitHub.

Search and browsing interfaces

An interface providing a free text search over the contents of COCI is available at It allows one to search for citation data according to the same operational principles implemented in the REST API discussed above. However, in this case, the result are returned in tabular form through a web interface implemented by means of OSCAR, the OpenCitations RDF Search Application, e.g.

Each OCI returned by the search interface is a clickable link that opens a new descriptive page detailing that citation. These web pages are created by LUCINDA, which is a Javascript-based RDF data browser developed for exposing the statements contained in an RDF triplestore as descriptive human-readable HTML pages, e.g.

Data dumps

The dump of all the citation data available in COCI, including their provenance information, is downloadable from Figshare. These data are available in CSV and N-Triples formats, and each dump has a DOI assigned so as to be citable. Download links are available at A new dump will be made each time COCI is udpated.

By content negotiation

Using the HTTP URI of the individual citations, it is possible to access their representations in different formats: HTML, RDF/XML, Turtle, and JSON-LD. This is possible through a content negotiation mechanism that disambiguates in which format the information about a citation should be returned, by looking at the “Accept” header declared in the request. For instance, accessing the URL will return the citation data in HTML, while the GET request below will return the same information in Turtle:

curl -L -H "Accept: text/turtle" ""


In this blog post we have introduced COCI, the OpenCitations Index of Crossref open DOI-to-DOI references, a citation index which contains more than 310 million open citations created from the ‘Open’ references included in Crossref. We plan soon to extend COCI to additionally include those DOI-to-DOI citations extracted from the ‘Limited’ set of Crossref reference data.


  1. Silvio Peroni and David Shotton (2018). Open Citation: Definition. figshare. DOI:
  2. Silvio Peroni and David Shotton (2018). The OpenCitations Data Model. figshare. DOI:


  1. At Crossref’s request, we have changed the originally proposed description of COCI from “the Crossref Open Citation Index (COCI)” to “COCI, the OpenCitations Index of Crossref open DOI-to-DOI references”, to make clear that COCI is an OpenCitations index and to avoid any implication that COCI is a Crossref service. We apologize for the initial ambiguity of our original wording and any confusion this may have caused.

Cite this blog post
Silvio Peroni (2018, July 12). COCI, the OpenCitations Index of Crossref open DOI-to-DOI references. OpenCitations blog. Retrieved May 19, 2024, from

7 thoughts on “COCI, the OpenCitations Index of Crossref open DOI-to-DOI references”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search OpenEdition Search

You will be redirected to OpenEdition Search