Introduction

Linked Open Data is a way of publishing structured data that allows metadata to be connected and enriched, so that different representations of the same content can be found, and links made between related resources. All Europeana datasets can be explored and queried through a SPARQL endpoint.

The metadata for all the objects in the Europeana portal is open, in that it is all licensed under the CC0 Public Domain Dedication under the terms of the Data Exchange Agreement (DEA), and can be freely downloaded via the API.

Linked Open Data - What is it? from Europeana on Vimeo (also en Français, auf Deutsch, in Italiano and en Español )

The data is represented in the Europeana Data Model (EDM). The described resources are each addressable and dereferenceable by their URIs; for instance, http://data.europeana.eu/item/92056/BibliographicResource_1000093324568 leads either to an HTML page on the Europeana portal for the object it identifies or to raw, machine-processable data on this object. Please see the technical details and the animation above for background on our motivation.

If you have any questions or feedback, contact us on the Europeana LOD group

History

The data.europeana.eu started as an experimental pilot in February 2012 with a small number of data providers who committed at an early stage to Europeana's initiative of promoting more open data. The project has been described in a paper presented at the Dublin Core 2011 conference. In October 2012, a large subset of the Europeana’s dataset (metadata on 20 million texts, images, videos and sounds) was transformed into linked data and made available from data.europeana.eu. More recently within the Europeana Creative project, a new pilot was developed and hosted by Ontotext Corp. containing the full Europeana dataset at the time (metadata on about 36 million).

SPARQL Endpoint

Europeana datasets can be explored, accessed and downloaded through the SPARQL endpoint available at http://sparql.europeana.eu/sparql. The data can be downloaded in JSON or RDF.

The SPARQL endpoint reflects the current state of the Europeana datasets as in the portal europeana.eu and is regularly updated.

The terms of use and external data sources appearing at data.europeana.eu are provided on the Europeana Data sources page.

How to use the SPARQL endpoint

Things to know before starting

  • Europeana data is represented as a triple:
<subject> <predicate> <object>

Each subject, predicate and an object represent a node within Europeana’s network of resources. These statements are usually represented as URIs to which certain labels might correspond.

For instance

<http://data.europeana.eu/item/2021604/C2D27CB79870761BE291A3FACAB963F62D7CA39B> <http://purl.org/dc/terms/creator> “Moltzheim, A. de” .
  • A SPARQL query requires the declaration of PREFIXes that are shortcuts to the labels of given predicates.
  • The different packages of information contained in the Europeana data are described using several classes in the Europeana Data Model (EDM). We invite you to consult our Data structure page and the EDM documentation if you need more details on the model.
  • When formulating a query don’t forget to adjust the LIMIT value which indicates the number of results to be returned by the query. Note that the query may take longer if the number of results asked is high.
  • If you set a LIMIT value but still want to be able to select the range of results you will get within the dataset, adjust the OFFSET value.

A first query

  1. Add your prefixes by selecting them in the SPARQL editor as described above.

For instance a selection of the namespaces dc, edm and ore will give you:

PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
  1. Then SELECT the things you want to find and define names for these variables.

We want all the results with a title, a creator, a media URL and a year.

SELECT ?title ?creator ?mediaURL ?year
  1. Define the variables
WHERE {
  ?item edm:type "SOUND" ;
      ore:proxyIn ?proxy;
      dc:title ?title ;
      dc:creator ?creator .
  ?proxy edm:isShownBy ?mediaURL .
  ?EuropeanaProxy edm:year ?year .
}

In this example you restrict the results to the resources with the edm:type SOUND.

  1. Define a LIMIT
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
SELECT ?title ?creator ?mediaURL ?date
WHERE {
  ?CHO edm:type "SOUND" ;
      ore:proxyIn ?proxy;
      dc:title ?title ;
      dc:creator ?creator ;
      dc:date ?date .
  ?proxy edm:isShownBy ?mediaURL .
}
LIMIT 100

You obtain all the first 100 SOUND resources which have a title, a creator, a media URL and a year.

How to define more complex queries

You can start defining more complex queries which will group, list, filter or order your results. The commands COUNT, GROUP BY and ORDER BY can be used for this purpose.

For instance we want to order our results by year (ascending order)

PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
SELECT ?title ?creator ?mediaURL ?date
WHERE {
  ?CHO edm:type "SOUND" ;
      ore:proxyIn ?proxy;
      dc:title ?title ;
      dc:creator ?creator;
      dc:date ?date .
  ?proxy edm:isShownBy ?mediaURL .
  FILTER (?date > "1780" && ?date < "1930")
}
ORDER BY asc (?date)
LIMIT 100

