DH ATLAS REST API

Version: 0.0.1 (2025-08-01)
API URL: https://atlas-prin2022-api.cloud.d4science.org/api/v1
Contact: giorgia.rubin@ilc.cnr.it
License: This document is licensed with a Creative Commons Attribution 4.0 International License, while the REST API itself has been created using RAMOSE, the Restful API Manager Over SPARQL Endpoints created by Silvio Peroni, which is licensed with an ISC license. All the data returned by this API are made freely available under a Creative Commons public domain dedication (CC0).

Description back to top

This is the REST API for DH ATLAS, the Atlas of Italian Digital Cultural Heritage — a knowledge graph that maps international scholarly research related to Italian Cultural Heritage. The dataset provides structured metadata describing research products and projects within this domain. All the presented operations return documents in JSON format. If you wish to suggest additional functionalities for this API, please contact us.

Parameters back to top

Parameters can be used to filter and control the results returned by the API. They are passed as normal HTTP parameters in the URL of the call. They are:

  1. require=<field_name>: all the rows that have an empty value in the <field_name> specified are removed from the result set - e.g. require=given_name removes all the rows that do not have any string specified in the given_name field.

  2. filter=<field_name>:<operator><value>: only the rows compliant with <value> are kept in the result set. The parameter <operation> is not mandatory. If <operation> is not specified, <value> is interpreted as a regular expression, otherwise it is compared by means of the specified operation. Possible operators are "=", "<", and ">". For instance, filter=title:semantics? returns all the rows that contain the string "semantic" or "semantics" in the field title, while filter=date:>2016-05 returns all the rows that have a date greater than May 2016.

  3. sort=<order>(<field_name>): sort in ascending (<order> set to "asc") or descending (<order> set to "desc") order the rows in the result set according to the values in <field_name>. For instance, sort=desc(date) sorts all the rows according to the value specified in the field date in descending order.

  4. format=<format_type>: the final table is returned in the format specified in <format_type> that can be either "csv" or "json" - e.g. format=csv returns the final table in CSV format. This parameter has higher priority of the type specified through the "Accept" header of the request. Thus, if the header of a request to the API specifies Accept: text/csv and the URL of such request includes format=json, the final table is returned in JSON.

  5. json=<operation_type>("<separator>",<field>,<new_field_1>,<new_field_2>,...): in case a JSON format is requested in return, tranform each row of the final JSON table according to the rule specified. If <operation_type> is set to "array", the string value associated to the field name <field> is converted into an array by splitting the various textual parts by means of <separator>. For instance, considering the JSON table [ { "names": "Doe, John; Doe, Jane" }, ... ], the execution of array("; ",names) returns [ { "names": [ "Doe, John", "Doe, Jane" ], ... ]. Instead, if <operation_type> is set to "dict", the string value associated to the field name <field> is converted into a dictionary by splitting the various textual parts by means of <separator> and by associating the new fields <new_field_1>, <new_field_2>, etc., to these new parts. For instance, considering the JSON table [ { "name": "Doe, John" }, ... ], the execution of dict(", ",name,fname,gname) returns [ { "name": { "fname": "Doe", "gname": "John" }, ... ].

It is possible to specify one or more filtering operation of the same kind (e.g. require=given_name&require=family_name). In addition, these filtering operations are applied in the order presented above - first all the require operation, then all the filter operations followed by all the sort operation, and finally the format and the json operation (if applicable). It is worth mentioning that each of the aforementioned rules is applied in order, and it works on the structure returned after the execution of the previous rule.

Example: <api_operation_url>?require=doi&filter=date:>2015&sort=desc(date).

Operations back to top

The operations that this API implements are:

/records back to operations

This operation retrieves descriptive metadata for each dataset included in the DH ATLAS knowledge graph.

The fields returned by this operation are:

Multiple values for each field are concatenated using " || " as a separator.

Accepted HTTP method(s) get

Parameter(s)

Result fields typedataset (str), names (str), descriptions (str), creators (str), contributors (str), publishers (str), languages (str), educationalUses (str), distributions (str), urls (str), producers (str), additionalType (str), datePublished (datetime), conditionsOfAccess (str)

Example/records

Exemplar output (in JSON)

[
        {
        "dataset": "https://w3id.org/dh-atlas/1729185052-855823",
        "names": "VaSto - Varchi, Storia fiorentina Digital Edition",
        "descriptions": "The Storia fiorentina by Benedetto Varchi (1503-1565) is presented as a genetic and annotated digital edition. It has been encoded following the TEI (Text Encoding Initiative) standard and made accessible through the EVT2 visualization software, which facilitates reading and exploring annotated texts.",
        "creators": "https://w3id.org/dh-atlas/1729185527-9907804 || https://w3id.org/dh-atlas/1729185781-6054392 || https://w3id.org/dh-atlas/1728943988-693 || https://w3id.org/dh-atlas/1729184595-8947213",
        "contributors": "https://w3id.org/dh-atlas/1729185987-532705 || https://w3id.org/dh-atlas/1729186168-953735 || https://w3id.org/dh-atlas/1729185884-2858903",
        "publishers": "https://w3id.org/dh-atlas/1729185609-482096",
        "languages": "http://publications.europa.eu/resource/authority/language/ITA",
        "educationalUses": "https://vocabs.dariah.eu/tadirah/structuralAnalysis || https://vocabs.dariah.eu/tadirah/contentAnalysis",
        "distributions": "https://github.com/ValentinaPasqual/ProgettoVasto/blob/master/evt2beta2/data/text/pilot_proemio.xml",
        "urls": "https://dharc-org.github.io/progetto-vasto/index.html",
        "producers": "https://w3id.org/dh-atlas/1729272121-9284637",
        "additionalType": "https://w3id.org/dh-atlas/DigitalScholarlyEdition",
        "datePublished": "2020-01-01",
        "conditionsOfAccess": "http://purl.org/coar/access_right/c_abf2"
    },
    {
        "dataset": "https://w3id.org/dh-atlas/1729187122-1272922",
        "names": "Voyant tools",
        "descriptions": "Voyant Tools is a web-based text reading and analysis environment. It is a free suite of in-browser text analysis tools designed to facilitate reading and interpretive practices for digital humanities students and scholars as well as for the general public.",
        "creators": "https://w3id.org/dh-atlas/1729188763-9748292 || https://w3id.org/dh-atlas/1729188871-7909553",
        "contributors": "https://w3id.org/dh-atlas/1729188865-017393 || https://w3id.org/dh-atlas/1729189344-7268312 || https://w3id.org/dh-atlas/1729190469-6318252 || https://w3id.org/dh-atlas/1729190508-1462588 || https://w3id.org/dh-atlas/1729190550-8474212 || https://w3id.org/dh-atlas/1729190593-8739011 || https://w3id.org/dh-atlas/1729190637-1519997 || https://w3id.org/dh-atlas/1729190688-9406993 || https://w3id.org/dh-atlas/1729190727-838245",
        "publishers": "https://w3id.org/dh-atlas/1729185478-0480285",
        "languages": "http://publications.europa.eu/resource/authority/language/ENG || http://publications.europa.eu/resource/authority/language/ITA || http://publications.europa.eu/resource/authority/language/ARA || http://publications.europa.eu/resource/authority/language/CES || http://publications.europa.eu/resource/authority/language/DEU || http://publications.europa.eu/resource/authority/language/BOS || http://publications.europa.eu/resource/authority/language/FRA || http://publications.europa.eu/resource/authority/language/JPN || http://publications.europa.eu/resource/authority/language/POR || http://publications.europa.eu/resource/authority/language/HRV || http://publications.europa.eu/resource/authority/language/RUS || http://publications.europa.eu/resource/authority/language/SRP || http://publications.europa.eu/resource/authority/language/HEB",
        "educationalUses": "https://vocabs.dariah.eu/tadirah/discovering || https://vocabs.dariah.eu/tadirah/contentAnalysis || https://vocabs.dariah.eu/tadirah/structuralAnalysis || https://vocabs.dariah.eu/tadirah/visualAnalysis",
        "distributions": "https://github.com/voyanttools/VoyantServer/archive/refs/tags/2.6.14.zip",
        "urls": "https://voyant-tools.org/",
        "producers": "",
        "additionalType": "https://w3id.org/dh-atlas/Software",
        "datePublished": "2016-01-01",
        "conditionsOfAccess": "http://purl.org/coar/access_right/c_abf2"
    }
]

/classes/{pid} back to operations

This operation retrieves the RDF classes to which a given resource belongs within the DH ATLAS knowledge graph. The input parameter pid must be a valid URI identifying a resource in the graph.

The field returned by this operation is:

This operation is useful for understanding the semantic classification of a resource, such as whether it is a Dataset, a DigitalScholarlyEdition, or another defined type.

Accepted HTTP method(s) get

Parameter(s) pid: type str, regular expression shape https://w3id\.org/dh-atlas/.+

Result fields typeclasses (str)

Example/classes/https://w3id.org/dh-atlas/1743001460-3508337

Exemplar output (in JSON)

[
    {
        "classes": "https://schema.org/Dataset;  https://w3id.org/dh-atlas/DigitalScholarlyEdition"
    }
]

/labels/{pid} back to operations

This operation retrieves the label (i.e., the title or name) of a resource in the DH ATLAS knowledge graph. The input parameter pid must be a valid URI identifying a resource in the graph.

The field returned by this operation is:

This operation is useful for retrieving a human-readable name for a resource, which can be used in user interfaces, summaries, or listings.

Accepted HTTP method(s) get

Parameter(s) pid: type str, regular expression shape https://w3id\.org/dh-atlas/.+

Result fields typelabel (str)

Example/labels/https://w3id.org/dh-atlas/1743001460-3508337

Exemplar output (in JSON)

[
  {
  "head" : {
    "vars" : [ "label" ]
  },
  "results" : {
    "bindings" : [ {
      "label" : {
        "xml:lang" : "en",
        "type" : "literal",
        "value" : "The Betrothed (PhiloEditor)"
      }
    } ]
  }
}
]

/stats/entities back to operations

This operation retrieves the total number of distinct entities recorded in the DH ATLAS knowledge graph.

The field returned by this operation is:

This operation provides a quick overview of the graph’s size and is useful for monitoring its growth or for statistical reporting.

Accepted HTTP method(s) get

Parameter(s)

Result fields typecount (str)

Example/stats/entities

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "count" ]
  },
  "results" : {
    "bindings" : [ {
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "242"
      }
    } ]
  }
}
]

