OAI PMH
Table of Contents
This provides background for the implementation summarized in the OAI-PMH documentation.
The following is with reference to the Open Archives Initiative Protocol for Metadata Harvesting. The University of Chicago Library has supported an OAI-PMH provider since 2005. For background, see Muriel Foulonneau, Timothy W. Cole, Charles Blair, Peter C. Gorman, Kat Hagedorn, and Jenn Riley, “The CIC metadata portal: A Collaborative Effort in the Area of Digital Libraries”, Science & Technology Libraries, Vol. 26, No. 3/4, 2006, 111-135. Some of the examples below are taken from this implementation. The goal of the current implementation is two-fold: (1) to leverage the OCHRE RDF EDM publication database to supply metadata for the OAI-PMH provider; (2) to implement the facility to publish metadata not just as Dublin Core but also according to the EDM specification. Both of these are explored in what follows.
OAI-PMH supports six verbs:
"Identify" "ListMetadataFormats" "ListSets" "GetRecord" "ListIdentifiers" "ListRecords"
1 Identify
https://oai-pmh.lib.uchicago.edu/?verb=Identify
This is static content coming from the OAI-PMH provider itself.
Note the following in the output:
<sampleIdentifier>https://ark.lib.uchicago.edu/ark:61001/b25p7648f44x</sampleIdentifier>
2 ListMetadataFormats
https://oai-pmh.lib.uchicago.edu/?verb=ListMetadataFormats
This is static content coming from the OAI-PMH provider itself. This implementation supports oaidc (unqualified Dublin Core), which the protocol requires, and edm (Europeana Data Model).
<metadataFormat>
<metadataPrefix>oai_dc</metadataPrefix>
<schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
<metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
</metadataFormat>
<metadataFormat>
<metadataPrefix>edm</metadataPrefix>
<schema>http://www.europeana.eu/schemas/edm/EDM.xsd </schema>
<metadataNamespace>http://www.europeana.eu/schemas/edm/</metadataNamespace>
</metadataFormat>
The values of the schema and metadataNamespace elements for edm are taken from https://oai.bnportugal.gov.pt/servlet/OAIHandler (see below).
3 ListSets
https://oai-pmh.lib.uchicago.edu/?verb=ListSets
Let us query the RDF EDM publication database for this and parse the results, for example:
SELECT * { GRAPH ?g {}
<http://lib.uchicago.edu/chopin-early-editions>
<http://lib.uchicago.edu/digital-south-asia-library>
<http://lib.uchicago.edu/goodspeed-manuscript-collection>
<http://lib.uchicago.edu/gregorian-chant-manuscripts>
<http://lib.uchicago.edu/mapping-chicagoland>
<http://lib.uchicago.edu/middle-east-photograph-archive>
<http://lib.uchicago.edu/rose-and-chess>
<http://lib.uchicago.edu/social-scientists-map-chicago>
<http://lib.uchicago.edu/speculum-romanae-magnifientiae>
<http://lib.uchicago.edu/university-of-chicago-convocation-programs>
<http://lib.uchicago.edu/yerkes-observatory-historical-collection>
Make sure that named graphs are included for all triples in all collections in the RDF EDM triplestore; the above shows the convention used for named graphs in SPARQL queries.
Named graphs will correspond to what OAI-PMH calls “sets”.
“a setSpec – a colon [:] separated list indicating the path from the root of the set hierarchy to the respective node. Each element in the list is a string consisting of any valid URI unreserved characters, which must not contain any colons [:]. Since a setSpec forms a unique identifier for the set within the repository, it must be unique for each set. Flat set organizations have only sets with setSpec that do not contain any colons [:].” The Open Archives Initiative Protocol for Metadata Harvesting. 2.6 Set
In light of this, let us not only eliminate the colons but also simplify the naming, since everything after “lib.uchicago.edu” must be unique to avoid collisions in the triplestore. Therefore, we shall follow the convention of UChicagoNode Collection Names, as shown above.
1 Each of our collections currently has a brief description. It is an open question at the moment where these brief “collection records” should be stored. However, since brief collection records will feature in the interface, it is reasonable to imagine they will exist in OCHRE and be exposed to the XML publication database. What we might want to do is add a dcterms:isPartOf [collection] to each ProvidedCHO, and in turn add a dcterms:hasPart [providedCHO] to each collection record, which will contain its description in dc:description. (We can consider the collection as a providedCHO.) Note, however, that https://oai.bnportugal.gov.pt/servlet/OAIHandler?verb=ListSets does not include setDescription.
2 It seems easiest for programming purposes to use fn:inCollection predicates added to the ore:Aggregation (see General EDM Template) to support ListSets.
3 Let this be static content coming from the OAI-PMH provider itself, using the convention for named graphs and fn:inCollection for setSpec, using their normal spelled out forms for setName, and the contents of the corresponding About pages in UChicagoNode for the setDescription.
4 GetRecord
Here is the example from The Open Archives Initiative Protocol for Metadata Harvesting. 4.1 GetRecord
http://arXiv.org/oai2?verb=GetRecord&identifier=oai:arXiv.org:cs/0112017&metadataPrefix=oai_dc
<?xml version="1.0" encoding="UTF-8"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2002-02-08T08:55:46Z</responseDate>
<request verb="GetRecord" identifier="oai:arXiv.org:cs/0112017"
metadataPrefix="oai_dc">http://arXiv.org/oai2</request>
<GetRecord>
<record>
<header>
<identifier>oai:arXiv.org:cs/0112017</identifier>
<datestamp>2001-12-14</datestamp>
<setSpec>cs</setSpec>
<setSpec>math</setSpec>
</header>
<metadata>
<oai_dc:dc
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Using Structural Metadata to Localize Experience of
Digital Content</dc:title>
<dc:creator>Dushay, Naomi</dc:creator>
<dc:subject>Digital Libraries</dc:subject>
<dc:description>With the increasing technical sophistication of
both information consumers and providers, there is
increasing demand for more meaningful experiences of digital
information. We present a framework that separates digital
object experience, or rendering, from digital object storage
and manipulation, so the rendering can be tailored to
particular communities of users.
</dc:description>
<dc:description>Comment: 23 pages including 2 appendices,
8 figures</dc:description>
<dc:date>2001-12-14</dc:date>
</oai_dc:dc>
</metadata>
</record>
</GetRecord>
</OAI-PMH>
1 We note that this record belongs to two sets. (If one clicks on the link above, there is now only one, but we are following the documentation as written.) The question arises how to engineer this for collections such as Campus Publications, where a record might belong both to Campus Publications and (e.g.) Convocation Programs. See Section 2.6 Set of The Open Archives Initiative Protocol for Metadata Harvesting.
2 We also note that the identifier appears in the header of the record. For this implementation it could be a dc:identifier such as https://ark.lib.uchicago.edu/ark:61001/b2m029n2bp5k.
5 ListIdentifiers
https://oai.lib.uchicago.edu/?verb=ListIdentifiers&metadataPrefix=oai_dc
<header>
<identifier>oai:lib.uchicago.edu:apf7-04079-012</identifier>
<datestamp>2021-03-08T14:51:52Z</datestamp>
<setSpec>ucpa</setSpec>
</header>
The identifier in an EDM-based implementation could be something like oai:ark:61001/b2m029n2bp5k, extracting it from the value of dc:identifier.
6 ListRecords
https://oai.lib.uchicago.edu/?verb=ListRecords&metadataPrefix=oai_dc
The specification ad loc. indicates that one can include the two following optional arguments:
from an optional argument with a UTCdatetime value, which specifies a lower bound for datestamp-based selective harvesting.
until an optional argument with a UTCdatetime value, which specifies a upper bound for datestamp-based selective harvesting.
The current OAI-PMH provider supports these. To do this with a provider pulling data from the RDF EDM triplestore, let’s consider using the ore:ResourceMap:
<b9m865s34c01/rem>
dcterms:creator <https://dldc.lib.uchicago.edu/> ;
dcterms:created "2022-02-09T11:21:52-06:00"^^xsd:dateTime ;
dcterms:modified "2022-02-09T11:21:52-06:00"^^xsd:dateTime ;
ore:describes <b9m865s34c01/aggregation> ;
a ore:ResourceMap .
If triples are added or modified, change dcterms:modified. The OAI-PMH provider will then query the triplestore to see whether new records have been created or modified after a set date.
In the current implementation, there is a mismatch between identifiers in the header and the body of a record in the response: the first is a local identifier; the second is a persistent identifier. We need to derive the former from the latter as discussed above under GetRecord and ListIdentifiers.
The following are the verbs which an OAI-PMH provider must support.
CB = Charles Blair. SG = Shawn Goodwin.
Identify | GetRecord | ListIdentifiers (Resumption) | ListMetadataFormats | ListRecords (Resumption) | ListSets (Resumption)
0.1. Identify
OCLC no longer supports the OAIcat toolkit mentioned in the second description element from the Serviço OAI Identify Request of the Repositório OAI-PMH da BNP. This is the sampleIdentifier in the response.
<sampleIdentifier>oai:oai.bn.pt:set/123</sampleIdentifier>
This is Europeana's Identify response. European's response does not include sampleIdentifier.
This is the Library's. This is the sampleIdentifier in the response.
<sampleIdentifier>oai:lib.uchicago.edu:apf2-00001</sampleIdentifier>
This response will be generated by the OAI-PMH provider itself, without recourse to the triplestore.
We will change sampleIdentifier to something like
<sampleIdentifier>https://n2t.net/ark:61001/b25p7648f44x</sampleIdentifier>
We derive this from dc:identifier in edm:ProvidedCHO. CB
0.2. GetRecord
In the GetRecord request below, note that the repository identifier for the record is listed in the header, but local identifiers are listed in the body. This is something we need to deal with in our metadata for export as well. See also the related discussion in OAI-PMH.
The task here is to derive the first of these from the second of these. CB
Serviço OAI GetRecord
identifier: oai:oai.bn.pt:jornais/98790
metadataPrefix: oai_dc
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2024-09-30T22:51:53Z</responseDate>
<request verb="GetRecord" identifier="oai:oai.bn.pt:jornais/98790" metadataPrefix="oai_dc">https://oai.bnportugal.gov.pt/servlet/OAIHandler</request>
<GetRecord>
<record>
<header>
<identifier>oai:oai.bn.pt:jornais/98790</identifier>
<datestamp>2024-05-14</datestamp>
</header>
<metadata>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>Migalhas de história portugueza</dc:title>
<dc:title>Migalhas de história portuguesa</dc:title>
<dc:creator>Chagas, Pinheiro, 1842-1895</dc:creator>
<dc:subject>821.134.3-94"18", por</dc:subject>
<dc:description>Monografia</dc:description>
<dc:publisher>Parceria A.M. Pereira</dc:publisher>
<dc:publisher>Lisboa</dc:publisher>
<dc:date>1900</dc:date>
<dc:type>material textual, impresso</dc:type>
<dc:format>203, [6] p., 19 cm</dc:format>
<dc:identifier>Id. do registo: 98790</dc:identifier>
<dc:identifier>Cota: BN-H.G. 32817 P.</dc:identifier>
<dc:identifier>Cota: BN-L. 101057 P.</dc:identifier>
<dc:relation>António Maria Pereira; 22</dc:relation>
<dc:language>por</dc:language>
</oai_dc:dc>
</metadata>
</record>
</GetRecord>
</OAI-PMH>
The following is the result of a request using the same identifier but metadataPrefix edm. Compared to what is listed at the bottom of this page, what's missing is WebResource.
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
<responseDate>2024-09-16T16:33:13Z</responseDate>
<request verb="GetRecord" identifier="oai:oai.bn.pt:jornais/98790" metadataPrefix="edm">https://oai.bnportugal.gov.pt/servlet/OAIHandler</request>
<GetRecord>
<record>
<header>
<identifier>oai:oai.bn.pt:jornais/98790</identifier>
<datestamp>2024-05-14</datestamp>
</header>
<metadata>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:wgs84_pos="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:odrl="http://www.w3.org/ns/odrl/2/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdaGr2="http://rdvocab.info/ElementsGr2/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:edm="http://www.europeana.eu/schemas/edm/">
<edm:ProvidedCHO rdf:about="http://oai.bn.pt/jornais/98790">
<dc:identifier>CALLNUMBER-H.G. 32817 P.</dc:identifier>
<dc:identifier>CALLNUMBER-L. 101057 P.</dc:identifier>
<dc:title xml:lang="por">Migalhas de história portugueza</dc:title>
<dcterms:alternative>Migalhas de história portuguesa</dcterms:alternative>
<dc:creator>Chagas, Pinheiro, 1842-1895</dc:creator>
<dc:description xml:lang="por">Monografia</dc:description>
<dc:description xml:lang="eng">Monographic bibliographic item</dc:description>
<dc:publisher>Parceria A.M. Pereira</dc:publisher>
<dcterms:spatial>Lisboa</dcterms:spatial>
<dc:type>FGMON</dc:type>
<dc:type xml:lang="por">material textual, impresso</dc:type>
<dc:type xml:lang="eng">language materials, printed</dc:type>
<dc:format xml:lang="por">203, [6] p.</dc:format>
<dcterms:extent xml:lang="por">19 cm</dcterms:extent>
<dc:relation xml:lang="por">António Maria Pereira; 22</dc:relation>
<dc:language>por</dc:language>
<edm:type>TEXT</edm:type>
<dcterms:issued>1900</dcterms:issued>
</edm:ProvidedCHO>
<ore:Aggregation rdf:about="http://oai.bn.pt/jornais/98790#aggregation">
<edm:aggregatedCHO rdf:resource="http://oai.bn.pt/jornais/98790"/>
<edm:dataProvider>Biblioteca Nacional de Portugal</edm:dataProvider>
<edm:provider>Biblioteca Nacional de Portugal</edm:provider>
<edm:isShownAt rdf:resource="http://id.bnportugal.gov.pt/bib/catbnp/98790"/>
</ore:Aggregation>
</rdf:RDF>
</metadata>
</record>
</GetRecord>
</OAI-PMH>
0.3. List Identifiers
<header>
<identifier>oai:oai.bn.pt:jornais/561334</identifier>
<datestamp>2023-06-11</datestamp>
</header>
<header>
<identifier>oai:oai.bn.pt:jornais/1811525</identifier>
<datestamp>2023-06-12</datestamp>
</header>
https://oai.lib.uchicago.edu/?verb=ListIdentifiers&metadataPrefix=oaidc
<header>
<identifier>oai:lib.uchicago.edu:apf7-04079-012</identifier>
<datestamp>2021-03-08T14:51:52Z</datestamp>
<setSpec>ucpa</setSpec>
</header>
<header>
<identifier>oai:lib.uchicago.edu:apf4-03060</identifier>
<datestamp>2017-09-28T15:37:23Z</datestamp>
<setSpec>ucpa</setSpec>
</header>
The setSpec comes from an example in the standard. Note that the example lists two instances of setSpec for the same resource, which we will want to support (see discussion of MLC in the first part of this document).
<setSpec>physic:hep</setSpec>
<setSpec>physic:exp</setSpec>
0.4. List MetadataFormats
Serviço OAI ListMetadataFormats provides us with an example of the namespace specification for EDM (see the first part of this document).
identifier: oai:oai.bn.pt:jornais/98790
<metadataFormat>
<metadataPrefix>edm</metadataPrefix>
<schema>http://www.europeana.eu/schemas/edm/EDM.xsd</schema>
<metadataNamespace>http://www.europeana.eu/schemas/edm/</metadataNamespace>
</metadataFormat>
This response is generated by the OAI-PMH provider itself, without recourse to the triplestore. CB
0.5. List Records
See Serviço OAI ListRecords Request for an example of a deleted record.
<record>
<header status="deleted">
<identifier>oai:oai.bn.pt:jornais/1950017</identifier>
<datestamp>2017-01-03</datestamp>
</header>
</record>
It was requested from Serviço OAI ListRecords Request as follows.
#+BEGINSRChttp://oai.lib.uchicago.edu/?verb=Identify from: 2017-01-01 until: 2017-12-31 set: jornais metadataPrefix: edm #+ENDSRC
This shows an interface from Repositório OAI-PMH da BNP which UChicagoNode might want to adopt. (The six OAI-PMH verbs are listed for selection across the top once a verb is selected.)
0.6. ListSets
Here are a few examples from Serviço OAI ListSets of the Repositório OAI-PMH da BNP. These use short set names as we do currently and as we proposed to keep doing in the first part of this document. However, these do not include setDescription, unlike the Library's response.
<set>
<setSpec>belasartes</setSpec>
<setName>Colecção de Belas Artes </setName>
</set>
<set>
<setSpec>porbase</setSpec>
<setName>PORBASE - Base Nacional de Dados Bibliográficos (Portuguese Union Catalogue)</setName>
</set>
<set>
<setSpec>agris</setSpec>
<setName>Colecção para a rede AGRIS - FAO (collection for the AGRIS - FAO network)</setName>
</set>
It seems best to maintain this information in the triplestore, since some of it will be used in the interface. The OAI-PMH provider will query it from there. SG
2026-06-08. The OAI-PMH provider is currently deriving it from a file that looks like this:
"Chopin Early Editions".
"Digital South Asia Library".
"Goodspeed Manuscript Collection".
"Mapping Chicagoland".
"Middle East Photograph Archive".
"Rose and Chess".
"Social Scientists Map Chicago".
"Yerkes Observatory Historical Collection".
"University of Chicago Campus Publications".
"University of Chicago Campus Publications:University of Chicago Convocation Programs".
1. The following is from Guide to creating a IIIF manifest for EDM records
…metadataPrefix=edm[&set=speculum (for example)
Original EDM (from OAI provider)
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:edm="http://www.europeana.eu/schemas/edm/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:wgs84_pos="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:ore="http://www.openarchives.org/ore/terms/">
<edm:ProvidedCHO xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="ZOBODATXLANDOOEXAUSTRIAX6894095">
<dc:identifier>BIOZOOELM - ZOBODAT - 6894095</dc:identifier>
<dc:title>Colletes maroccanus Warncke, 1978</dc:title>
<dc:relation>http://www.biodiversitylibrary.org/name/Colletes_maroccanus_Warncke%2C_1978</dc:relation>
<dc:type>Specimen</dc:type>
<dcterms:spatial rdf:resource="geo:30.75,-6.8"/>
<edm:hasMet rdf:resource="geo:30.75,-6.8"/>
<edm:hasType rdf:resource="http://rs.tdwg.org/dwc/terms/Specimen"/>
<edm:type>IMAGE</edm:type>
</edm:ProvidedCHO>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100544.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100545.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100546.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100547.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100548.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100549.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100550.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/bilder/belege/00100551.jpg">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:WebResource xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://www.zobodat.at/belege_detail.php?id=6894095">
<dc:format>text/html</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:Place xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="geo:30.75,-6.8">
<wgs84_pos:lat>30.75</wgs84_pos:lat>
<wgs84_pos:long>-6.8</wgs84_pos:long>
<skos:prefLabel>Djebel Tifernine</skos:prefLabel>
<skos:note/>
</edm:Place>
<ore:Aggregation xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:meta="http://rs.tdwg.org/dwc/text/" xmlns:gbif="http://rs.gbif.org/terms/1.0/" rdf:about="http://web-openup.nhm.ac.uk/oai-provider/index.php?form=display&oaiid=ZOBODAT%3ALANDOOE%3AAUSTRIA%2F6894095&db=0">
<edm:aggregatedCHO rdf:resource="ZOBODATXLANDOOEXAUSTRIAX6894095"/>
<edm:dataProvider>Biologiezentrum der Oberoesterreichischen Landesmuseen</edm:dataProvider>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100545.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100546.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100547.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100548.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100549.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100550.jpg"/>
<edm:hasView rdf:resource="http://www.zobodat.at/bilder/belege/00100551.jpg"/>
<edm:isShownAt rdf:resource="http://www.zobodat.at/belege_detail.php?id=6894095"/>
<edm:isShownBy rdf:resource="http://www.zobodat.at/bilder/belege/00100544.jpg"/>
<edm:object rdf:resource="http://www.zobodat.at/bilder/belege/00100544.jpg"/>
<edm:provider>OpenUp!</edm:provider>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</ore:Aggregation>
</rdf:RDF>
Enriched EDM
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:doap="http://usefulinc.com/ns/doap#" xmlns:edm="http://www.europeana.eu/schemas/edm/" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:svcs="http://rdfs.org/sioc/services#" xmlns:wgs84_pos="http://www.w3.org/2003/01/geo/wgs84_pos#">
<edm:ProvidedCHO rdf:about="ZOBODATXLANDOOEXAUSTRIAX6894095">
<dc:identifier>BIOZOOELM - ZOBODAT - 6894095</dc:identifier>
<dc:title>Colletes maroccanus Warncke, 1978</dc:title>
<dc:relation>http://www.biodiversitylibrary.org/name/Colletes_maroccanus_Warncke%2C_1978</dc:relation>
<dc:type>Specimen</dc:type>
<dcterms:spatial rdf:resource="geo:30.75,-6.8"/>
<edm:hasMet rdf:resource="geo:30.75,-6.8"/>
<edm:hasType rdf:resource="http://rs.tdwg.org/dwc/terms/Specimen"/>
<edm:type>IMAGE</edm:type>
</edm:ProvidedCHO>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100544.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100545.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100546.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100547.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100548.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100549.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100550.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://dev.ait.co.at/iiif/00100551.tif/full/max/0/default">
<dc:format>jpg</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
<dcterms:isReferencedBy rdf:resource="http://dev.ait.co.at/manifests/manifest_00100544.json"/>
<svcs:has_service rdf:resource="http://dev.ait.co.at/iiif/00100544.tif"/>
</edm:WebResource>
<edm:WebResource rdf:about="http://www.zobodat.at/belege_detail.php?id=6894095">
<dc:format>text/html</dc:format>
<dc:rights>CC BY-SA</dc:rights>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</edm:WebResource>
<edm:Place rdf:about="geo:30.75,-6.8">
<wgs84_pos:lat>30.75</wgs84_pos:lat>
<wgs84_pos:long>-6.8</wgs84_pos:long>
<skos:prefLabel>Djebel Tifernine</skos:prefLabel>
<skos:note/>
</edm:Place>
<ore:Aggregation rdf:about="http://web-openup.nhm.ac.uk/oai-provider/index.php?form=display&oaiid=ZOBODAT%3ALANDOOE%3AAUSTRIA%2F6894095&db=0">
<edm:aggregatedCHO rdf:resource="ZOBODATXLANDOOEXAUSTRIAX6894095"/>
<edm:dataProvider>Biologiezentrum der Oberoesterreichischen Landesmuseen</edm:dataProvider>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100545.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100546.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100547.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100548.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100549.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100550.tif/full/max/0/default"/>
<edm:hasView rdf:resource="http://dev.ait.co.at/iiif/00100551.tif/full/max/0/default"/>
<edm:isShownAt rdf:resource="http://www.zobodat.at/belege_detail.php?id=6894095"/>
<edm:isShownBy rdf:resource="http://dev.ait.co.at/iiif/00100544.tif/full/max/0/default"/>
<edm:object rdf:resource="http://dev.ait.co.at/iiif/00100544.tif/full/max/0/default"/>
<edm:provider>OpenUp!</edm:provider>
<edm:rights rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</ore:Aggregation>
<svcs:Service rdf:about="http://dev.ait.co.at/iiif/00100544.tif">
<dcterms:conformsTo rdf:resource="https://iiif.io/api/image/3.0/"/>
<doap:implements rdf:resource="http://iiif.io/api/image/3/level2.json"/>
</svcs:Service>
</rdf:RDF>