You will notice that this type of query takes longer as we are asking to the database to not only return results but also to order them.

More examples of SPARQL queries

1. List of data providers which contributed content to Europeana

PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT ?DataProvider
WHERE { ?Aggregation edm:dataProvider ?DataProvider }`

2. List of datasets from Italy

PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT DISTINCT ?Dataset
WHERE {
  ?Aggregation edm:datasetName ?Dataset ;
      edm:country "Italy"
}
3. Objects provided to Europeana from the 18th and from France
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT DISTINCT ?ProvidedCHO ?year
WHERE {
  ?Aggregation edm:aggregatedCHO ?ProvidedCHO ;
      edm:country "France" .
  ?Proxy ore:proxyFor ?ProvidedCHO ;
      edm:year ?year .
  FILTER (?year > "1700" && ?year < "1800")
}
ORDER BY asc(?year)
LIMIT 100
4. Listing of edm:Agent
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT ?Agent
WHERE { ?Agent rdf:type edm:Agent }
LIMIT 100
5. Objects provided to Europeana linking to edm:Place
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT DISTINCT ?ProvidedCHO
WHERE {
  ?Place rdf:type edm:Place .
  ?Proxy ?property ?Place ;
      ore:proxyIn ?Aggregation .
  ?Aggregation edm:aggregatedCHO ?ProvidedCHO
}
6. Objects provided to Europeana linking to skos:Concept from the Getty target vocabulary
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>

SELECT DISTINCT ?ProvidedCHO
WHERE {
  ?Concept rdf:type skos:Concept .
  FILTER strstarts(str(?Concept), "http://vocab.getty.edu/aat/") .
  ?Proxy ?property ?Concept ;
      ore:proxyIn ?Aggregation .
  ?Aggregation edm:aggregatedCHO ?ProvidedCHO
}
LIMIT 100

Further reading

For more details on SPARQL and its different commands, you can refer to those two resources:

We got inspired by these two blogs for writing this page

We thank the authors for their interest in data.europeana.eu!

See the Europeana LOD Google Group for a discussion on this topic.

Data structure

This page provides information on how the metadata served by data.europeana.eu is organised.

We assume that the reader has extensive knowledge of Linked Data technology. Data.europeana.eu has also been described in the technical paper presented at the Dublin Core 2011 conference.

Background - The Europeana Data Model (EDM)

The Europeana Data Model has replaced the previous model Europeana Semantic Elements (ESE). It is a much more flexible and precise model than ESE, and offers the opportunity to attach every statement to the specific resource it applies to, and to reflect some basic form of data provenance. The main EDM requirements include:

  • distinguishing between a 'provided item' (painting, book) and its digital representations

  • distinguishing between an item and the metadata record describing it

  • allowing the ingestion of multiple records for the same item, which may contain contradictory statements about it

As a consequence of EDM having to meet these requirements, EDM data has a level of complexity above that which Europeana currently maintains. This level of complexity is comparable to what can be found in the data of many Europeana providers, and thus, we argue, it enables better exploitation of that data. Note also that, as much as possible, EDM re-uses elements coming from already-established vocabularies, such as Dublin Core, OAI-ORE, SKOS and CIDOC-CRM, thus lowering the cost of its creation and, hopefully, its adoption.

For more information on EDM, we refer to the EDM Definitions and EDM Primer on Europeana's technical documents page. The EDM OWL ontology is accessible through content negotiation but it is also directly available. Please be aware that both data.europeana.eu and those documents are under constant revision. There could therefore be some (minor) discrepancies between them!

Generating EDM data for Europeana

Data.europeana.eu includes semantic connections to external (linked data) sources. The vast majority of external links come from semantic enrichment realised at the Europeana Office, connecting Europeana items to places (as provided by GeoNames), concepts (from the GEMET thesaurus), persons (from DBpedia) and time periods (from an adhoc time period vocabulary). But the number of external links provided by data providers is constantly growing including links to AAT , GND, Iconclass, VIAF) or any domain vocabulary following the EDM recommendations for metadata on contextual resources.

A walk through the resources served at data.europeana.eu

The core EDM classes, together with the properties we expect to be applied to their instances, are presented in these templates. Of course it is unrealistic that all of the EDM properties are used for any single object exposed in Europeana. The EDM data harvested from Europeana providers, as well as the enrichment work by Europeana, allow us to create and describe a network of EDM resources for every Europeana object, as shown in this big picture example. The following explains in more detail the data that can be found for every class of resource served by data.europeana.eu:

Item (Provided Cultural Heritage Object): Item resources represent objects (painting, book, etc.) for which institutions provide digital representations to be accessed through Europeana. Provided Cultural Heritage Object (CHO) URIs (for example, http://data.europeana.eu/item/92037/_http___www_bl_uk_onlinegallery_onlineex_crace_t_zoomify87870_html3, (raw data) are the main entry points in data.europeana.eu. A provided CHO is the hub of the network of relevant resources (cf. below). When applicable, the Europeana URIs for these objects also link, via 'owl:sameAs' statements, to other linked data resources about the same object. In data.europeana.eu, no descriptive metadata (creator, subject, etc.) is directly attached to item URIs. It is instead attached to the proxies that represent a view of the object, from a specific institution's perspective (either a Europeana provider or Europeana itself).

Item

Provider's proxy: These resources (for example, http://data.europeana.eu/proxy/provider/92037/_http___www_bl_uk_onlinegallery_onlineex_crace_t_zoomify87870_html; (raw data) are used as subjects of descriptive statements (creator, subject, date of creation, etc.) for the item, which are contributed by a Europeana provider. In the OAI-ORE model, proxies enable the separation of different views for the same resource, in the context of different aggregations. This allows us to distinguish the original metadata for the object from the metadata that is created by Europeana, an important requirement for us. Descriptive properties that apply to these proxies mostly come from Dublin Core : view an example. Proxies are connected to the item they represent a facet of using the 'ore:proxyFor' property. They are attached to the aggregation that contextualises them using 'ore:proxyIn'. Note to the reader: given the lack of support for named graphs (aka 'quadruples') in the RDF standard, ORE introduced proxies in order to support referencing resources in the context of a graph. Eventually, named graphs may be natively supported by RDF, which would lead to obsolescence of the proxy construct.

Providers Proxy

Provider's aggregation: These resources (e.g., http://data.europeana.eu/aggregation/provider/92037/_http___www_bl_uk_onlinegallery_onlineex_crace_t_zoomify87870_html; (raw data) provide data related to a Europeana provider's gathering of digitised representations and descriptive metadata for an item. As shown in this data, they are related to digital resources about the item, be they files directly representing it ('edm:object' and 'edm:isShownBy') or webpages showing the object in context ('edm:isShownAt'). They may also provide controlled rights information applying to these resources ('edm:rights'). Other statements provided in the same ESE record as the descriptive metadata for the item – but that do not always clearly apply to it – are also attached to aggregations. Finally, provenance data is given in statements using 'edm:provider' (the direct provider to Europeana in the data aggregation chain) or 'edm:dataProvider' (the cultural institution that curates the object). The aggregation is connected to the item resource using the 'edm:aggregatedCHO' property.

Providers Aggregation

Europeana's proxy: The second type of proxies served at data.europeana.eu. are Europeana proxies (e.g., http://data.europeana.eu/proxy/europeana/92037/_http___www_bl_uk_onlinegallery_onlineex_crace_t_zoomify87870_html; (raw data) which provide access to the metadata created by Europeana for a given item, distinct from the metadata provided by the provider. Here one can find 'edm:year' statements, indicating a normalised date associated with the object. We also serve millions of generic 'edm:hasMet' enrichments, created by Europeana from a range of ESE descriptive fields (read documentation). These statements connect a Europeana proxy to places from GeoNames, concepts from the GEMET thesaurus, persons from DBpedia and periods from an adhoc time vocabulary. Finally, a proxy is connected to the item it represents a facet of, using the 'ore:proxyFor' property, as well as to the aggregation that contextualises it, using 'ore:proxyIn'.

Europeana Proxy

Europeana's aggregation: a Europeana aggregation (for example, [http://data.europeana.eu/aggregation/europeana/92037/_http___www_bl_uk_onlinegallery_onlineex_crace_t_zoomify87870_html, (raw data) bundles together the result of all data creation and aggregation efforts for a given item. It aggregates the provider's aggregation (using ore:aggregates), which in turn will connect to the provider's proxy. Next to the provider aggregation, one can find the digitised resources Europeana.eu serves for the item, i.e., an object page ('edm:landingPage') and a thumbnail (using a combination of 'edm:hasView' and 'foaf:thumbnail'). The Europeana proxy is also connected to this aggregation, as mentioned above.

Europeana Aggregation

Namespaces used in data.europeana.eu

The following RDF namespace abbreviations are currently used in data.europeana.eu:

Linked Open Data FAQ

This page addresses the most important points of the Linked Open Data pilot.

Learn more

Linked Open Data Credits

We thank all the contributors to the Europeana Linked Open Data service ! If you have any questions or feedback, contact us on the Europeana LOD group

Learn more
top