/stats/projects back to operations

This operation retrieves the total number of research projects recorded in the DH ATLAS knowledge graph.

The field returned by this operation is:

This operation is useful for gaining insight into the volume of scholarly research initiatives documented in DH ATLAS.

Accepted HTTP method(s) get

Parameter(s)

Result fields typecount (str)

Example/stats/projects

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "count" ]
  },
  "results" : {
    "bindings" : [ {
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "14"
      }
    } ]
  }
}
]

/stats/products back to operations

This operation retrieves the total number of research products recorded in the DH ATLAS knowledge graph.

The field returned by this operation is:

This operation is useful for assessing the volume of documented research outputs and for generating statistical summaries of the dataset.

Accepted HTTP method(s) get

Parameter(s)

Result fields typecount (str)

Example/stats/products

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "count" ]
  },
  "results" : {
    "bindings" : [ {
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "37"
      }
    } ]
  }
}
]

/stats/organizations back to operations

This operation retrieves the total number of organizations recorded in the DH ATLAS knowledge graph.

The field returned by this operation is:

This operation is useful for understanding the institutional landscape represented in DH ATLAS and for generating statistical summaries of participating entities.

Accepted HTTP method(s) get

Parameter(s)

Result fields typecount (str)

Example/stats/organizations

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "count" ]
  },
  "results" : {
    "bindings" : [ {
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "73"
      }
    } ]
  }
}
]

/stats/persons back to operations

This operation retrieves the total number of researchers recorded in the DH ATLAS knowledge graph.

The field returned by this operation is:

This operation is useful for understanding the human dimension of the research landscape represented in DH ATLAS and for generating statistical summaries of individual contributors.

Accepted HTTP method(s) get

Parameter(s)

Result fields typecount (str)

Example/stats/persons

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "count" ]
  },
  "results" : {
    "bindings" : [ {
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "98"
      }
    } ]
  }
}
]

/stats/organizations/by-location back to operations

This operation retrieves the number of organizations recorded in the DH ATLAS knowledge graph, grouped by their associated geographical location.

The fields returned by this operation are:

This operation is useful for analyzing the geographical distribution of institutions involved in research on Italian digital cultural heritage.

Accepted HTTP method(s) get

Parameter(s)

Result fields typegeonames (str), label (str), count (str)

Example/stats/organizations/by-location

Exemplar output (in JSON)

[
  {
  "head" : {
    "vars" : [ "geonames", "label", "count" ]
  },
  "results" : {
    "bindings" : [{
      "geonames" : {
        "type" : "uri",
        "value" : "https://sws.geonames.org/6141256"
      },
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Saskatoon"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "1"
      }
    } ]
  }
}
]

/stats/products/by-additional-type back to operations

This operation retrieves the number of research products, grouped by their respective class ordered in descending order by count.

The fields returned by this operation are:

This operation is useful for analyzing the typological distribution of research outputs in the DH ATLAS knowledge graph.

Accepted HTTP method(s) get

Parameter(s)

Result fields typelabel (str), count (str)

Example/stats/products/by-additional-type

Exemplar output (in JSON)

[
{
  "head" : {
    "vars" : [ "label", "count" ]
  },
  "results" : {
    "bindings" : [ {
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Digital Scholarly Edition"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "17"
      }
    }, {
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Linked Open Data"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "6"
      }
    }, {
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Software"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "5"
      }
    }, {
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Text Collection"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "5"
      }
    }, {
      "label" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#string",
        "type" : "literal",
        "value" : "Ontology"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "4"
      }
    } ]
  }
}
]

/stats/products/by-organization back to operations

This operation retrieves the number of research products recorded in the DH ATLAS knowledge graph, grouped by the organization responsible for their production, ordered in descending order by count.

The fields returned by this operation are:

This operation is useful for analyzing the institutional contribution to research on Italian digital cultural heritage and for identifying key producers within the DH ATLAS dataset.

Accepted HTTP method(s) get

Parameter(s)

Result fields typelabel (str), count (str)

Example/stats/products/by-organization

Exemplar output (in JSON)

[
  {
  "head" : {
    "vars" : [ "label", "count" ]
  },
  "results" : {
    "bindings" : [ {
      "label" : {
        "type" : "literal",
        "value" : "/DH.ARC - Digital Humanities Advanced Research Centre "
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "5"
      }
    }, {
      "label" : {
        "type" : "literal",
        "value" : "Ca' Foscari University of Venice"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "3"
      }
    }, {
      "label" : {
        "type" : "literal",
        "value" : "University of Pisa"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "2"
      }
    }, {
      "label" : {
        "type" : "literal",
        "value" : "Laboratorio di Cultura Digitale (Università di Pisa)"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "2"
      }
    }, {
      "label" : {
        "type" : "literal",
        "value" : "University of Basilicata"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "2"
      }
    }, {
      "label" : {
        "type" : "literal",
        "value" : "University of Bologna"
      },
      "count" : {
        "datatype" : "http://www.w3.org/2001/XMLSchema#integer",
        "type" : "literal",
        "value" : "2"
      }
    } ]
  }
}
]